led_rgb.ino

Arduino Nicla Vision · Fichier : led_rgb.ino · Langage : Arduino · Usage : Cycler les couleurs de la LED RGB embarquée

La LED RGB de la Nicla Vision se pilote par les macros du core : LEDR (broche 23), LEDG (24, aussi LED_BUILTIN) et LEDB (25). Ce sketch fait défiler rouge, vert, bleu, jaune, blanc — le test visuel de base de la carte.

Matériel requis

Une Arduino Nicla Vision (STM32H7 double cœur M7+M4, 23×23 mm) avec caméra GC2145 2 MP, IMU LSM6DSOX, micro PDM, capteur ToF (famille VL53Lx), module sans fil ESP32 (Wi-Fi/BLE) et LED RGB (LEDR=23, LEDG=24, LEDB=25). Aucun composant : la LED RGB est embarquée, visible sur la tranche de la carte 23×23 mm.

Câblage

Aucun câblage. Les trois cathodes sont pilotées en tout-ou-rien par les broches 23/24/25 ; le core les nomme LEDR, LEDG, LEDB.

Fonctionnement

Chaque couleur est une combinaison booléenne des trois canaux via digitalWrite. Note docs-db : LEDG sert aussi de battement au core M4 — l’éteindre peut masquer cette indication.

Exécution

Programmation via Arduino IDE (core ArduinoCore-mbed, target NICLA_VISION) sur le port USB-C ; bibliothèques Camera, PDM, Arduino_LSM6DSOX, WiFiNINA et ArduinoBLE fournies.

Variantes

Fondre les couleurs en RVB (3× analogWrite si le core le permet sur ces broches), mapper un état système (BLE connecté = bleu), ou brancher un NeoPixel externe sur un port logique.

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
}

← Retour à la fiche