Table des Matières
- Introduction
- Installation
- Interface de l’Arduino IDE
- Configuration
- Premier Programme
- Structure du Code Arduino
- Téléversement du Code
- Débogage
- Bibliothèques
- Projets Pratiques
- Conseils et Astuces
1. Introduction
L’Arduino IDE (Integrated Development Environment) est l’environnement de développement officiel pour programmer les cartes Arduino. Il permet d’écrire, compiler et téléverser du code sur votre microcontrôleur Arduino.
Qu’est-ce qu’Arduino ?
Arduino est une plateforme de prototypage électronique open-source basée sur des logiciels et du matériel faciles à utiliser. Elle est destinée aux artistes, designers, amateurs et toute personne intéressée par la création d’objets ou d’environnements interactifs.
2. Installation
Téléchargement
- Rendez-vous sur le site officiel : https://www.arduino.cc/en/software
- Choisissez votre système d’exploitation (Windows, macOS, Linux)
- Téléchargez la version stable la plus récente

Installation sur Windows
- Exécutez le fichier
.exetéléchargé - Suivez l’assistant d’installation
- Acceptez l’installation des pilotes USB
Installation sur macOS
- Ouvrez le fichier
.dmgtéléchargé - Glissez l’application Arduino dans le dossier Applications
- Lancez l’application
Installation sur Linux
- Décompressez l’archive téléchargée
- Exécutez le script d’installation :
./install.sh - Ajoutez votre utilisateur au groupe dialout :
sudo usermod -a -G dialout $USER
3. Interface de l’Arduino IDE
Barre de Menu
- Fichier : Nouveau, Ouvrir, Sauvegarder, Exemples
- Édition : Copier, Coller, Rechercher et Remplacer
- Croquis : Vérifier, Téléverser, Inclure une bibliothèque
- Outils : Type de carte, Port série, Moniteur série
- Aide : Documentation et support
Barre d’Outils
- Vérifier (✓) : Compile le code sans le téléverser
- Téléverser (→) : Compile et téléverse le code sur la carte
- Nouveau : Crée un nouveau croquis
- Ouvrir : Ouvre un croquis existant
- Sauvegarder : Sauvegarde le croquis actuel
- Moniteur série : Ouvre la console de communication série
Zone d’Édition
C’est ici que vous écrivez votre code Arduino (appelé “croquis” ou “sketch”).
Console de Messages
Affiche les messages de compilation, les erreurs et les informations de téléversement.

4. Configuration
Sélection de la Carte
- Allez dans Outils → Type de carte
- Choisissez votre modèle d’Arduino (Uno, Nano, Mega, etc.)
Sélection du Port
- Connectez votre Arduino à l’ordinateur via USB
- Allez dans Outils → Port
- Sélectionnez le port correspondant à votre Arduino
Vérification de la Configuration
- Sur Windows : COMx (ex: COM3)
- Sur macOS : /dev/cu.usbmodemxxxx
- Sur Linux : /dev/ttyACMx ou /dev/ttyUSBx

