Arduino 上手教程
Fire RGB LED 相关 API 与案例程序。
#include <M5Unified.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN 15
#define NUM_LEDS 10
Adafruit_NeoPixel strip(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
M5.Display.setTextDatum(middle_center);
M5.Display.setTextFont(&fonts::Orbitron_Light_24);
M5.Display.setTextSize(1);
M5.Display.drawString("RGB LED Test", M5.Display.width() / 2, M5.Display.height() / 2);
strip.begin();
strip.show();
}
void loop() {
// Red
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(255, 0, 0)); }
strip.show();
delay(500);
// Green
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(0, 255, 0)); }
strip.show();
delay(500);
// Blue
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(0, 0, 255)); }
strip.show();
delay(500);
// Yellow
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(255, 255, 0)); }
strip.show();
delay(500);
// Magenta
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(255, 0, 255)); }
strip.show();
delay(500);
// Cyan
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(0, 255, 255)); }
strip.show();
delay(500);
// White (all on)
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(255, 255, 255)); }
strip.show();
delay(500);
// Black (all off)
for (char i = 0; i <= NUM_LEDS; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); }
strip.show();
delay(500);
}
运行效果:
Fire RGB LED 部分使用了Adafruit NeoPixel
库,更多相关的 API 可以参考下方文档: