led_rgb.ino
El LED RGB de la Nicla Vision se maneja con macros del core: LEDR (pin 23), LEDG (24, también LED_BUILTIN) y LEDB (25). Este sketch recorre rojo, verde, azul, amarillo y blanco: la prueba visual básica de la placa.
Hardware
Una Arduino Nicla Vision (STM32H7 M7+M4, 23×23 mm) con cámara GC2145, IMU LSM6DSOX, micrófono PDM, ToF (VL53Lx), módulo ESP32 Wi-Fi/BLE y LED RGB (LEDR/G/B). Ningún componente: el LED RGB va embarcado, visible en el canto de la tarjeta de 23×23 mm.
Cableado
Sin cableado. Los tres cátodos se pilotan todo-o-nada por los pines 23/24/25; el core los llama LEDR, LEDG, LEDB.
Funcionamiento
Cada color es una combinación booleana de los tres canales con digitalWrite. Nota docs-db: LEDG sirve también de latido del core M4: apagarlo puede tapar esa indicación.
Ejecución
Programación desde Arduino IDE (core ArduinoCore-mbed) por USB-C; librerías Camera, PDM, LSM6DSOX, WiFiNINA y ArduinoBLE.
Variantes
Fundir colores en RGB (3× analogWrite si el core lo permite en estos pines), mapear un estado del sistema (BLE conectado = azul), o conectar un NeoPixel externo en un pin lógico.
led_rgb.ino
// Nicla Vision : LED RGB embarquée, macros du core :
// LEDR = broche 23, LEDG = 24 (= LED_BUILTIN), LEDB = 25.
// LEDG est aussi le battement du coeur Cortex-M4 (bootM4).
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // LEDG (24)
pinMode(LEDG, OUTPUT);
pinMode(LEDR, OUTPUT);
pinMode(LEDB, OUTPUT);
}
void couleur(bool r, bool g, bool b) {
digitalWrite(LEDG, g);
digitalWrite(LEDR, r);
digitalWrite(LEDB, b);
}
void loop() {
couleur(true, false, false); delay(500); // rouge
couleur(false, true, false); delay(500); // vert
couleur(false, false, true); delay(500); // bleu
couleur(true, true, false); delay(500); // jaune
couleur(true, true, true); delay(500); // blanc
couleur(false, false, false);delay(500); // éteinte
}