🛠 Premier sketch : faire clignoter une LED sur Arduino Opta
Objectifs
Découvrir l'Arduino Opta, le micro-PLC certifié d'Arduino (STM32H747XI double cœur Cortex-M7 480 MHz + Cortex-M4 240 MHz), en programmant son premier sketch : faire clignoter une LED utilisateur. À la fin de ce tutoriel, vous saurez installer le core, téléverser un sketch et comprendre le brochage de base.
Matériel
- Une carte Arduino Opta (Lite AFX00003, RS485 AFX00001 ou WiFi AFX00002)
- Un câble USB-C pour la programmation
- Un PC avec l'IDE Arduino 2.x
- Aucune alimentation 24 V n'est nécessaire pour ce test : l'USB-C alimente le processeur (mais jamais les relais !)
Code complet
// opta_clignotement_led.ino — core « Arduino Mbed OS Opta Boards »
// Les 4 LED utilisateur sont pilotables via les broches LED1..LED4.
const int LEDS[] = {LED1, LED2, LED3, LED4};
void setup {
Serial.begin(9600);
for (int i = 0; i < 4; i++) {
pinMode(LEDS[i], OUTPUT);
digitalWrite(LEDS[i], LOW);
}
Serial.println("Opta : demo LED prete");
}
void loop {
for (int i = 0; i < 4; i++) {
digitalWrite(LEDS[i], HIGH);
delay(200);
digitalWrite(LEDS[i], LOW);
}
}
Vérification attendue
Les 4 LED utilisateur clignotent en séquence (effet « pont ») toutes les 200 ms. Le moniteur série affiche le message de démarrage. Sur la variante WiFi, une cinquième LED de statut réseau reste gérée par le firmware.
Erreurs fréquentes
- Mauvais core sélectionné : installez « Arduino Mbed OS Opta Boards » (ou le successeur ArduinoCore-zephyr, même API) dans le Boards Manager et choisissez « Arduino Opta ».
- Téléversement impossible : maintenez le bouton RESET deux fois rapidement (double-clic) pour entrer en DFU si le sketch bloque, puis relancez le téléversement.
- Confondre LED utilisateur et sorties relais : les relais (D0..D3) commandent la charge 230 V, les LED1..LED4 sont de simples voyants logiques.
- Oublier l'alimentation 12–24 VDC en exploitation : l'USB-C ne peut jamais alimenter les sorties relais.
Autres tutoriels pour cette carte
- Lire une entrée numérique 24 V (capteur de proximité)
- Commander une charge 230 V avec un relais de sortie
- Server Modbus TCP : exposer les relais sur Ethernet
- Lire un capteur analogique 0–10 V sur les entrées Opta
- Remonter des données machine en MQTT via Ethernet
- Exploiter le double cœur : M7 pour le PLC, M4 en coprocesseur
Exemples de code pour cette carte
relais_securise.inoArduinoentrees_numeriques.inoArduinoanalogique_0_10v.inoArduinomodbus_tcp_esclave.inoArduinomodbus_rtu_maitre.inoArduinomqtt_telemetrie.inoArduino