HV-FABLAB
Arduino — Fiche de prise en main
Programme de Robotique et Technologies Numériques — 2026-2027
← Ressources par logiciel ⌂ Programme ⎙ Imprimer / PDF

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.

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

  1. Brancher la carte en USB.
  2. Ouvrir l'IDE Arduino.
  3. Outils → Type de carte → Arduino Uno.
  4. Outils → Port → le port COMx qui apparaît.
  5. Écrire le code ci-dessus.
  6. Cliquer sur ✔ Vérifier → attendre « Compilation terminée ».
  7. Cliquer sur ➜ Téléverser → attendre « Téléversement terminé ».
  8. 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

  1. Que se passe-t-il si on met delay(200) ? → ça clignote très vite
  2. Que se passe-t-il si on enlève la boucle ? → ça s'allume une fois, puis s'arrête
  3. Pourquoi deux delay() ? → pour voir l'allumé ET l'éteint
  4. 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 :

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 :


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 :

  1. Est-ce branché ? (USB, alimentation, GND commun)
  2. Est-ce la bonne carte ? (type sélectionné)
  3. Est-ce le bon port ? (COM)
  4. Le programme a-t-il été téléversé ? (message de confirmation)
  5. 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


15. L'essentiel à retenir

  1. Arduino = le cerveau du robot : il écoute les capteurs et commande les actionneurs.
  2. La chaîne : capteur → Arduino → actionneur. C'est la notion centrale.
  3. Tout programme a deux parties : setup() (une fois) et loop() (sans fin).
  4. Téléverser = le programme va dans la carte → elle devient autonome.
  5. Le GND commun est obligatoire, et les moteurs ont leur propre alimentation.
  6. 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