本帖最后由 闪闪红星心中亮 于 2023-11-16 11:04 编辑
一 任务汇总视频
下面是视频链接
【得捷电子Follow me第2期】任务合集(可选任务:24颗流水灯动画)(修改)-【得捷电子Follow me第2期】任务合集(可选任务:24颗流水灯)-EEWORLD大学堂
二 开发板介绍
本次采用的是 Adafruit ESP32-S3 开发板带TFT屏幕,开发板采用的是上海乐鑫的ESP32-S3芯片。功能强大接口丰富
三 项目介绍
本次follow 2 是需要完成4个任务。我选择的是完成:
1.控制屏幕显示中文
2.网络功能(包括创建wifi热点与连接wifi)
3. 利用按键控制板载led的显示与颜色切换
4. WS2812B效果控制——完成一个Neopixel(12灯珠或以上)控制器,通过按键和屏幕切换展示效果。
以上要求的程序全都选择CircuitPython 语言来进行开发,同时选择官方建议的”在线编辑器”进行开发。
特殊说明,以上任务,除了第二个网络任务,单独列出和展示。其余三个任务程序和展示放在了一起。
任务二 网络功能(包括创建wifi热点与连接wifi)
1. 连接wifi
wifi连接只需要修改相应的配置文件即可。修改开发板文件夹根目录下的 settings.toml文件相应字段。
#默认连接wifi
CIRCUITPY_WIFI_SSID = "FAST"
CIRCUITPY_WIFI_PASSWORD = "12345678"
保存后按板上的rst键,开发板会自动连接wifi,并获取ip地址。
2. wifi热点
#默认连接wifi
CIRCUITPY_WIFI_SSID = "FAST"
CIRCUITPY_WIFI_PASSWORD = "12345678"
以上2行代码可以让手机搜索默认wifi进行连接。
任务一 控制屏幕显示中文
任务三 利用按键控制板载led的显示与颜色切换
任务四 WS2812B效果控制
此三个任务集体展示,如下
#字体点阵设置
font = bitmap_font.load_font("/font/lulu.pcf")
#内容,颜色,位置,大小
text_flow = label.Label(font, text="开始", color=0xFF0000,x = 80,y = 20,scale = 4)
text_wait_flow = label.Label(font, text="wait", color=0xFF0000,x = 80,y = 20,scale = 4)
#关于LED的定义*********
pixe1 = neopixel.NeoPixel(board.NEOPIXEL,1)
pixe2 = neopixel.NeoPixel(board.A0,24)
#颜色控制
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BULE = (0, 0, 255)
#设置按键
btn = DigitalInOut(board.BOOT0)
btn.direction = Direction.INPUT
btn.pull = Pull.UP
while True:
board.DISPLAY.show(text_wait_flow)
if not btn.value:
board.DISPLAY.show(text_flow)
pixe1.fill(RED)
Time.sleep(1)
pixe1.fill(GREEN)
Time.sleep(1)
pixe1.fill(BULE)
Time.sleep(1)
a = 0
for i in range(0,24):
a = i % 23
b = (i+1) % 23
c = (i+2) % 23
d = (i+3) % 23
pixe2.fill((0,0,0))
pixe2[a] = ((255,0,0))
pixe2[b] = ((0,255,0))
pixe2[c] = ((0,0,255))
pixe2[d] = ((255,255,255))
Time.sleep(0.1)
循环体内主要是屏幕会因为按键的动作而触发,每次按下按键,屏幕从“wait”的显示切换到“开始”,并且板载流水灯会依次切换红、绿、蓝,外接24颗流水灯也会依次切换四种颜色流水,动作完毕,屏幕显示“wait”画面。实图如下
四 项目总结
此次任务做的匆忙,但是我觉得该有的都有了,下次一定!!!努力!!加油!!!
五 项目代码
|