本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
该投影仪是使用ESP8266和小液晶屏来制作的,通过液晶显示屏发出少量的光,且投影到天花板上,而不会破坏黑暗的环境。
硬件部件:
示意图:
代码:
//代码 https://tinkerdoodle.cc/user/_/notebooks/Shared/Tinkerdoodle/ESP8266%20Projector.ipynb
//建议使用Tinkerdoodle编辑和部署代码
from ssd1306 import SSD1306_I2C
from machine import Pin, I2C
from time import sleep
from uos import urandom
width = 128
height = 64
# Pin D0 = GPIO16, Pin D7 = GPIO13
i2c = I2C(-1, scl=Pin(16), sda=Pin(13))
lcd = SSD1306_I2C(128, 64, i2c)
def rand(n):
return int.from_bytes(urandom(2), 'big') % n
def draw_grid(arr):
for i in range(len(arr[0])):
lcd.line(0, 16*i, 127, 16*i, 0)
lcd.line(0, 63, 127, 63, 0)
for i in range(len(arr)):
lcd.line(16*i, 0, 16*i, 63, 0)
lcd.line(127, 0, 127, 63, 0)
def draw_lives(arr):
for i in range(len(arr)):
for j in range(len(arr[i])):
if arr[i][j] == 1:
lcd.fill_rect(16*i, 16*j, 16, 16, 1)
else:
lcd.rect(16*i, 16*j, 16, 16, 1)
def create_lives(w, h):
arr = [[0] * h for _ in range(w)]
for i in range(len(arr)):
for j in range(len(arr[i])):
arr[i][j] = 1 if rand(10) > 6 else 0
return arr
def update_lives(arr):
w = len(arr)
h = len(arr[0])
arr2 = [[0] * h for _ in range(w)]
for i in range(w):
for j in range(h):
l = arr[(w+i-1)%w][j]
r = arr[(i+1)%w][j]
u = arr[i][(h+j-1)%h]
d = arr[i][(j+1)%h]
lu = arr[(w+i-1)%w][(h+j-1)%h]
ld = arr[(w+i-1)%w][(j+1)%h]
ru = arr[(i+1)%w][(h+j-1)%h]
rd = arr[(i+1)%w][(j+1)%h]
n = l + r + u + d + lu + ld + ru + rd
if arr[i][j] == 1:
arr2[i][j] = 1 if n == 2 or n == 3 else 0
else:
arr2[i][j] = 1 if n == 3 else 0
return arr2
arr = create_lives(8, 4)
count = 0
while True:
lcd.fill(0)
draw_lives(arr)
draw_grid(arr)
lcd.show()
arr = update_lives(arr)
sleep(1)
count += 1
if sum([sum(x) for x in arr]) == 0 or count % 60 == 0:
arr = create_lives(8, 4)
鱼和熊掌可以兼得——基于DLP技术的掌上投影仪拆解
2014-11-03
使用 ESP8266 WiFi 模块前你该知道的事
2021-07-14
有到了大出血的时候了!4K激光投影仪——索尼VW870ES
2018-08-31
基于esp8266的便携式无线PM2.5检测电路设计
2020-02-07
基于ESP8266、Arduino+w5100的红外感应蜂鸣报警
2016-04-11
入门指南:TFT彩色显示屏,带Arduino和ESP8266
2020-04-23
使用Websockets控制ESP8266机器人小车
2020-04-22
[项目教程]esp8266+oled天气时钟
2019-08-14
基于ESP8266以及WS2812 LED矩阵实现JPEG动画显示
2020-01-09
基于ESP8266和OLED屏幕实现一个小型播放器
2020-04-23
讨论