ITPub博客

首页 > 应用开发 > C/C++ > 用ESP32-C3做一个运动按钮

用ESP32-C3做一个运动按钮

原创 C/C++ 作者:派大星ym 时间:2022-11-24 10:30:27 0 删除 编辑

你会用一个按钮做些什么呢?

打开一个灯光?

一个门铃?

还是让人运动起来?



按钮有很多种,但我最喜欢街机按钮,因为它们通常有很好的触感,“咔哒”的感觉。我的工具箱里有几个街机按钮,我一直想用它们做点什么。有一天我灵光闪现,可以利用按钮DIY一个运动装置。我将制作 4 个运动按钮,一个作为主节点,带有支持菜单显示的屏幕,另外三个作为从节点,通过ESP-NOW协议通信。它们都基于 ESP32-C3。



材料清单:

ESP32-C3x4

OLED显示屏

数字蜂鸣器x4

3.7V电池x4

WS2812灯珠x4

游艺机按键x4

电源开关x4

外壳x4



电路连接:

蜂鸣器连接在第(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秒。



我猜此刻你一定是坐着,眼睛注视着显示屏吧!

长时间的久坐,你的腰还好吗?

快起来活动活动,放松一下吧!



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70015303/viewspace-2924883/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-03-16

  • 博文量
    6
  • 访问量
    3330