Leçon 2 / 8
Leçon 02 · Arduino

IDE et premier programme

Arduino IDE 2 : téléchargement et installation

L'Arduino IDE est le logiciel officiel pour écrire, compiler et envoyer des programmes (appelés sketches) sur ta carte Arduino. La version 2 est plus moderne, avec autocomplétion, débogueur intégré et gestionnaire de bibliothèques amélioré.

Télécharge-le gratuitement sur arduino.cc/en/software. Choisis la version correspondant à ton système.

Windows
Télécharge le fichier .exe (installeur) ou le fichier .zip (portable). Lance l'installeur et suis les étapes. Accepte l'installation des drivers USB quand Windows le demande.
macOS
Télécharge le fichier .dmg. Ouvre-le, puis glisse Arduino IDE dans ton dossier Applications. Lors du premier lancement, macOS peut te demander d'autoriser l'application dans Préférences Système → Sécurité.
Linux
Télécharge le fichier .AppImage. Rends-le exécutable (chmod +x arduino-ide_*.AppImage) puis double-clique dessus. Ajoute-toi au groupe dialout pour accéder au port série : sudo usermod -aG dialout $USER (déconnecte-toi pour que ça prenne effet).

Sur Windows, si le port COM n'apparaît pas, installe les drivers manuellement. Pour un Arduino Uno ou Mega, le chip USB-série est un CH340 ou un ATmega16U2. Les drivers sont disponibles sur le site du fabricant de ta carte.

L'interface : les 4 zones clés

Quand tu ouvres Arduino IDE 2, tu découvres une interface organisée en plusieurs parties. Voici celles que tu utiliseras tout le temps :

  • L'éditeur de code — la grande zone centrale. C'est là que tu écris ton sketch. La coloration syntaxique t'aide à repérer les mots-clés, les chaînes de caractères et les commentaires.
  • Le moniteur série (icône loupe en haut à droite) — affiche les messages envoyés par ta carte via Serial.println(). Indispensable pour déboguer.
  • Le gestionnaire de bibliothèques (icône livre dans la barre latérale gauche) — permet d'installer des bibliothèques tierces en un clic. Exemple : la bibliothèque DHT sensor library pour un capteur de température.
  • Le gestionnaire de cartes (icône puce dans la barre latérale gauche) — permet d'ajouter le support de nouvelles cartes (ESP32, MKR, Nano Every…). Par défaut, les cartes de la gamme AVR (Uno, Mega, Nano) sont déjà disponibles.
💡

La barre d'outils du haut contient deux boutons essentiels : le bouton Vérifier (coche) pour compiler sans envoyer, et le bouton Téléverser (flèche droite) pour compiler et envoyer sur la carte. Prends l'habitude de vérifier avant de téléverser.

Sélectionner la carte et le port COM

Avant de téléverser quoi que ce soit, tu dois indiquer à l'IDE :

  1. Quelle carte tu utilises — ex. Arduino Uno, Arduino Mega 2560.
  2. Sur quel port USB elle est branchée — ex. COM3 (Windows), /dev/ttyACM0 (Linux), /dev/cu.usbmodem… (Mac).

Dans Arduino IDE 2, un sélecteur en haut de la fenêtre affiche directement la carte détectée. Clique dessus pour changer de carte ou de port. Si rien n'apparaît, vérifie que le câble USB est bien branché et que les drivers sont installés.

Arduino IDE 2

Arduino Uno sur COM3 · ATmega328P

← Ce bandeau vert indique que la carte est détectée.

Structure d'un sketch Arduino

Un programme Arduino s'appelle un sketch. Il a toujours la même structure de base, avec deux fonctions obligatoires :

C++ Arduino
// Les directives #include importent des bibliothèques
// Exemple : #include <Wire.h>  → communication I2C

void setup() {
  // Exécuté UNE SEULE FOIS au démarrage (ou après reset)
  // Ici : initialisation des broches, de la communication série, etc.
}

void loop() {
  // Exécuté EN BOUCLE indéfiniment après setup()
  // Ici : la logique principale de ton programme
}

setup() est ton point d'initialisation : tu y configures les broches, tu démarre la communication série, tu initialises tes capteurs. loop() est le cœur de ton programme : il tourne en permanence, lisant des capteurs, allumant des LEDs, envoyant des données…

