Arduino — Fiche de prise en main
Programme de Robotique et Technologies Numériques — Année scolaire 2026-2027
Collège Privé La Vision Future de Grand-Bassam — Équipe pédagogique HV-FABLAB
À quoi sert ce document ?
Cette fiche explique comment câbler et programmer une carte Arduino : lire un capteur, commander un moteur, faire bouger un robot.
Public : encadreurs et élèves.
Niveaux concernés : 6e → 3e (capteurs), lycée (IoT, données).
Durée : 4 à 6 séances de 1 h.
⚠️ Prérequis : avoir compris les blocs de mBlock (boucle + condition).
1. C'est quoi une carte Arduino ? (en 5 lignes)
Arduino est un petit ordinateur sur une carte : il écoute des capteurs et commande des moteurs, en suivant un programme.
- C'est un microcontrôleur : un ordinateur minuscule et spécialisé.
- Il n'a pas d'écran et pas de clavier : il est fait pour agir dans le monde réel.
- Il se programme depuis un PC, par câble USB.
- Le programme reste dans la carte : elle devient autonome.
- C'est le cerveau du robot.
Image mentale à donner aux élèves :
Capteur = les yeux / oreilles / peau du robot.
Arduino = son cerveau.
Actionneur (moteur, LED, buzzer) = ses muscles et sa voix.
2. Pourquoi on l'utilise dans notre programme
| Avantage | Ce que ça change en classe |
|---|---|
| Le programme agit dans le monde réel | Le robot bouge vraiment : la motivation est immédiate |
| Compréhension de la chaîne complète | capteur → cerveau → actionneur, on voit le lien |
| Matériel peu coûteux | Une carte ≈ le prix d'un manuel scolaire |
| Passe-partout | Capteurs, moteurs, écrans, Bluetooth, Internet… |
| Porte d'entrée vers les métiers | Électronique, automatisme, robotique, IoT |
La chaîne complète — à faire comprendre absolument
CAPTEUR ARDUINO ACTIONNEUR
(il entre) → (le cerveau) → (il sort)
distance programme moteur
lumière décision LED
bouton boucle buzzer
🎯 Le tableau à faire recopier et à afficher en classe. C'est la notion la plus importante de l'année en robotique.
3. Le matériel : ce qu'il faut savoir
Les cartes les plus courantes
| Carte | Particularité | Usage |
|---|---|---|
| Arduino Uno | La plus répandue, la plus documentée | Notre choix principal |
| Arduino Nano | Plus petite, même capacité | Projets compacts |
| Arduino Mega | Beaucoup plus de broches | Projets complexes |
| ESP32 | Avec Wi-Fi et Bluetooth intégrés | Projets connectés (lycée) |
Les autres éléments
| Élément | Ce que c'est | Rôle |
|---|---|---|
| Câble USB | Relie la carte au PC | Alimente et programme |
| Plaque d'essai (breadboard) | Plaque à trous | Tester sans souder |
| Fils Dupont (jumper) | Petits fils à broches | Relier les composants |
| Résistance | Petite pièce | Protéger la LED, tirer un signal |
| Module de moteur | Petite carte intermédiaire | Piloter les moteurs |
| Alimentation externe | Piles ou bloc secteur | Alimenter les moteurs |
⚠️ Règle de sécurité absolue : les moteurs ne sont JAMAIS alimentés par la carte Arduino. Ils consomment trop de courant et détruiraient la carte. Ils sont alimentés par une source externe, et la carte ne fait que commander.
4. L'IDE Arduino : où est quoi ?
L'IDE (environnement de développement) est le logiciel où on écrit le programme.
| Zone | Ce qu'on y trouve | À quoi ça sert |
|---|---|---|
| Barre de menus | Fichier, Édition, Outils, Aide | Configurer, ouvrir, enregistrer |
| Boutons ronds | ✔ Vérifier / ➜ Téléverser | Compiler et envoyer |
| Zone de code | Le programme | Écrire |
| Console (en bas) | Les messages, erreurs | Vérifier, lire les erreurs |
| Menu Outils | Type de carte, Port | À régler à chaque séance ! |
Les 2 boutons à connaître
| Bouton | Nom | Ce qu'il fait |
|---|---|---|
| ✔ | Vérifier (Compiler) | Vérifie que le programme est correct, sans l'envoyer |
| ➜ | Téléverser | Vérifie puis envoie le programme dans la carte |
🎯 Réflexe à faire acquérir : toujours Vérifier d'abord, Téléverser ensuite. On détecte les erreurs sans perdre de temps.
5. La structure d'un programme Arduino
Tout programme Arduino a deux parties, toujours les mêmes.
void setup() {
// Ce qui se passe UNE SEULE FOIS, au démarrage.
// On y prépare les broches.
}
void loop() {
// Ce qui se répète SANS FIN.
// C'est le cœur du programme.
}
| Partie | Traduction | Analogie |
|---|---|---|
setup() |
Ce qui se fait une fois au début | Préparer la table avant de cuisiner |
loop() |
Ce qui se répète indéfiniment | Tourner la cuillère sans s'arrêter |
🎯 Le lien avec mBlock : dans mBlock,
setup()= ce qui est avant la boucle ;loop()= le contenu du bloc « répéter indéfiniment ». C'est exactement la même chose.
Les 4 fonctions à connaître
| Fonction | Ce qu'elle fait | Exemple |
|---|---|---|
pinMode() |
Préparer une broche (entrée ou sortie) | pinMode(13, OUTPUT); |
digitalWrite() |
Allumer ou éteindre une broche | digitalWrite(13, HIGH); |
digitalRead() |
Lire si une broche est appuyée ou non | digitalRead(2); |
analogRead() |
Lire une valeur progressive (0-1023) | analogRead(A0); |
delay() |
Attendre un temps (en millisecondes) | delay(1000); → 1 seconde |
💡
HIGH= allumé (5 V) ·LOW= éteint (0 V).
6. Premier programme guidé : faire clignoter une LED
Objectif : le plus petit programme complet, sans rien câbler (la LED « L » est déjà sur la carte).
Le code
void setup() {
pinMode(13, OUTPUT); // la broche 13 devient une SORTIE
}
void loop() {
digitalWrite(13, HIGH); // ALLUMER
delay(1000); // attendre 1 seconde
digitalWrite(13, LOW); // ÉTEINDRE
delay(1000); // attendre 1 seconde
}
Les étapes
- Brancher la carte en USB.
- Ouvrir l'IDE Arduino.
- Outils → Type de carte → Arduino Uno.
- Outils → Port → le port
COMxqui apparaît. - Écrire le code ci-dessus.
- Cliquer sur ✔ Vérifier → attendre « Compilation terminée ».
- Cliquer sur ➜ Téléverser → attendre « Téléversement terminé ».
- Observer : la LED clignote une fois par seconde.
🌟 La démonstration à ne pas manquer
Débrancher le câble USB, puis rebrancher sur une alimentation (pile ou chargeur) :
→ La LED clignote toujours.
C'est la preuve que le programme est DANS la carte. Faire vivre ce moment : c'est une révélation pour beaucoup d'élèves.
Questions à poser
- Que se passe-t-il si on met
delay(200)? → ça clignote très vite - Que se passe-t-il si on enlève la boucle ? → ça s'allume une fois, puis s'arrête
- Pourquoi deux
delay()? → pour voir l'allumé ET l'éteint - Que signifie
HIGH? → allumé (5 V)
7. Deuxième programme : lire un capteur
Objectif : lire une valeur et réagir.
Exemple : une photorésistance (mesure de la lumière)
Câblage :
- La photorésistance entre 5 V et A0
- Une résistance de 10 kΩ entre A0 et GND
- (C'est un diviseur de tension : l'Arduino lit une tension qui varie avec la lumière.)
Le code :
int lumiere = 0; // une variable pour mémoriser
void setup() {
Serial.begin(9600); // ouvre la communication avec le PC
pinMode(13, OUTPUT);
}
void loop() {
lumiere = analogRead(A0); // LIRE la valeur (0 à 1023)
Serial.println(lumiere); // l'ENVOYER au PC pour la voir
if (lumiere < 300) { // SI il fait sombre
digitalWrite(13, HIGH); // ALORS allumer la LED
} else { // SINON
digitalWrite(13, LOW); // éteindre
}
delay(100); // petite pause
}
Les 4 notions réunies : capteur (A0) + variable (lumiere) + condition (if) + action (LED).
Le moniteur série : l'outil de diagnostic
Outils → Moniteur série (ou Ctrl+Maj+M) affiche les valeurs en direct.
🎯 C'est l'outil le plus important pour comprendre un capteur. On voit les nombres changer quand on cache la photorésistance avec la main. Sans ça, les élèves travaillent à l'aveugle.
Le réglage du seuil
| Étape | Action |
|---|---|
| 1 | Ouvrir le moniteur série |
| 2 | Cacher la photorésistance avec la main → noter la valeur (ex. 150) |
| 3 | Éclairer fort → noter la valeur (ex. 800) |
| 4 | Choisir un seuil au milieu (ex. 400) |
| 5 | Mettre ce seuil dans le if |
⚠️ Erreur classique : mettre un seuil au hasard (300) sans avoir mesuré. Le montage « ne marche pas »… alors que c'est juste le seuil qui est mauvais. Toujours mesurer d'abord.
8. Troisième programme : commander un moteur (le robot bouge)
Objectif : faire avancer un robot, puis le faire réagir à un obstacle.
Le câblage (avec module de moteur)
| Élément | Où | Remarque |
|---|---|---|
| Module de moteur (ex. L298N) | Entre la carte et les moteurs | Obligatoire |
| Alimentation des moteurs | Sur le module, pas sur la carte | Source externe |
| GND commun | Carte ↔ module ↔ alimentation | ⚠️ Indispensable |
| Broches de commande | D5, D6 (PWM) | Vitesse + sens |
⚠️ Le GND commun est LA panne nº1 des montages de robot. Sans masse commune, la carte et le module ne « se parlent » pas. Le vérifier à chaque montage.
Le code (robot qui évite un obstacle)
// Broches du capteur à ultrasons
const int trigPin = 7;
const int echoPin = 8;
// Broches du module moteur
const int moteurGauche = 5;
const int moteurDroit = 6;
long duree;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(moteurGauche, OUTPUT);
pinMode(moteurDroit, OUTPUT);
Serial.begin(9600);
}
void loop() {
// 1. SENTIR : mesurer la distance
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duree = pulseIn(echoPin, HIGH);
distance = duree * 0.034 / 2; // conversion en cm
Serial.println(distance);
// 2. RÉFLÉCHIR + 3. AGIR
if (distance < 20) { // obstacle proche
arreter(); // → s'arrêter
} else { // sinon
avancer(); // → avancer
}
delay(50);
}
void avancer() {
analogWrite(moteurGauche, 150); // vitesse 0-255
analogWrite(moteurDroit, 150);
}
void arreter() {
analogWrite(moteurGauche, 0);
analogWrite(moteurDroit, 0);
}
🎯 C'est le projet phare du collège : le robot qui sent → réfléchit → agit. Faire le lien explicite avec les 3 étapes du cycle du robot.
analogWrite() vs digitalWrite()
| Fonction | Ce qu'elle fait | Usage |
|---|---|---|
digitalWrite() |
Tout ou rien (HIGH/LOW) | Allumer une LED |
analogWrite() |
Puissance réglable (0 à 255) | Vitesse d'un moteur |
⚠️
analogWrite()ne marche que sur les broches PWM, repérées par un~sur la carte (3, 5, 6, 9, 10, 11 sur l'Uno).
9. Repère de câblage complet
| Composant | Type | Broche | Remarque |
|---|---|---|---|
| LED | Sortie | D13 (+ résistance) | Toujours une résistance ! |
| Buzzer | Sortie | D9 | — |
| Servomoteur | Sortie | D9, D10 (PWM ~) | Jamais sur une broche non-PWM |
| Moteur DC | Sortie | D5, D6 (PWM ~) | Via module, jamais en direct |
| Bouton poussoir | Entrée | D2-D13 | INPUT_PULLUP |
| Capteur ultrasons | Entrée | D7 (Trig), D8 (Echo) | 5 V |
| Photorésistance | Entrée | A0 | Analogique |
| Potentiomètre | Entrée | A1 | Analogique |
| Capteur de température | Entrée | A2 | Analogique |
| Module Bluetooth | Communication | RX (D0), TX (D1) | ⚠️ Débrancher pour téléverser |
⚠️ Piège du Bluetooth : le module utilise les broches RX/TX, les mêmes que le téléversement. Le débrancher avant de téléverser, sinon l'envoi échoue.
10. Progression conseillée (6 séances)
| Séance | Objectif | Ce que l'élève réalise |
|---|---|---|
| 1 | Découvrir la carte, l'IDE, le téléversement | La LED qui clignote |
| 2 | Variables et moniteur série | Un compteur affiché sur le PC |
| 3 | Premier capteur | La photorésistance qui allume une LED |
| 4 | Condition et seuil | Un détecteur avec seuil mesuré |
| 5 | Moteurs | Le robot qui avance / recule |
| 6 | Projet | Le robot qui évite un obstacle |
🎯 Les 2 séances à ne pas sauter :
- Séance 1 : sans la LED qui clignote, l'élève ne croit pas que « ça marche ».
- Séance 3 : sans le moniteur série, l'élève travaille à l'aveugle.
11. Dépannage
Problèmes de téléversement
| Symptôme | Cause probable | Solution |
|---|---|---|
| Aucun port COM | Câble de recharge seule | Changer de câble USB (panne nº1) |
| Aucun port COM (bon câble) | Pilote manquant | Installer le pilote CH340 |
| Erreur de téléversement | Mauvaise carte sélectionnée | Outils → Type de carte |
| Erreur de téléversement | Mauvais port | Outils → Port |
| Téléversement bloqué | Module Bluetooth sur RX/TX | Débrancher le module |
| « Port occupé » | Moniteur série ouvert | Fermer le moniteur série |
| La carte chauffe | Court-circuit | Débrancher immédiatement |
Problèmes de montage
| Symptôme | Cause probable | Solution |
|---|---|---|
| Rien ne fonctionne | GND non commun | Relier toutes les masses ⚠️ |
| La LED ne s'allume pas | Mauvais sens | La patte longue est le + |
| Le capteur donne 0 | Alimentation absente | Vérifier 5 V et GND |
| Le capteur donne n'importe quoi | Parasitage / fil long | Raccourcir les fils, éloigner des moteurs |
| Le moteur ne tourne pas | Module non alimenté | Alimentation externe sur le module |
| Le moteur tourne à l'envers | Fils inversés | Inverser les 2 fils du moteur |
| Tout s'arrête au bout de 3 s | Alimentation insuffisante | Alimentation externe plus puissante |
| Le robot tourne en rond | Un seul moteur actif | Vérifier les deux sorties |
Les 5 questions de dépannage (dans l'ordre)
🎯 À enseigner aux élèves — cette méthode vaut de l'or :
- Est-ce branché ? (USB, alimentation, GND commun)
- Est-ce la bonne carte ? (type sélectionné)
- Est-ce le bon port ? (COM)
- Le programme a-t-il été téléversé ? (message de confirmation)
- Le seuil / les broches sont-ils les bons ? (vérifier dans le code)
12. Sécurité — les règles à ne jamais transgresser
| Règle | Pourquoi |
|---|---|
| Ne JAMAIS alimenter un moteur par la carte | La carte serait détruite |
| Débrancher avant de modifier un câblage | Éviter les courts-circuits |
| Toujours une résistance avec une LED | Sinon la LED grille |
| GND commun obligatoire | Sinon le montage ne fonctionne pas |
| Ne jamais travailler sur le secteur (220 V) | Danger mortel — on reste en basse tension |
| Vérifier la polarité (+ / −) | Inverser peut détruire un composant |
| Ne pas laisser un montage sans surveillance | Un court-circuit peut chauffer |
⚠️ À faire signer / accepter en début d'année : ces règles font partie de la Charte du laboratoire. Un élève qui ne les respecte pas met en danger le matériel et ses camarades.
13. Erreurs pédagogiques à éviter
| ❌ À éviter | ✅ À faire |
|---|---|
| Donner le code complet à recopier | Faire écrire par étapes, en expliquant chaque ligne |
| Sauter le clignotement de LED | C'est le fondement : toujours commencer par là |
| Ignorer le moniteur série | Il rend le capteur visible |
| Mettre un seuil au hasard | Mesurer d'abord, seuil ensuite |
| Oublier de vérifier le GND commun | Le vérifier systématiquement |
| Laisser un élève seul sur le montage | Rôles tournants (câbleur, codeur, vérificateur) |
| Ne jamais débrancher la carte | Faire la démo « débranché, ça marche encore » |
| Cacher le vrai code aux collégiens | Montrer le code équivalent dès que possible |
14. Ressources externes
- Site officiel Arduino :
https://www.arduino.cc/ - IDE Arduino (téléchargement) :
https://www.arduino.cc/en/software - Documentation de référence (fonctions) :
https://docs.arduino.cc/ - Tutoriels du site robotique.site (ressources francophones) :
https://www.robotique.site/chapitre/arduino-uno/
15. L'essentiel à retenir
- Arduino = le cerveau du robot : il écoute les capteurs et commande les actionneurs.
- La chaîne : capteur → Arduino → actionneur. C'est la notion centrale.
- Tout programme a deux parties :
setup()(une fois) etloop()(sans fin). - Téléverser = le programme va dans la carte → elle devient autonome.
- Le GND commun est obligatoire, et les moteurs ont leur propre alimentation.
- En cas de panne : branché ? → bonne carte ? → bon port ? → téléversé ? → bon seuil ?
Équipe pédagogique HV-FABLAB — Collège Privé La Vision Future de Grand-Bassam — Année scolaire 2026-2027