Mon premier robot en 5 étapes : projet complet avec Arduino Uno
Tutoriel technique • Niveau : Débutant • ⏱ 15 min de lecture • Mis à jour : avril 2026
Vous rêvez de construire votre premier robot, mais vous ne savez pas par où commencer ? Ce tutoriel vous guide pas à pas dans la réalisation d’un robot à évitement d’obstacles avec Arduino Uno — l’un des projets robotiques les plus populaires et les plus formateurs pour les débutants.
À la fin de ce guide, vous aurez entre les mains un robot autonome capable de détecter les obstacles et de les contourner automatiquement, sans aucune expérience préalable en électronique ou en programmation.
Ce projet est idéal pour les collégiens, lycéens et familles qui souhaitent se lancer dans la robotique de manière concrète, progressive et motivante.
Ce que vous allez construire
- Résultat final : un robot roulant 4 roues qui détecte et contourne les obstacles de façon autonome
- Technologie : Arduino Uno + capteur ultrasonique HC-SR04 + pont en H L298N
- Temps d’assemblage : 2 à 3 heures
- Budget estimé : 310–455 MAD
- Niveau : Débutant — aucun prérequis
Sommaire
- Le matériel nécessaire
- Comprendre les composants
- Câblage et montage
- Programmation de l’Arduino
- Tests et dépannage
+ Pour aller plus loin & FAQ
Étape 1 : Le matériel nécessaire
Avant de commencer à assembler votre robot, rassemblez tous les composants. Voici la liste complète du matériel pour ce projet Arduino débutant :
Composants électroniques
| Composant | Quantité | Prix estimé (MAD) |
|---|---|---|
| Carte Arduino Uno | 1 | 80–100 MAD |
| Capteur ultrasonique HC-SR04 | 1 | 15–25 MAD |
| Module pont en H L298N | 1 | 30–50 MAD |
| Moteurs DC (TT motors) | 4 | 60–100 MAD |
| Châssis voiture 4 roues (kit) | 1 | 80–120 MAD |
| Câbles dupont (set 40 pcs) | 1 | 15–20 MAD |
| Pack 4×AA (6V) + support piles | 1 | 30–40 MAD |
Outils nécessaires
- Tournevis cruciforme
- Câble USB type B (pour programmer l’Arduino)
- Ordinateur avec l’IDE Arduino installé (voir notre guide d’installation)
- Optionnel : pistolet à colle pour fixer les composants sur le châssis
Coût total estimé : 310–455 MAD. Tous ces composants sont disponibles dans notre boutique Robotisâmes ou dans nos kits Arduino tout-en-un.
Étape 2 : Comprendre les composants
Avant de câbler quoi que ce soit, prenez quelques minutes pour comprendre le rôle de chaque composant. Cette étape est essentielle pour diagnostiquer d’éventuels problèmes plus tard.
La carte Arduino Uno — le cerveau du robot
L’Arduino Uno est un microcontrôleur open-source qui agit comme le cerveau de votre robot. Il lit les informations du capteur, exécute le code que vous écrivez et envoie des commandes aux moteurs. Il dispose de 14 broches numériques et 6 broches analogiques. C’est la carte de référence pour tous les projets Arduino pas à pas destinés aux débutants.
Le capteur HC-SR04 — les yeux du robot
Le capteur ultrasonique HC-SR04 mesure la distance entre le robot et les obstacles en émettant une onde sonore et en mesurant le temps qu’elle met à revenir (principe de l’écho). Sa plage de détection va de 2 à 400 cm avec une précision de ±3 mm. Deux broches fonctionnelles : TRIG (déclenchement de l’onde) et ECHO (réception de l’écho).
Le module L298N — le contrôleur de moteurs
Le module L298N (pont en H double) permet à l’Arduino de contrôler la direction et la vitesse de quatre moteurs organisés en deux paires. Sans ce module, l’Arduino ne pourrait pas alimenter directement les moteurs (courant insuffisant). Ses broches de contrôle : IN1/IN2/IN3/IN4 pour la direction, ENA/ENB pour la vitesse en PWM.
Les moteurs DC — les muscles du robot
Votre robot utilise 4 moteurs DC TT (deux par essieu). Ils fonctionnent en 3–9V et sont directement reliés aux sorties du L298N. En connectant ENA et ENB à 5V (ou en laissant les cavaliers par défaut), les moteurs tournent à pleine vitesse — idéal pour commencer.
Étape 3 : Câblage et montage
Le câblage est souvent l’étape qui effraie les débutants, mais en suivant ce guide méthodiquement, vous n’aurez aucun problème. Règle d’or : travaillez toujours hors tension. Débranchez l’alimentation avant toute modification du câblage.
Connexions du capteur HC-SR04 → Arduino
| Broche HC-SR04 | → | Broche Arduino Uno |
|---|---|---|
| VCC | → | 5V |
| GND | → | GND |
| TRIG | → | Pin 9 |
| ECHO | → | Pin 8 |
Connexions du module L298N → Arduino
| Broche L298N | → | Broche Arduino Uno | Rôle |
|---|---|---|---|
| IN1 | → | Pin 3 | Moteur gauche avant |
| IN2 | → | Pin 4 | Moteur gauche arrière |
| IN3 | → | Pin 5 | Moteur droit avant |
| IN4 | → | Pin 6 | Moteur droit arrière |
| ENA / ENB | → | 5V (ou cavalier) | Vitesse max par défaut |
| GND | → | GND (commun) | Masse partagée |
Alimentation
- Les moteurs sont alimentés via le connecteur d’alimentation du L298N (6V–12V) — un pack 4×AA de 6V suffit parfaitement.
- L’Arduino peut être alimenté par USB pendant les tests, ou via la broche VIN (7–12V) en fonctionnement autonome.
- Le L298N intégré génère 5V pour alimenter l’Arduino si vous l’alimentez en 7V+.
Conseil : Vérifiez deux fois chaque connexion avant de mettre sous tension. Un câble inversé peut endommager votre Arduino ou votre L298N.
Étape 4 : Programmation de l'Arduino
C’est ici que la magie opère. Le code ci-dessous est intégralement commenté pour que vous compreniez chaque ligne. Copiez-le dans votre IDE Arduino, connectez votre carte en USB, sélectionnez le bon port COM, puis cliquez sur Téléverser.
// =====================================================
// ROBOT ÉVITEMENT D'OBSTACLES — ARDUINO UNO
// Robotisâmes — robotisames.com
// =====================================================
// --- Définition des broches ---
#define TRIG_PIN 9 // Déclencheur ultrasonique
#define ECHO_PIN 8 // Récepteur ultrasonique
#define IN1 3 // Moteur gauche : avant
#define IN2 4 // Moteur gauche : arrière
#define IN3 5 // Moteur droit : avant
#define IN4 6 // Moteur droit : arrière
#define DIST_MIN 20 // Distance mini (cm) avant obstacle
// --- Mesure de la distance (cm) ---
long mesurer() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); // Envoi impulsion
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duree = pulseIn(ECHO_PIN, HIGH); // Mesure écho
return duree * 0.034 / 2; // Conversion cm
}
// --- Fonctions de déplacement ---
void avancer() {
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
}
void reculer() {
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
}
void tourner() { // Tourne à droite
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
}
void arreter() {
digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
}
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
Serial.begin(9600);
Serial.println("Robot prêt !");
}
void loop() {
long d = mesurer();
Serial.print("Distance : ");
Serial.print(d);
Serial.println(" cm");
if (d > DIST_MIN) {
avancer(); // Voie libre — on avance
} else {
arreter(); delay(300);
reculer(); delay(500);
tourner(); delay(600);
}
delay(50); // Pause entre deux mesures
}💡 Comprendre la logique : la fonction loop() tourne en continu. À chaque cycle, elle mesure la distance devant le robot. Si la voie est libre (distance > 20 cm), le robot avance. Si un obstacle est détecté, le robot s’arrête, recule 500 ms, puis pivote à droite 600 ms pour le contourner.
⚙️ Ajuster le comportement : modifiez DIST_MIN pour rendre votre robot plus ou moins réactif. Augmentez les valeurs delay() pour des pivots plus amples sur des terrains glissants.
Étape 5 : Tests et dépannage
Votre robot est assemblé et le code est téléversé. Avant de le poser sur le sol, effectuez ces tests de façon méthodique — c’est une habitude essentielle en robotique.
Checklist de mise en service
- ✅ Test du capteur : Ouvrez le Moniteur Série dans l’IDE Arduino (vitesse : 9600 bauds). Placez votre main devant le HC-SR04 à 10 cm, 20 cm, 30 cm. Les valeurs affichées doivent correspondre (tolérance ±3 cm).
- ✅ Test des moteurs : Ajoutez temporairement un appel à
avancer()danssetup()pour tester chaque moteur individuellement. Vérifiez que tous les moteurs tournent dans le bon sens. - ✅ Test complet sur surface lisse : Soulevez légèrement le robot (roues en l’air) pendant le premier test pour contrôler le comportement sans risque. Puis posez-le sur le sol.
Tableau de dépannage
| Symptôme | Cause probable | Solution |
|---|---|---|
| Le robot ne bouge pas du tout | Alimentation insuffisante ou ENA/ENB non connectés | Vérifiez les piles et les cavaliers ENA/ENB |
| Le robot tourne en rond | IN1/IN2 ou IN3/IN4 inversés | Échangez les câbles du côté défaillant |
| Distance = 0 ou 400 cm en permanence | TRIG et ECHO inversés | Vérifiez Pin 8 et Pin 9 sur l’Arduino |
| Le robot s’arrête sans raison | Piles déchargées ou contact lâche | Remplacez les piles, resserrez les connexions |
| L’Arduino chauffe anormalement | Court-circuit dans le câblage | Débranchez immédiatement, revérifiez chaque fil |
| Le robot ne détecte pas les obstacles proches | DIST_MIN trop faible ou capteur mal orienté | Augmentez DIST_MIN à 25-30 cm, centrez le capteur |
Pour aller plus loin
Votre robot fonctionne ? Félicitations ! C’est le début d’une belle aventure en robotique. Voici cinq améliorations progressives pour continuer à apprendre :
- Contrôle de vitesse par PWM : Connectez ENA et ENB aux pins 10 et 11 de l’Arduino et utilisez
analogWrite(10, 150)pour régler la vitesse de 0 à 255. Idéal pour un démarrage en douceur. - Ajouter un buzzer ou une LED : Faites émettre un bip ou clignoter une LED orange quand le robot détecte un obstacle — une excellente introduction aux sorties numériques supplémentaires.
- Contrôle via Bluetooth : Ajoutez un module HC-05 pour piloter votre robot depuis une application smartphone. Parfait comme projet de niveau intermédiaire.
- Passer à l’ESP32 : Remplacez l’Arduino Uno par une carte ESP32 pour ajouter la connectivité Wi-Fi et piloter votre robot depuis un navigateur web. Découvrez l’ESP32 sur notre blog →
- Programmer en Python : Explorez MicroPython pour contrôler vos robots avec un langage encore plus lisible et largement utilisé dans l’industrie.
FAQ — Questions fréquentes sur le tutoriel robot Arduino débutant
Faut-il savoir programmer pour réaliser ce projet ?
Non. Le code fourni est complet et prêt à l’emploi. Il vous suffit de le copier dans l’IDE Arduino et de cliquer sur Téléverser. Les commentaires vous permettront de comprendre la logique progressivement.
Quel âge minimum pour ce projet Arduino pas à pas ?
Ce projet est accessible dès 12–13 ans avec l’accompagnement d’un adulte. Un lycéen motivé peut le réaliser seul. Pour les 8–12 ans, nous recommandons nos kits débutants Robotisâmes avec guide illustré inclus.
Puis-je utiliser un Arduino Nano à la place de l’Uno ?
Oui, le code est compatible. L’Arduino Nano utilise les mêmes numéros de broches. Seul le facteur de forme change (plus petit) — vérifiez simplement les connexions physiques sur votre module L298N.
Puis-je remplacer le L298N par un L293D ?
Oui pour de petits moteurs (jouets). Le L293D supporte 600 mA par sortie contre 2 A pour le L298N. Pour des moteurs TT standards, le L298N est plus adapté et reste peu coûteux.
Où acheter les composants de ce tutoriel au Maroc ?
Tous les composants sont disponibles dans notre boutique en ligne avec livraison partout au Maroc. Nous proposons également des kits complets qui incluent tout le matériel nécessaire.
Est-ce que ce robot peut participer à des compétitions scolaires ?
Absolument ! Ce type de robot à évitement d’obstacles est une base solide pour les défis de labyrinthe et les compétitions robotiques scolaires. Avec les améliorations suggérées, il peut être adapté à de nombreux formats de compétition.
Prêt à construire votre premier robot ?
Retrouvez tous les composants de ce tutoriel — Arduino Uno, capteur HC-SR04, module L298N et châssis 4 roues — directement dans la boutique Robotisâmes. Livraison partout au Maroc.
