37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】189种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百五十二:ESP32-S3-RGB-LED矩阵 WiFi蓝牙陀螺仪姿态传感器QMI8658C开发板

ESP32S3矩阵Matrix开发板之搭建开发环境
1、这里安装《arduino-1.8.19-windows》版本
2、安装开发板ESP32
3、配置ESP32,选择《ESP32 Dev Module》
4、点亮LED灯
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百五十三:ESP32-S3 RGB-LED矩阵开发板 Matrix陀螺仪QMI8658C模块
项目之一:Matrix 搭建开发环境点亮LED灯
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百五十三:ESP32-S3 RGB-LED矩阵开发板 Matrix陀螺仪QMI8658C模块
项目之一:Matrix 搭建开发环境点亮LED灯
*/
// 定义RGB LED的控制引脚
#define PIN_NEOPIXEL 14
// 定义RGB LED的亮度值(范围:0-255)
// 注意:亮度值越大,LED越亮,但不要超过255
#define RGB_BRIGHTNESS 50 // 设置为20%亮度(255的20%)
void setup() {
// 初始化RGB LED控制引脚为输出模式
pinMode(PIN_NEOPIXEL, OUTPUT);
// 注意:neopixelWrite函数内部已经处理了LED的初始化,
// 因此无需在setup中额外初始化LED。
}
// 主循环函数,无限循环执行
void loop() {
// 设置RGB LED为红色(R通道亮度为RGB_BRIGHTNESS,G和B通道为0)
neopixelWrite(PIN_NEOPIXEL, RGB_BRIGHTNESS, 0, 0);
delay(1000); // 保持红色1秒
// 设置RGB LED为绿色(G通道亮度为RGB_BRIGHTNESS,R和B通道为0)
neopixelWrite(PIN_NEOPIXEL, 0, RGB_BRIGHTNESS, 0);
delay(1000); // 保持绿色1秒
// 设置RGB LED为蓝色(B通道亮度为RGB_BRIGHTNESS,R和G通道为0)
neopixelWrite(PIN_NEOPIXEL, 0, 0, RGB_BRIGHTNESS);
delay(1000); // 保持蓝色1秒
// 关闭RGB LED(所有通道亮度为0)
neopixelWrite(PIN_NEOPIXEL, 0, 0, 0);
delay(1000); // 保持关闭状态1秒
}
代码解读
1、亮度控制:
通过宏定义RGB_BRIGHTNESS设置LED的亮度值(范围:0-255)。
示例中设置为50(即20%亮度),可根据实际需求调整。
2、neopixelWrite函数:
该函数直接控制RGB LED的颜色和亮度,参数依次为(引脚, R值, G值, B值)。
每个颜色通道的值范围为0-255,0表示关闭,255表示最大亮度。
3、delay函数:
用于控制每种颜色的显示时间(示例中为1秒)。
可根据需要调整延时时间。
4、注意事项:
确保PIN_NEOPIXEL引脚与实际硬件连接一致。
如果使用其他LED库(如Adafruit_NeoPixel),可能需要调整代码以适配库函数。
亮度值过高可能导致LED过热或损坏,建议根据LED规格选择合适的亮度。
实验场景图 动态图
5、安装相关驱动库
(1)Adafruit NeoPixel 库
(2)Adafruit NeoMatrix 库
(3)Adafruit GFX Library 库
(4)FastLED 库
(5)SensorLib库