Index des chapitres Chapitre précédent Chapitre suivant

Chapitre 1 — Outputs digitaux

Mes premiers pas avec l'ESP32 : contrôler des LEDs et un buzzer.

Le contexte

Tout a commencé avec un kit DIYables ESP32 Starter Kit, un breadboard, et zéro expérience en électronique. L'objectif à long terme : construire un robot joueur de soccer. Mais d'abord, il fallait apprendre les bases — allumer une LED.

Le matériel

ESP32 NodeMCU
L'ESP32 NodeMCU — le cerveau du projet
Breadboard et LED
Le breadboard et une LED rouge — le terrain de jeu
ESP32 sur expansion board
L'ESP32 monté sur son expansion board avec borniers à vis

Exercice 1.1 — Allumer une LED externe

Le "Hello World" de l'électronique embarquée. Un circuit simple : GPIO 23 → résistance → LED → GND.

Ce que j'ai appris :

Premier circuit LED allumée
Le premier circuit ! ESP32 branché au Mac, LED allumée sur le breadboard
const int LED_PIN = 23;

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);  // Allumer
  delay(1000);
  digitalWrite(LED_PIN, LOW);   // Éteindre
  delay(1000);
}

Exercice 1.2 — Le Serial Monitor

Avant d'aller plus loin, j'ai appris à communiquer avec l'ESP32 via le port série. Le Serial Monitor est l'outil de debug indispensable — c'est comme un console.log pour microcontrôleur.

Ce que j'ai appris :


Exercice 1.3 — Patterns de clignotement

Trois patterns progressifs pour maîtriser le timing :

  1. Alternance — deux LEDs qui alternent
  2. SOS en morse — le classique . . . — — — . . .
  3. Heartbeat — battement de coeur avec des pauses irrégulières

Ce que j'ai appris :


Exercice 1.4 — Le buzzer piézo

Le premier composant qui fait du bruit ! Le buzzer utilise le PWM (Pulse Width Modulation) pour produire des fréquences sonores.

Ce que j'ai appris :

Buzzer piézo branché
Le buzzer piézo rejoint le circuit — ça fait du bruit !

Le piège ESP32 : Sur ESP32, on n'utilise pas tone() comme sur Arduino classique. Il faut utiliser l'API LEDC (ledcAttach/ledcWrite). C'est plus complexe mais plus puissant.


Exercice 1.5 — Le projet "Alarme" (machine à états)

Le boss de fin de la phase 1 ! Un système d'alarme complet avec 4 états :

VEILLE → ALERTE → DÉTECTÉ → RÉSOLUTION → VEILLE

Chaque état a son propre comportement (LED, buzzer, timing) et les transitions sont automatiques basées sur des temporisations.

Ce que j'ai appris :

Pourquoi c'est important pour le robot soccer : Un robot de soccer EST une machine à états : chercher la balle → approcher → tirer → défendre. Ce concept revient dans chaque phase.


Récapitulatif Phase 1

Concept Exercice Application robot soccer
digitalWrite 1.1 Contrôler des actionneurs on/off
Serial Monitor 1.2 Debug et télémétrie
Timing / delay 1.3 Séquences d'actions
PWM / LEDC 1.4 Contrôle de vitesse moteurs
Machine à états 1.5 Logique de comportement du robot

Temps total : ~2 heures

Difficulté : Facile (parfait pour un débutant total)

digitalWrite Serial delay PWM machine à états enum

↑ Retour à l'index

Prochain chapitre → Les inputs digitaux — le robot apprend à écouter.