Les directives #include se placent tout en haut, avant les fonctions. Elles rendent disponibles des bibliothèques externes dans ton sketch.

Le programme Blink : ta première LED qui clignote

Blink est le "Hello World" d'Arduino. Il fait clignoter la LED intégrée à la carte (reliée à la broche 13 sur l'Uno). Arduino IDE l'inclut en exemple : Fichier → Exemples → 01.Basics → Blink.

C++ Arduino — Blink
// Blink : fait clignoter la LED intégrée toutes les secondes

void setup() {
  // LED_BUILTIN est une constante Arduino = broche 13 sur l'Uno
  pinMode(LED_BUILTIN, OUTPUT);
  // OUTPUT : la broche est en sortie (elle commande la LED)
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // allume la LED (5V)
  delay(1000);                       // attend 1000 ms = 1 seconde
  digitalWrite(LED_BUILTIN, LOW);   // éteint la LED (0V)
  delay(1000);                       // attend encore 1 seconde
}

pinMode(broche, mode) configure une broche : OUTPUT pour piloter quelque chose (LED, moteur), INPUT pour lire un signal (bouton, capteur).

digitalWrite(broche, valeur) met une broche à HIGH (5V) ou LOW (0V). delay(ms) met le programme en pause pendant le nombre de millisecondes indiqué. 1000 ms = 1 seconde.

Téléverser (upload) : envoyer le sketch sur la carte

Clique sur le bouton Téléverser (flèche →) ou appuie sur Ctrl+U (Cmd+U sur Mac). L'IDE :

  1. Compile le sketch : transforme ton code C++ en code machine pour le microcontrôleur.
  2. Envoie le programme compilé sur la carte via le câble USB.
  3. La carte redémarre automatiquement et exécute le nouveau sketch.

En bas de l'IDE, la zone de sortie affiche les messages de compilation. Si tout va bien, tu vois "Téléversement terminé". Sinon, voici les erreurs les plus courantes :

  • avrdude: stk500_recv(): programmer is not responding — mauvaise carte ou mauvais port sélectionné. Vérifie le sélecteur en haut de l'IDE.
  • 'pinMode' was not declared in this scope — tu as peut-être oublié les fonctions setup() / loop(), ou tu as un problème de fichier corrompu.
  • Serial port … not found — la carte n'est pas reconnue. Essaie un autre câble USB (certains câbles sont "charge uniquement" et ne transmettent pas de données).
⚠️

N'utilise jamais un câble USB "charge uniquement" pour programmer Arduino. Ces câbles n'ont que deux fils (alimentation) et ne transmettent aucune donnée. Si le port COM n'apparaît pas, essaie d'abord un autre câble avant de chercher ailleurs.

Le moniteur série : déboguer avec Serial

Le moniteur série te permet de communiquer entre ta carte et ton ordinateur via le câble USB. C'est ton meilleur outil pour déboguer : afficher des valeurs, suivre l'état du programme, vérifier des capteurs.

C++ Arduino — Moniteur série
void setup() {
  // Démarre la communication série à 9600 bauds
  // Ce chiffre doit correspondre à celui du moniteur série dans l'IDE
  Serial.begin(9600);
  Serial.println("Arduino démarré !");
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.println("LED allumée");
  delay(1000);

  digitalWrite(LED_BUILTIN, LOW);
  Serial.println("LED éteinte");
  delay(1000);
}

Serial.begin(9600) initialise la communication à 9600 bauds (bits par seconde). C'est la vitesse standard pour débuter. Assure-toi que le moniteur série dans l'IDE est réglé sur la même vitesse (menu déroulant en bas à droite du moniteur).

Serial.println("texte") envoie une ligne de texte suivie d'un retour à la ligne. Serial.print("texte") fait la même chose sans retour à la ligne. Tu peux afficher une variable : Serial.println(valeur);

// À retenir
  • Arduino IDE 2 se télécharge sur arduino.cc. Disponible Windows, macOS et Linux.
  • Toujours sélectionner la bonne carte et le bon port COM avant de téléverser.
  • Un sketch a toujours setup() (exécuté une fois) et loop() (exécuté en boucle).
  • pinMode() configure une broche, digitalWrite() la commande, delay() attend.
  • LED_BUILTIN désigne la LED intégrée à la carte (broche 13 sur l'Uno).
  • Serial.begin(9600) + Serial.println() permettent de déboguer via le moniteur série.