🛠 Faire clignoter la LED RGB embarquée
Objetivos
Descubrir el ciclo de compilación y carga en Arduino en la Nicla Sense ME (ABX00050) haciendo parpadear el LED RGB integrado. Particularidad de esta placa: el LED SMLP34RGB2W3 no está conectado a un pin GPIO clásico, sino que es controlado por un circuito dedicado IS31FL3194 (referencia U8) conectado por I²C al microcontrolador nRF52832, y accesible a través de la biblioteca Nicla_System incluida con el core. La propia carga también es inusual: el paquete « Arduino Mbed OS Nicla Boards » no realiza una carga mediante arrastrar y soltar de un archivo .bin, sino que flashea la placa a través de OpenOCD y la interfaz CMSIS-DAP del puente USB integrado (SAMD11).
Material
- Placa Arduino Nicla Sense ME (ABX00050)
- Cable micro-USB de datos (atención, algunos cables son solo de carga)
- PC con Arduino IDE 2.x y el paquete de placas « Arduino Mbed OS Nicla Boards » (v4.6.0 a fecha 2026-10-13)
Código completo
#include "Nicla_System.h"
void setup {
Serial.begin(115200);
nicla::begin; // initialise l'alimentation système et l'accès aux puces
nicla::leds.begin; // démarre le pilote du circuit LED IS31FL3194
}
void loop {
nicla::leds.setColor(red); // rouge plein feu
delay(500);
nicla::leds.setColor(off); // extinction
delay(500);
}
Verificación esperada
Tras la carga, el LED RGB parpadea en rojo una vez por segundo (500 ms encendido, 500 ms apagado). Reemplace red por green, blue o white para verificar los tres canales del controlador. La consola serie a 115200 baudios sigue siendo utilizable para cualquier diagnóstico; el puerto serie es enrutado por el puente USB SAMD11, no por el propio nRF52832.
Errores frecuentes
- Olvidar
nicla::begin: sin esta llamada, la alimentación de los periféricos del sistema no se inicializa y el LED no responde. - Paquete de placas incorrecto seleccionado: se debe elegir « Arduino Mbed OS Nicla Boards » y luego « Arduino Nicla Sense ME », no un core AVR.
- Fallo en la carga si la ruta de la carpeta del sketch contiene espacios (bug conocido ArduinoCore-mbed #1025): mueva el proyecto a una ruta sin espacios.
- Placa invisible en el puerto: el puente SAMD11 puede bloquearse; vuelva a conectarla y, en caso de un sketch que bloquee el procesador, entre en modo bootloader mediante doble pulsación del botón reset justo después de encender la placa.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
led_rgb.inoArduinoimu_bhi260.inoArduinorotation_fusion.inoArduinopression_bmp390.inoArduinonose_electronique.inoArduinoboussole_bmm150.inoArduino