Bibliothèque commune schemas/outils.py (boîtes, flèches, chronogrammes, séquences). M0 : chaîne de développement, séquence BOOT/RESET. M1 : architecture, comparatif Uno/ESP32-S3, diviseur de tension. M2 : pull-up, rebonds, chenillard, protocole WS2812. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
120 lines
5.6 KiB
Plaintext
120 lines
5.6 KiB
Plaintext
---
|
|
title: "Module 0 — Prérequis & Installation"
|
|
---
|
|
|
|
## Objectifs du module
|
|
|
|
- Comprendre le rôle et les avantages de l'Arduino IDE pour programmer un ESP32-S3.
|
|
- Installer et configurer l'environnement de développement.
|
|
- Identifier et installer les pilotes nécessaires à la reconnaissance de la carte.
|
|
- Flasher un premier programme (Blink) et valider la chaîne complète (code → compilation → upload → exécution).
|
|
|
|
## 1. Matériel utilisé dans cette formation
|
|
|
|
Toute la formation s'appuie sur une carte de développement ESP32-S3-WROOM-1 (DevKitC-1 ou équivalent). Points clés à connaître dès maintenant :
|
|
|
|
- Microcontrôleur Xtensa LX7 double cœur, cadencé jusqu'à 240 MHz.
|
|
- Connexion USB native (USB OTG) : pas besoin de convertisseur USB-série externe sur la plupart des DevKits S3.
|
|
- Une LED RGB adressable (NeoPixel / WS2812) intégrée sur la carte — nous l'utiliserons au Module 2.
|
|
- Wi-Fi 2,4 GHz + Bluetooth Low Energy (BLE) — attention : pas de Bluetooth Classic sur l'ESP32-S3.
|
|
- Alimentation 3,3 V logique (contrairement à l'Arduino Uno qui est en 5 V) : ne jamais appliquer plus de 3,3 V sur une broche GPIO.
|
|
|
|
::: {.callout-note title="À vérifier avant de commencer"}
|
|
Le modèle exact de votre carte peut varier (nombre de broches, position de la LED NeoPixel, présence de PSRAM). Repérez sur votre carte la sérigraphie indiquant le numéro de chaque GPIO : elle servira de référence tout au long de la formation.
|
|
:::
|
|
|
|
## 2. Installation de l'Arduino IDE
|
|
|
|
### 2.1 Téléchargement
|
|
|
|
Rendez-vous sur le site officiel arduino.cc/en/software et téléchargez la version 2.x de l'Arduino IDE (interface plus moderne, gestion de projets multiples, terminal série amélioré) pour votre système d'exploitation (Windows, macOS, Linux).
|
|
|
|
### 2.2 Installation des pilotes USB
|
|
|
|
Selon la puce USB-série présente sur votre carte (souvent inutile si la carte utilise l'USB natif du S3), il peut être nécessaire d'installer un pilote :
|
|
|
|
- CP210x (Silicon Labs) — pour certains DevKits.
|
|
- CH340/CH343 — pour d'autres clones.
|
|
|
|
Sur Windows, le Gestionnaire de périphériques doit afficher un port COM une fois la carte branchée. Sur macOS/Linux, la carte apparaît généralement automatiquement (/dev/tty.usbserial-\* ou /dev/ttyUSB\*/ttyACM\*).
|
|
|
|
## 3. Ajout du support ESP32 dans l'Arduino IDE
|
|
|
|
Par défaut, l'IDE ne connaît que les cartes Arduino officielles. Il faut ajouter le paquet de définitions Espressif :
|
|
|
|
### Étapes
|
|
|
|
- Ouvrir Fichier \> Préférences (ou Arduino IDE \> Réglages sur macOS).
|
|
- Dans « URL de gestionnaire de cartes supplémentaires », ajouter :
|
|
|
|
```text
|
|
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
|
|
```
|
|
|
|
- Ouvrir Outils \> Type de carte \> Gestionnaire de cartes.
|
|
- Rechercher « esp32 » et installer le paquet « esp32 by Espressif Systems » (dernière version stable).
|
|
- Redémarrer l'IDE.
|
|
|
|
## 4. Sélection et configuration de la carte
|
|
|
|
Une fois le paquet installé :
|
|
|
|
- Outils \> Type de carte \> ESP32 Arduino \> choisir « ESP32S3 Dev Module ».
|
|
- Outils \> Port : sélectionner le port série apparu à la connexion de la carte.
|
|
- Outils \> USB CDC On Boot : Enabled (recommandé pour voir les messages Serial dès le démarrage sur l'ESP32-S3).
|
|
- Outils \> Upload Speed : 921600 (par défaut, réduire en cas d'échec d'upload).
|
|
|
|
::: {.callout-tip title="Astuce mode téléchargement"}
|
|
Si l'upload échoue avec un message « Failed to connect », maintenez le bouton BOOT appuyé, appuyez brièvement sur RESET, relâchez BOOT, puis relancez le téléversement. Ce geste force la carte en mode bootloader.
|
|
:::
|
|
|
|
{#fig-m00-boot-reset width=90%}
|
|
|
|
## 5. Premier programme : Blink
|
|
|
|
Nous allons vérifier que toute la chaîne (code → compilation → upload → exécution) fonctionne, en faisant clignoter la LED intégrée.
|
|
|
|
{#fig-m00-chaine-developpement}
|
|
|
|
```cpp
|
|
// Sur la plupart des DevKitC ESP32-S3, la LED simple (non RGB) est sur la broche 2.
|
|
// Vérifiez la sérigraphie de votre carte : elle peut varier.
|
|
#define LED_PIN 2
|
|
|
|
void setup() {
|
|
pinMode(LED_PIN, OUTPUT);
|
|
Serial.begin(115200);
|
|
Serial.println("Demarrage du programme Blink");
|
|
}
|
|
|
|
void loop() {
|
|
digitalWrite(LED_PIN, HIGH);
|
|
delay(500);
|
|
digitalWrite(LED_PIN, LOW);
|
|
delay(500);
|
|
Serial.println("Clignotement...");
|
|
}
|
|
```
|
|
|
|
Compilez avec le bouton ✓ (Vérifier), puis téléversez avec la flèche → (Téléverser). Ouvrez le Moniteur Série (Outils \> Moniteur Série, vitesse 115200 bauds) pour voir les messages s'afficher.
|
|
|
|
## 6. Checklist de fin de module
|
|
|
|
- [ ] Arduino IDE installé et à jour.
|
|
- [ ] Pilotes USB installés si nécessaire, port COM/tty visible.
|
|
- [ ] Paquet ESP32 (Espressif) installé via le gestionnaire de cartes.
|
|
- [ ] Carte « ESP32S3 Dev Module » sélectionnée avec le bon port.
|
|
- [ ] Programme Blink compilé, téléversé et fonctionnel.
|
|
- [ ] Moniteur série fonctionnel (messages visibles à 115200 bauds).
|
|
|
|
## Exercice pratique
|
|
|
|
Modifiez le programme Blink pour :
|
|
|
|
- Faire clignoter la LED avec un rythme irrégulier (ex : court, court, long — façon morse).
|
|
- Afficher dans le moniteur série un compteur du nombre de clignotements depuis le démarrage.
|
|
|
|
## Pour aller plus loin (facultatif)
|
|
|
|
Consultez la documentation officielle Espressif sur le cœur Arduino pour ESP32 : elle liste l'ensemble des cartes supportées et des options spécifiques (partitions, PSRAM, etc.) que nous détaillerons au Module 1.
|