Cours de Robotique avec Arduino

Niveau Débutant

Cours de
Robotique
avec Arduino

Apprenez à créer des robots et des circuits électroniques passionnants avec Arduino. Un cours pratique et interactif conçu pour les jeunes inventeurs.

10 Modules
3 Projets
100% Pratique

La Robotique : Un Monde Passionnant

La robotique est un domaine fascinant qui combine l'électronique, la programmation et la mécanique pour créer des machines intelligentes capables d'interagir avec leur environnement.

💻

Programmation

Apprenez à coder avec le langage Arduino (basé sur C/C++) pour donner vie à vos robots.

Électronique

Comprenez les circuits, les capteurs et les actionneurs qui composent un robot.

⚙️

Mécanique

Construisez la structure physique de vos robots avec des matériaux simples.

Découvrez Arduino Uno

Arduino Uno est une carte de développement open-source basée sur le microcontrôleur ATmega328P. C'est la carte la plus populaire pour débuter en robotique grâce à sa simplicité d'utilisation et sa communauté immense.

  • 14

    Broches Numériques

    Broches 0 à 13 — pour les entrées/sorties digitales (LED, boutons, etc.)

  • 6

    Broches Analogiques

    A0 à A5 — pour lire des valeurs de capteurs (température, lumière, etc.)

  • 5V / 3.3V

    Alimentation pour vos composants — 5V (400mA max) et 3.3V (50mA max)

  • 🔌

    Port USB

    Connexion à l'ordinateur pour programmer et alimenter la carte

mon_premier_programme.ino
void setup() {
  // Configuration initiale
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH); // LED allumée
  delay(1000);               // 1 seconde
  digitalWrite(13, LOW);  // LED éteinte
  delay(1000);               // 1 seconde
}
💡

Ce programme fait clignoter la LED intégrée à la carte Arduino (broche 13) toutes les secondes.

Électronique de Base

Avant de construire des robots, il est essentiel de comprendre les concepts fondamentaux de l'électronique.

Les grandeurs électriques

V

Tension (Volts — V)

La « poussée » électrique qui fait circuler le courant. Comme la pression dans un tuyau d'eau. Arduino fournit 5V.

I

Courant (Ampères — A)

Le débit d'électricité qui traverse le circuit. Comme le débit d'eau dans un tuyau. Mesuré en milliampères (mA).

R

Résistance (Ohms — Ω)

L'obstacle au passage du courant. Plus la résistance est grande, moins le courant passe. Essentielle pour protéger les LED !

U = R × I
Loi d'Ohm — La formule fondamentale de l'électronique
Circuit électronique Arduino

Circuits : Série vs Parallèle

🔗

Circuit en Série

  • Les composants sont branchés les uns à la suite des autres
  • Le courant est le même partout
  • Si un composant tombe en panne, tout s'arrête
  • La tension se divise entre les composants
R_total = R1 + R2 + R3
🔀

Circuit en Parallèle

  • Les composants sont branchés côte à côte
  • La tension est la même partout
  • Si un composant tombe en panne, les autres continuent
  • Le courant se divise entre les branches
1/R_total = 1/R1 + 1/R2 + 1/R3

Votre Premier Circuit

Montez un circuit simple avec une LED, une résistance et un bouton poussoir.

📋 Matériel nécessaire

🔌
Arduino Uno
x1
💡
LED rouge
x1
🟫
Résistance 220Ω
x1
🔘
Bouton poussoir
x1
Breadboard
x1
🔗
Fils de connexion
x5

🔧 Étapes de montage

  • 1
    Placez la LED sur la breadboard
    La patte longue (+) vers la droite, la patte courte (-) vers la gauche
  • 2
    Connectez la résistance (220Ω)
    Entre la patte courte de la LED et la ligne GND (bleue) de la breadboard
  • 3
    Reliez la patte longue au pin 13
    Fil rouge entre la patte longue de la LED et la broche 13 de l'Arduino
  • 4
    Reliez le GND
    Fil noir entre la ligne GND de la breadboard et le pin GND de l'Arduino
led_bouton.ino — Arduino IDE
// === Circuit LED + Bouton ===
// Broche 13 = LED
// Broche 2  = Bouton

const int LED_PIN = 13;
const int BTN_PIN = 2;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(BTN_PIN, INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println("Circuit prêt !");
}

void loop() {
  int etatBtn = digitalRead(BTN_PIN);
  
  if (etatBtn == LOW) {
    digitalWrite(LED_PIN, HIGH);
    Serial.println("LED ALLUMEE");
  } else {
    digitalWrite(LED_PIN, LOW);
    Serial.println("LED ETEINTE");
  }
  delay(100);
}
💡

Le mode INPUT_PULLUP active une résistance interne de pull-up, ce qui évite d'avoir besoin d'une résistance externe pour le bouton. Quand le bouton n'est pas pressé, la broche lit HIGH ; quand il est pressé, elle lit LOW.

Programmation Arduino

