Mon premier robot en 5 étapes : projet complet avec Arduino Uno

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

  1. Le matériel nécessaire
  2. Comprendre les composants
  3. Câblage et montage
  4. Programmation de l’Arduino
  5. 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

ComposantQuantitéPrix estimé (MAD)
Carte Arduino Uno180–100 MAD
Capteur ultrasonique HC-SR04115–25 MAD
Module pont en H L298N130–50 MAD
Moteurs DC (TT motors)460–100 MAD
Châssis voiture 4 roues (kit)180–120 MAD
Câbles dupont (set 40 pcs)115–20 MAD
Pack 4×AA (6V) + support piles130–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-SR04Broche Arduino Uno
VCC5V
GNDGND
TRIGPin 9
ECHOPin 8

Connexions du module L298N → Arduino

Broche L298NBroche Arduino UnoRôle
IN1Pin 3Moteur gauche avant
IN2Pin 4Moteur gauche arrière
IN3Pin 5Moteur droit avant
IN4Pin 6Moteur droit arrière
ENA / ENB5V (ou cavalier)Vitesse max par défaut
GNDGND (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() dans setup() 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ômeCause probableSolution
Le robot ne bouge pas du toutAlimentation insuffisante ou ENA/ENB non connectésVérifiez les piles et les cavaliers ENA/ENB
Le robot tourne en rondIN1/IN2 ou IN3/IN4 inversésÉchangez les câbles du côté défaillant
Distance = 0 ou 400 cm en permanenceTRIG et ECHO inversésVérifiez Pin 8 et Pin 9 sur l’Arduino
Le robot s’arrête sans raisonPiles déchargées ou contact lâcheRemplacez les piles, resserrez les connexions
L’Arduino chauffe anormalementCourt-circuit dans le câblageDébranchez immédiatement, revérifiez chaque fil
Le robot ne détecte pas les obstacles prochesDIST_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 :

  1. 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.
  2. 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.
  3. Contrôle via Bluetooth : Ajoutez un module HC-05 pour piloter votre robot depuis une application smartphone. Parfait comme projet de niveau intermédiaire.
  4. 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 →
  5. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *