led_rgb.ino

Arduino Nicla Vision · Archivo : led_rgb.ino · Lenguaje : Arduino · Uso : Cycler les couleurs de la LED RGB embarquée

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
}

← Volver a la ficha