Le langage Arduino est basé sur C/C++. Il utilise deux fonctions principales : setup() et loop().

🔄

setup()

Exécutée une seule fois au démarrage. C'est ici qu'on configure les broches, initialise les communications, etc.

void setup() {
  // Configuration
}
🔁

loop()

Exécutée en boucle infinie après setup(). C'est le cœur du programme, là où la logique se déroule.

void loop() {
  // Code répété
}
📝

Variables & Types

Arduino supporte les types classiques : int, float, bool, char, String.

int valeur = 42;
float temp = 23.5;
bool actif = true;

📚 Fonctions essentielles

pinMode(pin, mode)

Définit une broche comme INPUT ou OUTPUT

digitalWrite(pin, val)

Écrit HIGH ou LOW sur une broche digitale

digitalRead(pin)

Lit l'état HIGH ou LOW d'une broche

analogRead(pin)

Lit une valeur 0-1023 sur une broche analogique

analogWrite(pin, val)

Écrit une valeur PWM (0-255) pour varier l'intensité

delay(ms)

Pause le programme pendant X millisecondes

Serial.begin(baud)

Initialise la communication série (ex: 9600)

Serial.print(texte)

Affiche du texte dans le Moniteur Série

Les Capteurs

Les capteurs sont les « sens » du robot. Ils lui permettent de percevoir son environnement.

📡 HC-SR04
Ultrason

Capteur de distance ultrason (HC-SR04)

Mesure la distance jusqu'à un obstacle en émettant des ondes ultrasonores. Portée : 2cm à 400cm.

Connexion :
VCC → 5V GND → GND Trig → Pin 9 Echo → Pin 10
float distance = pulseIn(echoPin, HIGH) * 0.034 / 2;
🌡️ DHT11
Analogique

Capteur température/humidité (DHT11)

Mesure la température (0-50°C) et l'humidité (20-90%) avec une précision raisonnable.

Connexion :
VCC → 5V GND → GND DATA → Pin 2
float temp = dht.readTemperature();
float hum = dht.readHumidity();
☀️ LDR
Analogique

Capteur de lumière (LDR)

La photo-résistance (LDR) change de résistance selon la luminosité. Parfait pour un robot suiveur de ligne.

Connexion :
+ → 5V - → GND (via R) Signal → A0
int lum = analogRead(A0);
// 0 = obscur, 1023 = lumineux

Les Moteurs

Les moteurs sont les « muscles » du robot. Ils convertissent l'énergie électrique en mouvement.

⚙️

Moteur DC

Moteur à courant continu

Le moteur DC tourne à vitesse constante. On le contrôle avec un pont en H (L298N ou L293D) pour changer le sens de rotation et la vitesse.

Contrôle avec L298N :

  • • IN1/IN2 → Contrôle du sens de rotation
  • • ENA → Contrôle de la vitesse (PWM)
  • • OUT1/OUT2 → Branchés au moteur
// Avancer
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 200); // Vitesse
🦾

Servomoteur (SG90)

Moteur à position angulaire

Le servomoteur permet un contrôle précis de l'angle (0° à 180°). Idéal pour les bras robotiques, les caméras orientables, ou le « regard » d'un robot.

Connexion :

  • Fil rouge → 5V
  • Fil marron → GND
  • Fil orange → Pin PWM (ex: 9)
#include <Servo.h>
Servo monServo;

void setup() {
  monServo.attach(9);
}
monServo.write(90); // 90 degrés

Projets Complets

Mettez en pratique tout ce que vous avez appris avec ces trois projets passionnants.

🤖 Robot Éviteur d'Obstacles
PROJET 1

🤖 Robot Éviteur d'Obstacles

Construisez un robot mobile capable de détecter les obstacles et de les éviter automatiquement. C'est le projet classique et essentiel pour débuter en robotique !

  • Châssis 4 roues avec moteurs DC
  • Pont en H L298N pour contrôler les moteurs
  • Capteur ultrason HC-SR04 pour détecter les obstacles
  • Servomoteur pour orienter le capteur
  • Pile 9V ou pack Li-ion pour l'alimentation

🧠 Algorithme du robot :

  1. Le robot avance tout droit
  2. Le capteur ultrason mesure la distance en continu
  3. Si un obstacle est détecté à moins de 20 cm → STOP
  4. Le servomoteur tourne le capteur à gauche, puis à droite
  5. Le robot compare les deux mesures et tourne dans la direction la plus libre
  6. Le robot reprend sa route
🦾 Bras Robotisé 3 DoF
PROJET 2

🦾 Bras Robotisé 3 DoF

Construisez un bras robotique articulé avec 3 degrés de liberté (base, épaule, coude) et une pince. Contrôlez-le avec un joystick ou via le moniteur série.

  • 3 servomoteurs SG90 ou MG996R (plus puissant)
  • Structure en pièces imprimées 3D ou carton rigide
  • Shield servomoteur PCA9685 (optionnel)
  • Alimentation externe 5V 2A pour les servos

