1042浏览
查看: 1042|回复: 0

[ESP8266/ESP32] 基于ESP-NOW协议和ESP32-C3 实现无线控制多个LED彩灯

[复制链接]
本帖最后由 zoey不种土豆 于 2024-9-19 17:14 编辑

Rainbow Lights 是基于 ESP32-C3 的 RGB 灯,使用 ESP-Now 通信协议进行同步。这些灯是用 Fusion360 设计,并用 Ender3 进行3D打印的。这些灯使用了 Adafruits 的 16LED Neopixels 环。

st

这些灯的基本功能是无线同步并根据程序更改颜色。我为它们编程了两种模式:
模式 1:当触摸任一颜色的灯时,所有的灯泡都会发出该颜色的光,持续2秒钟后恢复原始的颜色。
模式 2:触摸的颜色会常亮至断电或我们触摸其他灯。
这些灯可以用作儿童游戏灯、情绪灯、照片/摄像、背景补光灯等.....
0
01

清单

5x Beetle ESP32-C3
5x WS2812-16 RGB LED Ring
5x 触摸式传感器
5x 按钮<br>
5x 锂离子电池
1x 螺丝套件
1x 白色 3D打印耗材(pla线材)
1x 紫色 3D打印耗材(pla线材)
qd1 qd2  2  3
qd5 qd6  7 8

第 1 步:3D 设计

1

  • 在 Autodesk Fusion 360 中设计了这款灯,大家可直接下载 .stl 文件。
  • 你也可以下载  Rainbow Lamps 文件(单击以在浏览器中查看 3D 设计并下载融合文件)在 Fusion 360 软件中修改我的设计。

    第 2 步:3D 打印

    2

  • 3D 打印 .stl 文件

5x 任何颜色的外壳
5x 白色灯丝盖板
5x ESP32-C3 支架(任何颜色)
5x Neopixel 板(任何颜色)

使用 Ultimaker Cura 进行切片。
[b]设置:层高:2mm
打印速度: 100
不支持在 Ender3 上打印

21  22
23  24

第 3 步:焊接

31  32  33  

  • 用同一包装中提供的接头将 ESP32-C3 模组和扩展板焊接在一起。
  • 参考上图或按引脚名称进行对齐。

    第 4 步:连接

    4

  • 按照电路图所示连接所有电子元件。
  • 开机前请确保所有设备都按图示连接。

    第 5 步:组装

    5

    第 6 步:卡扣

    6

  • 灯部件的设计使其可以卡入在一起。
  • 对齐部件的齿轮并把它们卡扣在一起。
  • Neopixel板可以卡扣式安装在盖子上,然后再将盖子卡扣在外壳上。
    61

    71
    72 73

  • 首先转到 File->Preferences->Additional Boards Manager URL ,并粘贴以下 URL<br>https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  • 然后转到 Tools->Board->Board Manager,搜索 ESP32 并安装。
  • 转到 Sketch->Include Library->Manage Libraries,然后搜索 Adafruit NeoPixel 并插入它。

    第 8 步:编程

  • 点击下载代码
  • 在 Arduino IDE 中打开 .ino 文件。
  • 根据设备编号更改
    deviceNo = 1/2/3/4/5 。
  • 也可以更改 ClearColor = False,以在停留模式下更改颜色。
    // 更改此值
    int deviceNo = 1; // 设备颜色
    bool ClearColor = true;   //是否要清除广播颜色?
    81
    82 83
  • 你需要从 Tools->Board->ESP32 Arduino->ESP32C3 Dev Module 选择开发板类型。
  • 从 Tools->Port 中选择 com 端口号
  • 可以启用或禁用 Tools->USB CDC On Boot 以启用或禁用串行监视器。(除非你在代码中进行更改,不然我更倾向于禁用它)。
  • 点击上传,灯将会以你设定的特定颜色(作为设备号)亮起。

    第 9 步:换色

    91
    92

  • 您可以在代码中更改颜色,我使用了这个简单的颜色选择器并将 RGB 颜色值复制到代码中。
    colorWipe(strip.Color(255,0,0),10);  // Red(Device 1)

    colorWipe(strip.Color(255,255,0),10);  // Yellow (Device 2)

    colorWipe(strip.Color(0,255,0),10);  // Green (Device 3)

    colorWipe(strip.Color(255,0,255),10);  // Pink (Device 4)

    colorWipe(strip.Color(0,0,255),10);  // Blue (Device 5)

    第 10 步:充电

  • 该模块具有板载充电和过载保护功能,所以可通过 ESP32-C3 Module Type C 直接为电池充电。

    第 11 步:展示

    11  111  112
    113
    希望你在制作项目时玩得开心,谢谢!

原作者:Mukesh Sankhla
发布时间:2023.1.4
原文地址:https://community.dfrobot.com/makelog-313022.html


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail