网站建设优化河南,海珠做网站,制作网站哪家好,网站建设捌金手指花总十一提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录rgb彩灯的介绍使用方法连线库操作彩灯变换颜色实验彩灯呼吸灯效果总结提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考
rgb彩灯的介绍
ESP32… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录rgb彩灯的介绍使用方法连线库操作彩灯变换颜色实验彩灯呼吸灯效果总结提示以下是本篇文章正文内容下面案例可供参考
rgb彩灯的介绍
ESP32 RGB彩灯是一种可以通过ESP32开发板控制的灯具它可以实现多种灯光效果如闪烁、跳变、渐变等。使用ESP32 RGB彩灯可以实现远程控制可以通过Wi-Fi或蓝牙连接到ESP32开发板然后使用Arduino IDE编写代码来控制RGB彩灯的亮度和颜色。此外还可以使用PWM波来控制RGB彩灯的亮度以实现更多的灯光效果。使用ESP32 RGB彩灯可以实现多种灯光效果可以为家庭或办公室带来更多的色彩和活力。 B站的RGB彩灯效果展示 Arduino开源硬件编程学习炫酷玩法-RGB全彩灯珠点阵彩灯效果汉字显示字符显示传感器扩展声控音乐效果灯使用方法
连线
pin16连接到rgb彩灯上面即可。
库
需要在软件中选择项目–“加载库”–“管理库”–输入Adafruit_NeoPixel安装即可。
操作
包含头文件#include Adafruit_NeoPixel.h 定义彩灯类Adafruit_NeoPixel pixels(彩灯数量, pin脚, NEO_GRB NEO_KHZ800);
rgb灯珠的开始
pixels.begin();设置亮度
pixels.setBrightness(255);设置全部灯珠颜色
pixels.fill(0xFF0000);清除
pixels.clear();设置指定的灯珠的rgb值
pixels.setPixelColor(index, pixels.Color(r,g,b));显示
pixels.show();彩灯变换颜色实验
我这里只有5个灯珠所以最大灯珠就写了5. #include Adafruit_NeoPixel.h// 设置灯珠数量
#define NUMPIXELS 5// 设置输出数据引脚
#define PIN_NEOPIXEL 16// 初始化灯珠控制实例
Adafruit_NeoPixel pixels(NUMPIXELS, PIN_NEOPIXEL, NEO_GRB NEO_KHZ800);// 当前灯珠指向
int16_t idx 0;// 启动设置
void setup() {// 灯珠控制开始pixels.begin();// 设置亮度为255pixels.setBrightness(255);// 设置灯珠颜色全部关闭pixels.fill(0x000000);delay(100);// 设置灯珠颜色pixels.fill(0xFF0000);delay(100);pixels.clear();
}uint16_t c1 0;
uint16_t c2 0;
uint16_t c3 0;
uint16_t sign_bit 0;
uint16_t sign 1;
// 循环主体程序
void loop() {if(sign_bit 0){//这个if语句在循环体内只运行一次该if语句及下方if语句可以用switch代替if(sign){c1;if(c1255)sign0;}else{c2;if(c2255){sign1;sign_bit 1;}}}if(sign_bit 1){if(sign){c1--;if(c10)sign0;}else{c3;if(c3255){sign1;sign_bit 2;}}}if(sign_bit 2){if(sign){c2--;if(c20)sign0;}else{c1;if(c1255){sign1;sign_bit 3;}}}if(sign_bit 3){if(sign){c3--;if(c30)sign0;}else{c2;if(c2255){sign1;sign_bit 1;}}}//在这里注释的是一个一个将灯珠点亮并实现渐变idx;idx%5;pixels.setPixelColor(idx, pixels.Color(c1,c2,c3));/*全部点亮用该函数pixels.fill(pixels.Color(c1,c2,c3));*/delay(10);//延时改变速度// 显示pixels.show();}
if里面的东西可以直接抄以及上面的变量其他的实验请大家自己完成。
彩灯呼吸灯效果
原理通过setBrightness(255);函数实现。
/* 深圳市普中科技有限公司PRECHIN 普中技术支持www.prechin.net* * 实验名称RGB彩灯实验* * 接线说明RGB彩灯模块--ESP32 IO* WS--(16)* * 实验现象程序下载成功后RGB彩灯循环点亮且循环变化颜色* * 注意事项需要在软件中选择项目--加载库--管理库--输入Adafruit_NeoPixel安装即可。* */#include Adafruit_NeoPixel.h// 设置灯珠数量
#define NUMPIXELS 5// 设置输出数据引脚
#define PIN_NEOPIXEL 16// 初始化灯珠控制实例
Adafruit_NeoPixel pixels(NUMPIXELS, PIN_NEOPIXEL, NEO_GRB NEO_KHZ800);// 当前灯珠指向
int16_t idx 0;// 启动设置
void setup() {// 调试串口速率设置Serial.begin(115200);// 灯珠控制开始pixels.begin();// 设置亮度为255pixels.setBrightness(0);// 设置灯珠颜色全部关闭pixels.fill(0x000000);delay(100);// 设置灯珠颜色pixels.fill(0xFF0000);delay(100);pixels.clear();
}unsigned int bright 0;//定义亮度变量// 循环主体程序
void loop() {pixels.setPixelColor(0,pixels.Color(220,255,251));bright;bright%256;pixels.setBrightness(bright);delay(10);//延时改变速度// 显示pixels.show();}
运行后就可以看到第一个rgb彩灯在变换亮度。 一起变换也是一样的指定index设置亮度就ok了。
总结
大家可以想一些其他的好看的效果并实现他。