#include <SoftwareSerial.h>
SoftwareSerial Serial1(2, 3);
#include <FastLED.h>
#define LED_PIN 4
#define NUM_LEDS 120
CRGB leds[NUM_LEDS];
String comdata = "";
void setup()
{
Serial1.begin(9600);
unsigned char hexdata[7] = {0x04,0x00,0x00,0x00,0x00,0x0D,0x0A};
Serial1.write(hexdata,7);
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
LEDS.showColor(CRGB(32, 0, 0));
delay(250);
LEDS.showColor(CRGB(0, 32, 0));
delay(250);
LEDS.showColor(CRGB(0, 0, 32));
delay(250);
LEDS.showColor(CRGB(32, 32, 32));
delay(250);
LEDS.showColor(CRGB(0, 0, 0));
}
void loop()
{
String comdata;
comdata=Serial1.readString();
for(int i = 0; i < comdata.length(); i++){
if ((comdata[i-1] == 0x0D)&&(comdata[i] == 0x0A)){
if (comdata[i-6] == 0x04){
if ((comdata[i-5] >= 0)&&(comdata[1] <= NUM_LEDS)){
leds [comdata[i-5]*3+1] = CRGB(
用Arduino FastLED.h库制作一条每颗灯珠可独立寻址的WS2812B灯带
最新推荐文章于 2024-06-16 02:47:23 发布
本文介绍如何使用Arduino结合FastLED库来控制WS2812B灯带,实现每个灯珠的独立寻址。通过软串口连接TTL转RS485模块,接收并解析指令,改变灯带颜色。通过示例代码展示了如何根据接收到的数据控制灯带的亮灭状态,确保了长串数据的完整接收。
摘要由CSDN通过智能技术生成