【Follow me第二季第4期】RGB Blink
[复制链接]
本帖最后由 garoa 于 2024-12-17 11:16 编辑
RGB 型号
根据官方文档 ABX00053-schematics.pdf,从图1 可知 RGB LED 的型号为:SMLP34RGB2W3;连接方式为:公共阳极。
图1 SMLP34RGB2W3 在 Arduino Nano RP2040 Connect 中的电路原理图
SMLP34RGB2W3 简介:这款 LED 是一种小型的 RGB LED,通常用于指示灯、显示、状态指示等场景。这款 LED 通常是通过调节不同颜色的亮度来显示不同的颜色。具体来说,SMLP34RGB2W3 是一个三合一的RGB LED 组件,它包含了红色(R)、绿色(G)和蓝色(B)三个颜色的LED,可以根据输入的控制信号调节每个 LED 的亮度,从而混合成不同的颜色。具体元器件特性可以查看官方文档 SMLP34RGB series : LEDs。
RGB LED 在 Arduino® Nano RP2040 Connect 中的工作原理
根据官方文档 ABX00053-datasheet.pdf,从图2 可知 RGB LED 是连接在 Nina W102 Wi-Fi/Bluetooth 模块上的。RP 2040 通过 SPI 与 UART 控制 NINA W102 WiFi/BT,来实现 RGB LED 的点亮/熄灭。 从图3 可知 RGB LED 在数字信号为高时熄灭,在数字信号为低时点亮。
图2 Arduino® Nano RP2040 Connect 框图
U-blox Nina W102 简介:这款模块是一款低功耗的 Wi-Fi 和蓝牙无线通信模块,集成了 Wi-Fi 和蓝牙的功能。支持 802.11b/g/n 标准,并且具备蓝牙4.2(低能耗蓝牙,BLE)功能。Wi-Fi功能主要用于与局域网(LAN)或者互联网连接,而蓝牙功能则常用于短距离的设备对设备通信。具体元器件特性可以查看官方文档(文档链接)。
图3 Wi-Fi®/Bluetooth® 的工作原理
演示视频
闪烁功能演示视频
示例代码
代码中 RGB 灯光闪烁的顺序为红色、绿色、蓝色。灯光亮起维持 500 ms,两种灯光间隔为 500 ms。
#include <WiFiNINA.h>
// 定义闪烁的延时时间(单位:毫秒)
const int delayTime = 500; // 每个颜色闪烁的时间为500ms
void setup() {
// 将三色LED灯的引脚设置为输出模式
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
pinMode(LEDB, OUTPUT);
// 确保LED初始状态为熄灭
digitalWrite(LEDR, LOW);
digitalWrite(LEDG, LOW);
digitalWrite(LEDB, LOW);
}
void loop() {
// 依次点亮红色、绿色和蓝色LED灯
// 红色LED闪烁
digitalWrite(LEDR, HIGH); // 点亮红色LED
delay(delayTime); // 等待500ms
digitalWrite(LEDR, LOW); // 熄灭红色LED
delay(delayTime); // 等待500ms
// 绿色LED闪烁
digitalWrite(LEDG, HIGH); // 点亮绿色LED
delay(delayTime); // 等待500ms
digitalWrite(LEDG, LOW); // 熄灭绿色LED
delay(delayTime); // 等待500ms
// 蓝色LED闪烁
digitalWrite(LEDB, HIGH); // 点亮蓝色LED
delay(delayTime); // 等待500ms
digitalWrite(LEDB, LOW); // 熄灭蓝色LED
delay(delayTime); // 等待500ms
}
|