🧠 Fonctionnement :

Chaque servomoteur contrôle un axe du bras. Envoyez des commandes via le Moniteur Série (ex: base:90, epaule:45) ou utilisez un joystick avec des potentiomètres pour un contrôle en temps réel.

🌡️ Station Météo Connectée
PROJET 3

🌡️ Station Météo Connectée

Créez une station météo qui mesure la température, l'humidité et la luminosité, affiche les données sur un écran LCD et les envoie à un smartphone via Bluetooth.

  • Capteur DHT11 pour température et humidité
  • Capteur LDR pour la luminosité
  • Écran LCD 16x2 pour l'affichage
  • Module Bluetooth HC-05 pour la connexion sans fil

🧠 Fonctionnalités :

  1. Mesure la température toutes les 2 secondes
  2. Affiche les données sur l'écran LCD
  3. Envoie les données au smartphone via Bluetooth
  4. Change de couleur de LED selon la température (bleu=froid, vert=normal, rouge=chaud)
  5. Stocke les données sur carte SD (optionnel)
🔧

Débogage

Quand quelque chose ne fonctionne pas, suivez cette méthode systématique :

  • 1

    Vérifiez les connexions

    80% des problèmes viennent d'un fil mal branché ou d'une breadboard déconnectée.

  • 2

    Utilisez le Moniteur Série

    Ajoutez des Serial.println() pour voir les valeurs en temps réel.

  • 3

    Testez composant par composant

    Ne testez pas tout d'un coup. Commencez par la LED, puis le bouton, puis le capteur.

  • 4

    Vérifiez l'alimentation

    Un moteur qui ne tourne pas ? Vérifiez la pile ou l'alimentation externe.

🛡️

Sécurité

La sécurité est primordiale quand on travaille avec l'électronique :

  • Ne jamais dépasser 5V

    L'Arduino supporte un maximum de 5V sur ses broches. Ne connectez jamais directement du 12V ou 220V.

  • 🔌

    Débranchez avant de modifier

    Toujours débrancher l'Arduino avant de modifier le câblage.

  • 💡

    Utilisez toujours une résistance avec les LED

    Sans résistance, la LED grille immédiatement ! Minimum 220Ω pour une LED rouge.

  • 🔋

    Attention aux courts-circuits

    Ne reliez jamais directement le 5V au GND. Cela peut endommager l'Arduino.

Ressources Complémentaires

Continuez votre apprentissage avec ces ressources soigneusement sélectionnées.

🌐

Site Officiel Arduino

Documentation complète, tutoriels et référence des fonctions.

arduino.cc →
▶️

Tutoriels Vidéo

Des chaînes YouTube francophones dédiées à Arduino et la robotique.

YouTube →
📚

Livres Recommandés

« Arduino pour les Nuls », « Programmation Arduino » aux éditions Eyrolles.

Bibliothèque locale
👥

Communauté & Forums

Posez vos questions sur le forum Arduino ou des groupes Facebook dédiés.

forum.arduino.cc →

💡 Idées de Projets Avancés

🏎️

Robot Suiveur de Ligne

Capteurs infrarouges + logique de correction PID pour suivre une ligne noire sur fond blanc.

📱

Voiture Télécommandée Bluetooth

Contrôlez votre robot depuis un smartphone avec une application MIT App Inventor.

🌱

Système d'Arrosage Automatique

Capteur d'humidité du sol + pompe à eau + relais pour arroser automatiquement vos plantes.

🚨

Alarme de Sécurité avec PIR

Détecteur de mouvement PIR + buzzer + LED pour créer une alarme anti-intrusion.

Horloge avec Module RTC

Module DS3231 + écran LCD pour afficher l'heure et la date, même après coupure de courant.

🎮

Console de Jeu Rétro

Écran OLED + boutons directionnels + buzzer pour créer des mini-jeux rétro.

🎯 Compétences Acquises

À la fin de ce cours, vous maîtriserez :

Circuit électronique

Breadboard, résistance, LED, bouton, câblage propre

Programmation Arduino

Variables, conditions, boucles, fonctions, Serial

Capteurs

HC-SR04, DHT11, LDR, lecture analogique et digitale

Moteurs & Actionneurs

Moteur DC, pont en H L298N, servomoteur SG90

Débogage & Méthodologie

Méthode systématique, Moniteur Série, tests unitaires

Créativité & Projets

3 projets complets, idées pour aller plus loin
🎉

Merci de Votre Attention !

Vous avez maintenant toutes les bases pour créer vos propres robots et projets électroniques. La robotique est un domaine passionnant où la créativité n'a pas de limites !

📬 Questions ?

Posez-les maintenant ou par email :

contact@arduino-edu.fr

🌟 Bonne chance dans vos projets robotiques !

Posts les plus consultés de ce blog

Tous les cours de la 2ASC

Cours 1 - 2ASC: Notion d'un système informatique

Cours 2 - 2ASC: Système d'exploitation et réseau