m5stack-encoder-motor-led-status.ino
Control del LED RGB programable a través de I2C para retroalimentación visual.
Este ejemplo muestra cómo cambiar el color del LED WS2812C integrado. El LED es controlado por el microcontrolador interno, accesible a través de registros I2C específicos (direcciones indicativas). Esto permite indicar el estado del sistema sin cableado adicional. Consulte la hoja de datos para los registros exactos de control del LED.
m5stack-encoder-motor-led-status.ino
#include <Wire.h>
#include <Adafruit_NeoPixel.h>
// La LED WS2812C est connectée à un GPIO interne du STM32G031
// Pour la contrôler via I2C, on utilise généralement un registre dédié
// ou on accède via la bibliothèque M5Stack qui abstrait cela.
#define I2C_ADDRESS 0x2F
#define REG_LED_R 0x10
#define REG_LED_G 0x11
#define REG_LED_B 0x12
void setup() {
Serial.begin(115200);
Wire.begin();
}
void loop() {
// Rouge : Moteur en marche
setLED(255, 0, 0);
delay(1000);
// Vert : Arrêt
setLED(0, 255, 0);
delay(1000);
// Bleu : Erreur ou Idle
setLED(0, 0, 255);
delay(1000);
}
void setLED(uint8_t r, uint8_t g, uint8_t b) {
Wire.beginTransmission(I2C_ADDRESS);
Wire.write(REG_LED_R);
Wire.write(r);
Wire.write(g);
Wire.write(b);
Wire.endTransmission();
}