led_rgb.ino
Contraintuitivo pero documentado: el LED RGB del Nicla Sense ME pasa por un driver I2C IS31FL3194, no por digitalWrite. La librería Nicla_System expone nicla::leds.setColor(color): el modismo oficial de testigo de estado de la placa.
Hardware
Una Arduino Nicla Sense ME (nRF52832, solo BLE) con hub Bosch BHI260AP, BMM150, BMP390, BME688, LED RGB en driver I2C y cargador LiPo. La placa sola, por USB o LiPo. El LED RGB va embarcado, visible a través de la carcasa.
Cableado
Sin cableado. El driver I2C es interno; no cablear LED en los pines digitales sin buffer (el manual declara las E/S de baja corriente).
Funcionamiento
nicla::begin alimenta el rail VDDIO_EXT y habilita los drivers; nicla::leds.begin inicializa el IS31FL3194; setColor aplica colores predefinidos (rojo, verde, azul, amarillo, blanco, negro = apagado).
Ejecución
Programación desde Arduino IDE (core ArduinoCore-mbed); librerías Arduino_BHY2 y Nicla_System; USB por puente serie.
Variantes
Mapear un estado (BLE conectado = azul, batería baja = rojo), parpadear temporizando entre setColor, o manejar el brillo vía la API de registros del driver.
led_rgb.ino
// Nicla Sense ME : la LED RVB n'est PAS sur des broches GPIO.
// Elle est pilotée par un circuit IS31FL3194 (I2C) exposé par la
// bibliothèque Nicla_System sous nicla::leds.
#include "Nicla_System.h"
void setup() {
Serial.begin(115200);
nicla::begin(); // alimente VDDIO_EXT, rend les pilotes accessibles
nicla::leds.begin(); // initialise le pilote LED IS31FL3194
}
void loop() {
nicla::leds.setColor(green); delay(500); // « alive »
nicla::leds.setColor(blue); delay(500);
nicla::leds.setColor(red); delay(500);
nicla::leds.setColor(yellow); delay(500);
nicla::leds.setColor(white); delay(500);
nicla::leds.setColor(black); delay(500); // éteinte
}