25824| 41
|
[项目] 用ESP32-C3做一个运动按钮 |
本帖最后由 派大星ym 于 2022-12-15 09:53 编辑 你会用一个按钮做些什么呢? 打开一个灯光? 一个门铃? 还是让人运动起来? 按钮有很多种,但我最喜欢街机按钮,因为它们通常有很好的触感,“咔哒”的感觉。我的工具箱里有几个街机按钮,我一直想用它们做点什么。有一天我灵光闪现,可以利用按钮DIY一个运动装置。我将制作 4 个运动按钮,一个作为主节点,带有支持菜单显示的屏幕,另外三个作为从节点,通过ESP-NOW协议通信。它们都基于 Beetle ESP32-C3,一款来自 DFRobot 的微型控制器。 材料清单:
电路连接: 蜂鸣器连接在第(6)接口上 按钮接线连接在第(5)接口上 ws2812连在第(0)接口上 屏幕连接到I2C接口上 此应用共有4个节点,包含1个主节点和3个从节点,主节点与从节点的区别在于多一个显示屏 硬件组装: 焊接WS2812灯珠(按照GND,VCC,信号的顺序焊接起来) 焊接3.7V充电锂电池 通过Gravity接口快速连接:显示屏/蜂鸣器—ESP32-C3 在塑料外壳上切割出Type-C/显示屏/开关/按钮的切口 安装游艺机按键 安装电源开关 安装显示屏 利用热熔胶固定电池/蜂鸣器 固定ESP32-C3 合上盖子,拧上螺丝 至此已经完成主节点的制作,还需重复上述步骤完成另外3个从节点的制作(从节点不包含显示屏) 上传程序 此应用主从节点之间通过ESP-NOW协议通信,想要通过NOW协议进行通信,还需要获取每个ESP32-C3的唯一MAC地址,这样才知道将信息发送到哪个设备。 把程序里的MAC地址修改为自己的,然后上传 展示玩法: 简单说下游戏规则的设置 在程序里,我预设了三个模式,可以用短按来选择,长按2秒来确认选择。需要切换的时候,随时可以用长按来进入菜单。 模式1-是打地鼠模式 这个模式下,会随机在4个运动按钮上出现红色,需要再最短时间内按下,才能获得成绩。 模式2-是接力模式 在这个模式下,每按一次运动按钮上出现的绿色按钮,下一个运动按钮就会变成绿色。 模式3-是随机模式 在这个模式下,我们按下运动按钮,就会随机的选择一个运动按钮。如果不知道选谁时,可以让机器帮你决定。 还有单个节点的摸高玩法 ESP-NOW延时测试: 为确认NOW协议可以满足通信要求,这样做了一个基本的ESP-NOW通信延时测试,记录节点向另一节点发送信息并收到返回信息的时间,发射和接收信息的延时是4ms左右,单向传播的延时约为2ms左右,相当于1/100秒。 我猜此刻你一定是坐着,眼睛注视着显示屏吧! 长时间的久坐,你的腰还好吗? 快起来活动活动,放松一下吧! 传送门- 相关资料:github 视频——哔哔哩哩 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed