🛠 Faire clignoter la LED de l'Arduino Due et apprivoiser ses deux ports USB
Objectifs
Découvrir l'Arduino Due, première carte Arduino 32 bits : microcontrôleur Atmel/Microchip AT91SAM3X8E (Cortex-M3 à 84 MHz, 512 Ko de flash, 96 Ko de SRAM), logique 3,3 V, format Mega. Vous allez téléverser votre premier programme, faire clignoter la LED intégrée et comprendre la particularité n° 1 de cette carte : elle possède DEUX connecteurs micro-USB indépendants.
Matériel
- 1 carte Arduino Due (SKU A000062) ou clone
- 1 câble micro-USB data
- PC avec l'Arduino IDE (core « Arduino SAM Boards » installé via le gestionnaire de cartes) ou arduino-cli
- Rappel de sécurité officiel : les broches tolèrent 3,3 V maximum — ne jamais envoyer 5 V sur une broche, sous peine de détruire la carte.
Code complet
// Blink Due — LED intégrée broche 13 + message sur les DEUX ports série
const uint8_t LED = 13; // LED « L » de la Due
void setup {
pinMode(LED, OUTPUT);
Serial.begin(115200); // port Programming (pont 16U2, PID 0x003D)
SerialUSB.begin(115200); // port Native (CDC du SAM3X, PID 0x003E)
}
void loop {
digitalWrite(LED, HIGH);
delay(250);
digitalWrite(LED, LOW);
delay(750);
Serial.println("bonjour via port Programming");
SerialUSB.println("bonjour via port Native");
}
Dans l'IDE : Outils > Type de carte > Arduino Due, puis choisissez « Arduino Due (Programming Port) » ou « Arduino Due (Native USB Port) » selon le câble branché, et Téléverser. L'upload passe par bossac (protocole sam-ba) avec une commande 1200 bauds qui remet la carte en mode bootloader.
Vérification attendue
La LED « L » clignote (250 ms ON / 750 ms OFF) dès la fin du téléversement. Le moniteur série affiche vos messages seulement si vous avez ouvert le port correspondant au câble branché : le port Programming et le port Native sont deux ports série distincts. Le programme continue de tourner une fois l'USB débranché (alimentation par le jack 7–12 V).
Erreurs fréquentes
- Se tromper de port : le code fait
Serial.printlnalors que le câble est sur le port Native (ou l'inverse) — le moniteur reste désespérément vide. C'est le piège n° 1 du débutant sur Due. - Oublier d'installer le core « Arduino SAM Boards » : la carte « Arduino Due » n'apparaît pas dans l'IDE.
- Sur les clones, le port Native est parfois inerte (puce USB générique) : téléversez via le port Programming.
- Câble micro-USB de mauvaise qualité (charge seule) : aucun port n'apparaît, vérifier avec un autre câble.
- Confondre avec une carte 5 V : la Due est en logique 3,3 V et ses broches ne délivrent que 9 mA (groupe 1) / 3 mA (groupe 2) — pas de LED sans résistance adaptée.
Autres tutoriels pour cette carte
- Lire un potentiomètre avec le vrai ADC 12 bits de la Due
- Allumer une LED externe en respectant les broches 3,3 V et 9 mA de la Due
- Générer une vraie tension analogique avec les DAC 12 bits (broches 66 et 67)
- Dialoguer avec un GPS (ou tout module TTL) sur Serial1 sans bloquer la boucle
- Scanner les deux bus I2C de la Due (Wire sur 20/21, Wire1 sur 70/71)
- Monter la Due sur un bus CAN 500 kbit/s avec un transceiver externe
Exemples de code pour cette carte
clignotante.inoArduinobouton-led.inoArduinodac-onde.inoArduinoadc-12-bits.inoArduinopwm-12-bits.inoArduinogps-serial1.inoArduino