led_rgb.ino
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
}