5. Premier Programme
Créons le traditionnel programme “Blink” qui fait clignoter une LED :
// Premier programme Arduino - Clignotement LED
void setup() {
// Initialise la broche 13 comme sortie
pinMode(13, OUTPUT);
}
void loop() {
// Allume la LED
digitalWrite(13, HIGH);
// Attend 1 seconde
delay(1000);
// Éteint la LED
digitalWrite(13, LOW);
// Attend 1 seconde
delay(1000);
}
Étapes pour tester ce code :
- Copiez le code dans l’Arduino IDE
- Cliquez sur “Vérifier” pour compiler
- Cliquez sur “Téléverser” pour envoyer le code sur l’Arduino
- Observez la LED intégrée clignoter !
6. Structure du Code Arduino
Fonctions Obligatoires
setup()
- Exécutée une seule fois au démarrage
- Utilisée pour l’initialisation des variables, broches, bibliothèques
loop()
- Exécutée en boucle infinie après
setup() - Contient le code principal du programme
Déclaration des Variables
// Variables globales (avant setup)
int ledPin = 13;
int buttonPin = 2;
bool ledState = false;
void setup() {
// Variables locales (dans une fonction)
int delayTime = 1000;
}
Types de Données Courants
int: Nombre entier (-32,768 à 32,767)float: Nombre décimalbool: Booléen (true/false)char: CaractèreString: Chaîne de caractères
Commentaires
// Commentaire sur une ligne
/*
Commentaire
sur plusieurs
lignes
*/
7. Upload du Code
Processus de Téléversement
- Compilation : Le code est traduit en langage machine
- Vérification : Recherche d’erreurs de syntaxe
- Téléversement : Envoi du code compilé vers l’Arduino
Messages d’Erreur Courants
- ‘xxx’ was not declared : Variable ou fonction non déclarée
- expected ‘;’ : Point-virgule manquant
- avrdude: stk500_recv() : Problème de communication (vérifiez le port)
Conseils pour le Téléversement
- Assurez-vous que la carte est correctement connectée
- Vérifiez que le bon port est sélectionné
- Fermez le moniteur série avant le téléversement
8. Débogage
Moniteur Série
Le moniteur série permet la communication entre l’Arduino et l’ordinateur
void setup() {
// Initialise la communication série à 9600 bauds
Serial.begin(9600);
Serial.println("Arduino prêt !");
}
void loop() {
int sensorValue = analogRead(A0);
Serial.print("Valeur du capteur: ");
Serial.println(sensorValue);
delay(1000);
}
Commandes Serial Utiles
Serial.print(): Affiche sans retour à la ligneSerial.println(): Affiche avec retour à la ligneSerial.read(): Lit les données reçuesSerial.available(): Vérifie si des données sont disponibles
Techniques de Débogage
- Utilisez
Serial.println()pour afficher les valeurs des variables - Ajoutez des messages pour suivre l’exécution du programme
- Vérifiez les connexions physiques
- Testez les composants individuellement
9. Bibliothèques
Installation de Bibliothèques
- Via le Gestionnaire : Outils → Gérer les bibliothèques
- Bibliothèque ZIP : Croquis → Inclure une bibliothèque → Ajouter la bibliothèque .ZIP
- Installation manuelle : Copier dans le dossier libraries
Bibliothèques Populaires
- Servo : Contrôle des servomoteurs
- LiquidCrystal : Écrans LCD
- DHT : Capteurs de température/humidité
- WiFi : Connexion WiFi (ESP32/ESP8266)
- SoftwareSerial : Communication série sur d’autres broches
Utilisation d’une Bibliothèque
#include <Servo.h> // Inclusion de la bibliothèque
Servo monServo; // Création d'un objet Servo
void setup() {
monServo.attach(9); // Attache le servo à la broche 9
}
void loop() {
monServo.write(90); // Positionne le servo à 90°
delay(1000);
monServo.write(0); // Positionne le servo à 0°
delay(1000);
}
10. Projets Pratiques
Projet 1 : Bouton et LED
cpp
int buttonPin = 2;
int ledPin = 13;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
digitalWrite(ledPin, HIGH); // Allume la LED
} else {
digitalWrite(ledPin, LOW); // Éteint la LED
}
}
Projet 2 : Lecture de Capteur Analogique
int sensorPin = A0;
int ledPin = 9;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(sensorPin);
int brightness = map(sensorValue, 0, 1023, 0, 255);
analogWrite(ledPin, brightness);
Serial.print("Capteur: ");
Serial.print(sensorValue);
Serial.print(" - Luminosité: ");
Serial.println(brightness);
delay(100);
}
Projet 3 : Température avec DHT22
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (!isnan(temperature) && !isnan(humidity)) {
Serial.print("Température: ");
Serial.print(temperature);
Serial.print("°C - Humidité: ");
Serial.print(humidity);
Serial.println("%");
}
delay(2000);
}
11. Conseils et Astuces
Bonnes Pratiques
- Commentez votre code : Expliquez ce que fait chaque section
- Noms de variables explicites :
temperatureCapteurplutôt quetemp - Indentation cohérente : Utilisez Ctrl+T pour formater automatiquement
- Testez progressivement : Ajoutez une fonctionnalité à la fois
- Sauvegardez régulièrement : Utilisez Ctrl+S fréquemment
Optimisation de la Mémoire
- Utilisez
constpour les constantes - Préférez
intàlongsi possible - Évitez les chaînes de caractères trop longues
- Utilisez
PROGMEMpour stocker des données en mémoire flash
Gestion des Erreurs
- Vérifiez toujours les valeurs de retour des fonctions
- Utilisez des conditions pour éviter les divisions par zéro
- Implémentez des timeouts pour les boucles infinies
Ressources Utiles
- Documentation officielle : https://www.arduino.cc/reference/
- Forums Arduino : https://forum.arduino.cc/
- Exemples intégrés : Fichier → Exemples
- Simulateurs en ligne : Tinkercad, Wokwi
Raccourcis Clavier Utiles
- Ctrl+R : Vérifier le code
- Ctrl+U : Téléverser
- Ctrl+Shift+M : Ouvrir le moniteur série
- Ctrl+T : Formater le code
- Ctrl+F : Rechercher
- Ctrl+/ : Commenter/décommenter
Conclusion
L’Arduino IDE est un outil puissant et accessible pour débuter dans la programmation de microcontrôleurs. Ce tutoriel vous a donné les bases nécessaires pour commencer vos projets Arduino. N’hésitez pas à expérimenter et à consulter la documentation pour approfondir vos connaissances !
Bon codage avec Arduino ! 🚀





