一、环境:
平台:arduino IDE 或 VS Code PlatformIO 皆可。
我的是后者,具体为:
框架:VS + PlatformIO + Arduino
第三方库:Adafruit NeoPixel
二、硬件准备:
一个esp32s3,注意:ESP32S3连接的RGB LED引脚,我的是IO48
一台电脑
一根数据线
三、代码功能:
点亮一个RGB LED:
四、下载Adafruit NeoPixel库:
1、点击小蚂蚁图标,进入PIO Home。
2、点击Libraries。
3、输入Adafruit NeoPixel,搜索。
4、点击Adafruit NeoPixel库。
5、点击Add to Project。
6、选择你要把这个库加入到哪个工程。
7、点击Add。
8、在你的工程中,点击 platformio.ini 文件。
9、此时,可以见到你已经把Adafruit NeoPixel库加入到工程。本来结束,但是,还有10。
10、在一系列目录里,有文件夹 example 里面是这个库的各种例程。大家可以多多发掘,尽情享用。
五、最简代码
#include <Adafruit_NeoPixel.h>
#include <Arduino.h>
#define LED_PIN 48 // 板载RGB灯珠的引脚,根据实际使用的开发板型号而定
#define LED_COUNT 1 // LED灯条的灯珠数量(板载的是一颗)
/*
使用 Adafruit_NeoPixel 库创建了一个名为 strip 的对象,控制LED灯珠
LED_COUNT 表示 LED 条上的 LED 数量,LED_PIN 表示连接到 Arduino 的引脚,NEO_GRB + NEO_KHZ800 用于设置 LED 条的颜色排列和通信速率
*/
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.setBrightness(50); // 设置亮度(0-255范围)
}
void loop() {
strip.setPixelColor(0, strip.Color(255, 0, 0)); // 设置灯珠为红色 (R, G, B)
strip.show(); // 显示颜色
delay(1000); // 延迟1秒
strip.setPixelColor(0, strip.Color(0, 255, 0)); // 设置灯珠为绿色 (R, G, B)
strip.show(); // 显示颜色
delay(1000); // 延迟1秒
strip.setPixelColor(0, strip.Color(0, 0, 255)); // 设置灯珠为蓝色 (R, G, B)
strip.show(); // 显示颜色
delay(1000); // 延迟1秒
}
最后,我有话说:
如果文章对你有帮助,我很开心。有疑问,请留言,看到后,我会回复。
借鉴了这位哥哥的文章【ESP32开发】——RGB LED灯(灯珠)点亮_esp32 led-CSDN博客。