led_rgb.ino

Arduino Nicla Sense ME · Archivo : led_rgb.ino · Lenguaje : Arduino · Uso : Cycler les couleurs de la LED RVB

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
}

← Volver a la ficha