Bonjour, mon sketch en C++ sur RP Pico 2040 est trop long pour l’ajouter ici : La compilation se passe sans erreur, mais le problème est le téléversement.
Mes options de téléchargement sont :
Raspberry Pi Pico > Raspberry Pi Pico RP2040/RP2350 > Raspberry Pi Pico
Upload method : Default (UF2)
Le message d’erreur est :
bla bla bla . . . .
Fatal Python error: Compilation du croquis…
“C:\\Users\\papa\\AppData\\Local\\Arduino15\\packages\\rp2040\\tools\\pqt-python3\\1.0.1-base-3a57aed-1/python3” -I “C:\\Users\\papa\\AppData\\Local\\Arduino15\\packages\\rp2040\\hardware\\rp2040\\5.4.4/tools/signing.py” –mode header –publickey “Z:\\01-Olivier\\Electronique\\RP2040\\PumpMonitoring_RP2040-2/public.key” –out “C:\\Users\\papa\\AppData\\Local\\arduino\\sketches\\35F2A905383E2E84F8C5013423832FB2/core/Updater_Signing.h”
initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named ‘encodings’
Current thread 0x00006124 (most recent call first):
Plusieurs bibliothèque trouvées pour “SdFat.h”
Utilisé: C:\Users\papa\Documents\Electronique\libraries\SdFat
Non utilisé: C:\Users\papa\Documents\Electronique\libraries\SdFat_-_Adafruit_Fork
Non utilisé: C:\Users\papa\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\5.4.4\libraries\SdFat
Plusieurs bibliothèque trouvées pour “Adafruit_I2CDevice.h”
Utilisé: C:\Users\papa\Documents\Electronique\libraries\Adafruit_I2CDevice
Non utilisé: C:\Users\papa\Documents\Electronique\libraries\Adafruit_BusIO
Plusieurs bibliothèque trouvées pour “SD.h”
Utilisé: C:\Users\papa\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\5.4.4\libraries\SD
Non utilisé: C:\Users\papa\Documents\Electronique\libraries\SD
. . . bla bla bla
Utilisation de la bibliothèque SdFat version 2.3.0 dans le dossier: C:\Users\papa\Documents\Electronique\libraries\SdFat
exit status 0xc0000409
Compilation error: exit status 0xc0000409
J’ai installé Python, mais rien n’y fait: la Led sur le port 25 clignote (4 coups courts et 4 coups longs), ce qui me fait penser qu’il y a un problème lors du chargement. Mais je ne sais pas où chercher, je ne comprends pas ce qui ne convient pas. Est-ce un problème de configuration ?
Merci pour votre aide.
Cordialement.
Olivier