La voiture robotique à deux roues motrices de cette fiche est une base roulante livrée montée : une platine claire percée de trous de fixation réguliers, deux motoréducteurs à courant continu vissés dessous, une roue à jante jaune sur chacun, et une roulette libre à l’avant qui sert de troisième point d’appui. Elle ne contient aucune électronique — ni carte, ni module de pilotage, ni capteur, ni pile. La mécanique est faite, la commande et le programme restent à ajouter.
C’est le châssis d’initiation le plus courant de la robotique : deux roues qui poussent, une roue folle qui suit. Il sert aussi bien de plateforme d’essai pour apprendre à commander des moteurs que de support à un suiveur de ligne, à un robot qui évite les obstacles ou à un véhicule piloté depuis un téléphone. Sa particularité tient en une pièce : la roulette avant. C’est elle qui décide du comportement du robot en virage, et c’est aussi la pièce qui s’use en premier.
Ce que contient le lot
| La platine | Plaque rigide claire, percée de trous de fixation réguliers et portant une sérigraphie blanche de repères (le texte n’est pas lisible sur la photo du produit). C’est sur cette platine que se vissent la carte de commande, le module de pilotage et les capteurs. |
|---|---|
| Les deux motoréducteurs | Deux moteurs à courant continu à boîtier réducteur, du format le plus répandu de la robotique d’initiation, fixés sous la platine, un de chaque côté, avec leurs deux fils d’alimentation. |
| Les deux roues motrices | Roues à jante plastique jaune et pneu en caoutchouc cranté, emmanchées sur l’axe de sortie à méplat de chaque moteur. |
| La roulette avant | Roue folle montée sur une fourche métallique fixée sous la platine, à l’avant ou à l’arrière selon le montage retenu. C’est le troisième point d’appui du châssis. |
| Le porte-piles | Boîtier noir fixé sur la platine, à logements de piles, avec ses contacts à ressort et ses deux fils d’alimentation. Il est vide sur la photo du produit : les piles ne sont pas fournies. |
| La visserie | Vis, écrous et entretoises du montage, pour l’assemblage de la platine, la fixation des moteurs, de la roulette et du porte-piles. |
| Ce qui n’est pas fourni | Ni carte de commande, ni module de pilotage des moteurs, ni capteur, ni pile : la photo ne montre que la partie mécanique. La boutique vend chaque pièce séparément, les liens se trouvent dans les sections qui suivent. |
Caractéristiques techniques
| Base roulante | Châssis à deux roues motrices et une roue folle — deux points de motricité, un point d’appui libre, aucune direction mécanique |
|---|---|
| Motoréducteurs | Moteurs à courant continu à balais avec réducteur à engrenages en boîtier plastique. Plage d’alimentation usuelle de cette famille : 3 à 6 V continus, la vitesse augmentant avec la tension |
| Roues motrices | Jante plastique jaune et pneu caoutchouc cranté, emmanchées sur l’axe de sortie à méplat. Une roue de ce format se vend seule comme rechange |
| Roue folle | Roulette libre à fourche métallique, sans motricité ni direction : elle autorise le déplacement dans n’importe quel sens et sert de pivot au robot. Une roulette de rechange est vendue séparément |
| Direction | Aucune. Le cap se change en faisant tourner les deux moteurs à des vitesses différentes, ou dans des sens opposés |
| Pivot | Le robot tourne autour de sa roulette : le rayon de giration est celui qui sépare l’axe des roues motrices de la roulette |
| Commande des moteurs | Pont en H obligatoire — la carte fournit le signal, le module fournit le courant |
| Alimentation | Un pack dédié aux moteurs, masse commune avec la carte. Le port USB de la carte ne peut pas alimenter les deux moteurs |
| Retour de position | Aucun : ni codeur, ni roue codeuse, ni fin de course. Rien ne dit à la carte de combien les roues ont tourné |
| Éléments de fixation | Chaque moteur est maintenu par son support vissé à la platine. Un support de moteur TT seul permet de remplacer un berceau fendu sans changer le moteur |
| Programmation | IDE Arduino, langage C++ ; aucun pilote à installer, les sorties se commandent directement en numérique et en PWM |
| Assemblage | Livré monté. Les deux fils de chaque moteur sont soit déjà soudés sur leurs plots, soit à souder, selon le lot : vérifier à la réception |
Deux roues motrices : ce que cela change
Une base à deux roues motrices est plus simple, plus légère et moins gourmande en courant qu’une base à quatre. Elle a une contrepartie mécanique, et elle tient à une seule pièce : la roue folle.
- Le robot ne pivote pas sur place. Il tourne autour de sa roulette, donc il décrit un arc, en reculant légèrement du côté opposé au virage. C’est visible au sol et sans conséquence pour la plupart des usages, mais c’est à savoir avant de programmer un cap précis.
- Tout repose sur l’appui de la roulette. Si elle est trop haute, les roues motrices patinent et le robot n’avance plus droit ; si elle est trop basse, les roues motrices perdent de l’adhérence. Sa hauteur se règle en jouant sur les entretoises de sa fourche.
- La roulette bute sur les obstacles. Un seuil de porte, un tapis épais, un fil : la roue folle, de petit diamètre, s’y arrête et bloque tout le châssis. C’est la limite d’usage de cette architecture.
- Elle s’use. C’est le roulement de la roulette qui prend tout le poids de la partie avant. Un jeu qui apparaît se sent à la main : la fourche bouge avant que le robot ne se déplace, et la trajectoire se met à dériver d’un côté.
- Le courant demandé est plus faible. Deux moteurs au lieu de quatre : un seul module de pilotage suffit, et le pack d’alimentation peut rester modeste. C’est ce qui rend ce châssis moins cher à équiper.
De la mécanique à la commande : le pont en H
Une sortie de microcontrôleur fournit quelques dizaines de milliampères, un moteur de ce format en réclame plusieurs centaines et bien davantage au démarrage. Les fils d’un moteur ne vont donc jamais directement sur une broche de la carte : ils passent par un étage de puissance, le pont en H, qui inverse le sens du courant — donc le sens de rotation — et hache la tension pour doser la vitesse.
Un module L298N commande deux moteurs à courant continu : il suffit donc, ici, d’un seul module pour tout le châssis. Il reçoit l’alimentation des moteurs sur sa borne d’entrée, et deux signaux par moteur depuis la carte — une sortie PWM pour la vitesse, deux sorties numériques pour le sens. La masse du module et celle de la carte doivent être reliées, sans quoi le module ne reçoit aucun ordre exploitable.
Point à vérifier au montage : la tension d’alimentation des moteurs décide du cavalier du régulateur sur le module. En dessous de 7 V, le cavalier se retire et la logique du module est alimentée par la carte en 5 V ; au-dessus, il reste en place et le module produit lui-même sa tension de logique. Un module laissé au mauvais réglage chauffe ou ne répond pas.
Monter et vérifier le châssis
| Les roues | Appuyer chaque roue à fond sur son axe à méplat, bien droite. Une roue enfoncée de biais force sur les engrenages plastiques du réducteur, et c’est la pièce qui casse en premier. Ne pas frapper dessus : pousser à la main suffit. |
|---|---|
| La roulette | Elle doit toucher le sol sans porter le poids du robot : platine posée sur une table, les deux roues motrices et la roulette doivent la toucher, et le châssis rester parallèle au sol. Régler avec les entretoises de la fourche, jamais en forçant sur la platine. |
| Les vis | Reprendre la visserie une par une : une vis desserrée suffit à faire prendre du jeu au train roulant et à dérégler la trajectoire. |
| Les quatre fils des moteurs | Repérer le moteur de gauche et celui de droite avant de les visser dans les bornes du module : deux moteurs inversés font tourner le robot au lieu de le faire avancer. |
| La platine | Vérifier qu’elle n’est pas voilée, et poser la carte de commande à l’écart des roues pour qu’aucun fil ne soit happé en roulant. |
| Le porte-piles | Vérifier le sens des cellules avant de brancher : une pile inversée dans un logement en série empêche le pack de débiter, ou l’inverse. Contrôler la tension entre les deux fils au multimètre avant de la relier au module. |
Mini-projet : un suiveur de ligne à deux capteurs
Objectif : le robot suit une bande noire collée au sol, sans intervention. Deux capteurs infrarouges placés sous l’avant lisent la piste, l’un à gauche de la ligne, l’autre à droite. Tant que les deux voient le sol clair, la ligne est entre eux et le robot avance ; dès que l’un des deux voit le noir, la ligne a dévié et le moteur opposé corrige. C’est le projet qui valide à la fois le train roulant, le module de pilotage et le principe du capteur avant d’en ajouter d’autres.
Ce qu’il faut
| La base | Le châssis de cette page, ses deux moteurs et ses deux roues |
|---|---|
| Le cerveau | Arduino Uno R3 avec son câble USB |
| L’étage de puissance | Un seul module de pont en H double, qui pilote les deux moteurs du châssis |
| Les yeux | Deux capteurs optiques infrarouges TCRT5000, montés sous la platine à l’avant, écartés d’environ la largeur de la bande noire |
| L’énergie | Un support de piles 4 x AA 6 V et ses piles, dédié aux moteurs et distinct de l’alimentation de la carte |
| Les liaisons | Six fils Dupont entre la carte et les entrées du module, quatre fils pour les capteurs, plus les quatre fils des moteurs |
Le câblage
Module 12V | Le + du support de piles |
|---|---|
Module GND | Le 0 V du support de piles et une broche GND de la carte : les deux masses sont communes |
Module 5V | Broche 5V de la carte, cavalier du régulateur retiré — l’alimentation des moteurs étant inférieure à 7 V |
Module ENA | Broche D9 — vitesse du moteur gauche, sortie PWM |
Module IN1, IN2 | Broches D8 et D7 — sens du moteur gauche |
Module ENB | Broche D6 — vitesse du moteur droit |
Module IN3, IN4 | Broches D5 et D4 — sens du moteur droit |
Module OUT1, OUT2 | Les deux fils du moteur gauche |
Module OUT3, OUT4 | Les deux fils du moteur droit |
| Capteur gauche | Sortie numérique sur D2, alimentation sur 5V et GND |
| Capteur droit | Sortie numérique sur D3, alimentation sur 5V et GND |
Un moteur qui tourne à l’envers pour un ordre d’avance s’inverse en permutant ses deux fils sur sa borne : c’est la seule reprise à faire, et elle se fait moteur par moteur, car rien n’impose un sens à un moteur à courant continu.
Le programme
À téléverser dans l’IDE Arduino, puis à essayer sur une piste faite d’une bande adhésive noire d’une vingtaine de millimètres, collée sur un sol clair :
/*
* Voiture robotique a deux roues motrices : suiveur de ligne
* Carte : Arduino Uno R3
* Cablage : capteur gauche sur D2, capteur droit sur D3
* ENA D9, IN1 D8, IN2 D7 pour le moteur gauche
* ENB D6, IN3 D5, IN4 D4 pour le moteur droit
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte CAPTEUR_G = 2;
const byte CAPTEUR_D = 3;
const byte ENA = 9;
const byte IN1 = 8;
const byte IN2 = 7;
const byte ENB = 6;
const byte IN3 = 5;
const byte IN4 = 4;
const byte VITESSE = 130; // consigne de vitesse, entre 0 et 255
// Valeur rendue par un capteur pose sur la bande noire : selon le module,
// c est HIGH ou LOW. A verifier au moniteur serie avant le premier essai.
const byte NOIR = HIGH;
byte dernierCote = 1; // 1 : la ligne a ete vue a gauche, 2 : a droite
void moteurGauche(byte sens, byte vitesse) {
if (sens == 0) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
analogWrite(ENA, 0);
} else if (sens == 1) {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, vitesse);
} else {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, vitesse);
}
}
void moteurDroit(byte sens, byte vitesse) {
if (sens == 0) {
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENB, 0);
} else if (sens == 1) {
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENB, vitesse);
} else {
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, vitesse);
}
}
void avancer() {
moteurGauche(1, VITESSE);
moteurDroit(1, VITESSE);
}
void tournerGauche() {
moteurGauche(0, 0);
moteurDroit(1, VITESSE);
}
void tournerDroite() {
moteurGauche(1, VITESSE);
moteurDroit(0, 0);
}
void arreter() {
moteurGauche(0, 0);
moteurDroit(0, 0);
}
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(CAPTEUR_G, INPUT);
pinMode(CAPTEUR_D, INPUT);
Serial.begin(9600);
arreter();
delay(2000); // le temps de poser le robot sur la piste
}
void loop() {
bool noirG = (digitalRead(CAPTEUR_G) == NOIR);
bool noirD = (digitalRead(CAPTEUR_D) == NOIR);
if (noirG) {
dernierCote = 1;
}
if (noirD) {
dernierCote = 2;
}
if (noirG) {
if (noirD) {
avancer(); // les deux capteurs sur la ligne : tout droit
} else {
tournerDroite(); // seul le gauche a vu la ligne : le robot a derive
}
} else {
if (noirD) {
tournerGauche();
} else if (dernierCote == 1) {
tournerGauche(); // ligne perdue : on repart du cote ou elle a ete vue
} else {
tournerDroite();
}
}
}Comment ça marche
- Le capteur infrarouge renvoie une valeur différente selon la couleur de la surface : le sol clair réfléchit, la bande noire absorbe. C’est cette différence que le programme lit, sans rien mesurer d’autre.
- Un seul module de pont en H suffit : chaque moteur a sa sortie de vitesse et ses deux sorties de sens, et les deux moteurs sont commandés indépendamment — c’est ce qui permet de corriger la trajectoire.
- Le pivot d’un côté s’obtient en arrêtant un moteur et en faisant tourner l’autre : le robot tourne alors autour de la roue arrêtée, la roulette suivant l’arc.
- La variable
dernierCoteévite de perdre la piste aux croisements et aux interruptions de bande : quand aucun capteur ne voit plus la ligne, le robot reprend la recherche du côté où il l’avait vue en dernier. - Rien n’est mesuré : le robot ne connaît ni distance ni vitesse réelle. Toute la justesse du suivi vient du réglage mécanique et de la consigne de vitesse.
La mise au point, dans cet ordre
- Vérifier le sens des moteurs, roues en l’air. Téléverser, ouvrir le moniteur série à 9600 bauds, alimenter le module. Si un moteur tourne à l’envers pour l’ordre d’avance, permuter ses deux fils sur sa borne de sortie.
- Faire aller le robot droit. Tracer une ligne au sol sur deux mètres, lancer une avance : si le robot tire d’un côté, baisser la vitesse du côté qui va le plus vite, par pas de cinq, jusqu’à ce que l’écart tienne dans la largeur du châssis sur deux mètres. Relever les deux valeurs atteintes : elles remplacent la consigne unique.
- Régler la hauteur des capteurs. Environ cinq millimètres au-dessus du sol, et surtout parallèles à la platine. Trop haut, le capteur ne distingue plus la bande noire ; de biais, les deux capteurs ne voient pas la même chose.
- Écarter les capteurs à la largeur de la bande. Trop rapprochés, ils voient la ligne en même temps et le robot zigzague ; trop écartés, il perd la piste à chaque virage.
- Baisser la vitesse si le robot quitte la piste. Un suiveur de ligne qui va trop vite dépasse la correction avant que le moteur ait répondu : la vitesse est le premier réglage à réduire, pas le dernier.
Variante : les mêmes roues, d’autres yeux
Le châssis ne change pas ; seule la façon de voir change. Deux évolutions tiennent en quelques lignes :
- Évitement d’obstacles — un capteur à ultrasons HC-SR04 fixé à l’avant remplace les deux capteurs de ligne : le programme mesure la distance, arrête les moteurs quand un obstacle se présente, puis manœuvre jusqu’à retrouver la voie libre. Le capteur se visse sur les trous de la platine sans perçage supplémentaire.
- Pilotage à distance — le même programme de suivi, précédé d’une lecture de commande reçue par liaison sans fil, permet de reprendre la main sur le robot à tout moment : utile pour le ramener à la main quand il quitte la piste.
Questions fréquentes
Le robot tourne autour de sa roulette au lieu de pivoter, est-ce normal ?
Oui, c’est mécanique. Les deux roues motrices forment un seul axe, la roulette est le pivot : le robot décrit donc un arc dont le rayon est la distance entre l’axe des roues et la roulette. Rapprocher la roulette de l’axe des roues réduit ce rayon, mais rend le robot plus sensible au basculement vers l’avant. Aucun réglage ne le fait pivoter sur place : c’est l’avantage réservé aux châssis à quatre roues motrices.
Peut-on alimenter les moteurs depuis le port USB ?
Non. Un port USB fournit environ 500 mA, dont la carte consomme déjà une partie, alors que les deux moteurs appellent bien davantage et tirent une pointe au démarrage. Le symptôme est net : la carte redémarre en boucle dès que les moteurs sont commandés, et le moniteur série réaffiche son message d’accueil. L’alimentation des moteurs passe par un pack dédié, masse commune avec la carte.
Faut-il souder les fils des moteurs ?
Cela dépend du lot : sur cette famille de moteurs, les deux fils sont soit déjà soudés sur leurs plots, soit livrés séparés et à souder. Vérifier à la réception, avant de remonter le châssis, et repérer au passage la couleur des fils de chaque côté — c’est ce repérage qui évite d’inverser les deux moteurs au moment du branchement sur le module.
Le lot comprend-il une carte électronique ou des piles ?
Non. Le lot est la base mécanique montée montrée sur la photo du produit, avec sa visserie et son porte-piles. Ni carte de commande, ni module de pilotage, ni capteur, ni pile ne sont fournis : ils se commandent séparément, et le porte-piles est vide à la réception.
Quelle différence avec la version à quatre roues ?
La version à quatre roues motrices est plus lourde, consomme davantage et coûte plus cher à équiper, mais elle pivote sur place et ne dépend d’aucune roue folle pour tenir sa trajectoire. La version à deux roues de cette page est plus légère, se contente d’un seul module de pilotage et d’un pack d’alimentation plus modeste — au détriment d’un rayon de giration et d’une adhérence qui dépendent entièrement de la roulette avant.
À combiner avec
La pièce qui souffre en premier sur ce châssis est le train roulant : un motoréducteur avec sa roue se garde d’avance et remplace en quelques minutes un moteur dont les engrenages ont lâché.
Pour ajouter le pilotage à distance, un module Bluetooth série HC-05 se branche sur les broches de port série de la carte et remplace le moniteur série : les mêmes lettres arrivent alors d’une application de terminal, depuis un téléphone. Débrancher le module avant chaque téléversement, il occupe les broches du port série.
Si l’objectif est d’avoir un robot complet et fonctionnel sans réunir les pièces une à une, le kit robot 4WD IR Bluetooth multi-fonctions réunit une mécanique équivalente avec sa carte de commande, ses capteurs et sa connectique. À l’inverse, un robot suiveur de ligne déjà monté convient à qui veut le résultat du mini-projet de cette page sans rien câbler.
Les autres bases roulantes et modules de cette famille se trouvent dans packs, kits et robots et dans robot.










