本帖最后由 丙丁先生 于 2025-4-14 13:05 编辑
WS2812+ArduinoUNO彩虹灯例程
彩虹灯我观察是呼吸灯和流水灯的结合。 例程是调试Kimi的AI例程, 用到Adafruit_NeoPixel库,
资料: 使用Arduino UNO驱动3个WS2812 LED灯珠是一个很有趣的项目。下面我会详细介绍连接方法和程序代码,帮助你快速上手。 硬件连接 • Arduino UNO:作为主控制器,负责发送控制信号。 • WS2812 LED灯珠:3个灯珠串联,每个灯珠有4个引脚(VCC、GND、DIN、DOUT)。 • 电源:WS2812需要5V电源供电,建议使用独立的电源模块,而不是从Arduino的5V引脚供电,以避免电流过大烧毁Arduino。 • 电阻:在信号线上接一个330Ω的电阻,用于保护信号线。 • 电容:在电源输入端接一个470uF的电解电容,用于滤波,防止电源波动。 连接方式 • 电源连接: • 将WS2812灯珠的VCC引脚连接到5V电源的正极。 • 将WS2812灯珠的GND引脚连接到5V电源的负极和Arduino的GND引脚。 • 信号连接: • 将Arduino的数字引脚(例如D6)连接到WS2812灯珠的DIN引脚。 • 在D6引脚和DIN引脚之间串联一个330Ω的电阻。 • 将WS2812灯珠的DOUT引脚连接到下一个灯珠的DIN引脚,依次串联。 • 电源滤波: • 在5V电源的正负极之间并联一个470uF的电解电容。 程序代码 在Arduino中使用WS2812 LED灯珠,通常会借助`Adafruit NeoPixel`库来简化编程。以下是完整的代码示例: 1.安装Adafruit NeoPixel库 • 打开Arduino IDE。 • 选择“素描”>“包含库”>“管理库...”。 • 在库管理器中搜索“Adafruit NeoPixel”,找到并安装。 2.示例代码
WS2812 Arduino_UNO.rar
(822 Bytes)
代码说明 • Adafruit_NeoPixel库:用于控制WS2812 LED灯珠。 • `rainbowCycle`函数:实现彩虹色循环效果,每个灯珠的颜色会依次变化。 • `Wheel`函数:生成彩虹色,通过调整输入参数可以得到从红到紫的过渡颜色。 运行效果 当你上传并运行这段代码后,3个WS2812 LED灯珠会依次显示彩虹色,颜色会不断循环变化,非常炫酷。 注意事项 • 电源供电:确保WS2812灯珠的电源供电稳定,避免电流过大烧毁灯珠或Arduino。 • 信号完整性:在信号线上串联330Ω电阻,防止信号反射和干扰。 • 电容滤波:在电源输入端并联470uF电容,防止电源波动。 通过以上连接和代码,你就可以轻松驱动3个WS2812 LED灯珠,实现各种炫酷的灯光效果啦! |