Firebeetle 2 ESP32-C5 之 火车上的霓虹灯
2025-10-231920
AI 快速预览详细
本文介绍了一个在火车上使用Firebeetle 2 ESP32-C5和WS2812B灯环制作的霓虹灯项目。通过ESP-Now通信,按键控制灯光变化。硬件包括Firebeetle 2 ESP32-C5开发板、扩展板和WS2812B灯环。程序逻辑简单,通过按键单击或双击控制灯光变化。实际运行效果展示了基本测试、与列车光影同行和霓虹灯效。这个项目为旅途增添了独特的娱乐体验。
|
这几天出差,在火车上的时候,刷刷手机,看看Kindle,还是有些无趣。最后还是掏出了包里的Firebeetle 2 ESP32-C5,打开了而电脑,又找到了一个WS2812B灯环,做了一个火车上的霓虹灯。 ![]() ![]() 下面分享一下制作做的步骤。 一、硬件了解 ![]() 前边是 Firebeetle 2 ESP32-C5开发板 与扩展板,后边是WS2812B灯环。 Firebeetle 2 ESP32-C5就不多说了,单说下这个WS2812B灯环。 这个WS2812B灯环,是24颗灯珠的,每一颗都可以单独控制RGB三种颜色显示,共256*256*256种,约16万种颜色。 那么呢,这个灯环有24颗,(256*256*256)^24,一共有10^173种显示模式,能够让创客们体验到前所未有的显示快感! 另外,我又详细查了一下,已知宇宙中,恒星的数量,少于1*10^24颗。 所以呢,这个灯环所能带来的探索乐趣,是无穷无尽的,哪怕宇宙毁灭,也探索不到尽头。 为了方便控制这个灯环,我在灯环背面,粘接+焊接了一个ESP32-C3小板子。 这次Firebeetle 2 ESP32-C5通过ESP-Now,来与ESP32-C3通信,从而控制WS2812B灯环。 二、程序逻辑 我设计的逻辑处理流程如下: ![]() 两者通信使用的是ESP-Now,参考了Arduino中ESP32下的ESP-Now 广播的例子: ![]() 因为是在火车上,所以我没有做复杂的逻辑。 基本逻辑就是,Firebeetle 2 ESP32-C5上的按键按一下,ESP32-C3控制的WS2812B灯环的彩虹渐变色就变换一下,如果按键双击,那么就快速变化一下。 三、扩展库 这次使用的开发环境是Arduino IDE,具体环境可参考:ESP32C5内测版(ECO1,v0.1)常用开发环境和工具的特殊处理方法 DF创客社区 在 Firebeetle 2 ESP32-C5 上运行的是Master,因为要检测按键,所以我使用到了OneButton扩展库: ![]() 在ESP32-C3上运行的是Slave,因为要控制WS2812B灯环,所以我使用FastLED扩展库: ![]() 四、程序代码 Master代码如下: ![]() ![]() 其中除了ESP-Now原有的通信逻辑外,其他用到核心调用如下: 1. OneButton对象和注册按键调用 ![]() ![]() 2. 按键处理 ![]() ![]() 在按键处理中,使用了下面的调用来通过ESP-Now发送消息: broadcast_peer.send_message((uint8_t *)data, sizeof(data)) Slave的代码如下: ![]() ![]() 其中除了ESP-Now原有的通信逻辑外,其他用到核心调用如下: 1. 颜色定义 ![]() 2. LED对象初始化 ![]() 3. 收到消息后,提取数值,并控制WS2812B灯环显示: ![]() 4. 控制WS2812B灯环逐渐熄灭: ![]() 五、运行效果 代码编写好后,分别烧录到Firebeetle 2 ESP32-C5和ESP32-C3。 Firebeetle 2 ESP32-C5 配置如下: ![]() 烧录运行后,串口日志输出如下: ![]() ESP32-C3配置如下: ![]() 烧录运行后,串口日志输出如下: ![]() 两端都运行后,在Firebeetle 2 ESP32-C5按键(单击或者双击),在ESP32-C3上就会收到信息,并控制WS2812B灯环。 实际的运行效果如下: 1. 基本测试: 2. 与飞驰的列车光影同行 3. 霓虹灯效 在飞驰的列车上,点亮我的的霓虹灯,引来乘务人员友好问候,前后座乘客热心注视,还有车厢小朋友好奇的围观,这趟旅程,格外有意思了。 |
相关帖子
- . 基于ESP32-C5开发板的驱动OLED显示屏之井字棋小游戏
- . 基于ESP32-C5开发板驱动OLED井字棋小游戏
- . 基于FireBeetle 2 ESP32-C5的游戏搭子
- . FireBeetle2-ESP32-C5将方块躲避游戏搬上手机
- . 基于 Firebeetle 2 ESP32-C5 的6通道2.4G 遥控器
- . FireBeetle 2 ESP32-C5开发板 + Air780E 做随身WiFi
- . FireBeetle 2 ESP32-C5之火车上的MP3
- . ESP32-C5 FireBeetle 2 搭建离线版的课堂交互网页
- . FireBeetle 2 ESP32-C5 网络收音机
- . FireBeetle 2 ESP32-C5之大棚环境监测系统





























Magic_Master: Firebeetle 2 ESP32-C5
Magic_Slave: ESP32-C3