Premier programme: Faire clignoter une LED
Montage
Vous vous demandez comment faire tenir l’ESP32-DevKitC sur deux platines d’essai ? Cet article vous expliquera la marche à suivre : Enregistrer sa voix au format WAV.

Pour le câblage:
- La borne + de la LED est à relier à la broche 4 de l’ESP32-DevKitC.
- La borne – de la LED est connectée à la résistance
- L’autre extrémité de la résistance va à la masse (GND) de l’ESP32-DevKitC.
Important : La résistance est obligatoire pour limiter le courant et protéger à la fois la LED et l’ESP32.
Bien qu’optionnel, le montage suivant est intéressant car il permet de faire fonctionner l’ESP32-DevKitC avec une alimentation autonome rechargeable:

Pour l’alimentation de l’ESP32-DevKitC:
- Fil rouge, relier la broche 3V3 de l’ESP32-DevKitC est à OUT+ du chargeur.
- Fil noir, relier la masse de l’ESP32-DevKitC à OUT- du chargeur..
- Fil orange, relier la borne B+ à la borne + de la batterie 18650.
- Fil marron, relier la borne B- à la borne – de la batterie 18650.
Code Python de ce premier programme
# On importe les modules nécessaires :
from machine import Pin
from time import sleep
# On configure la broche où la LED est branchée
led = Pin(4, Pin.OUT)
# Boucle principale : le code qui tourne sans arrêt
while True:
led.value(1) # Allume la LED
sleep(0.5) # Attend 0,5 seconde
led.value(0)
sleep(0.5)
Le code expliqué
1) Importation des modules
from machine import Pin from time import sleep
Ces deux lignes importent les outils essentiels :
- Pin permet de contrôler les broches GPIO de l’ESP32
- Sleep permet de créer des pauses temporelles
2) Configuration de la broche
led = Pin(4, Pin.OUT)
On crée un objet led qui représente la broche GPIO 4 configurée en sortie (Pin.OUT). Cette broche va envoyer du courant pour allumer la LED.
3) La boucle infinie
while True:
led.value(1) # Allume
sleep(0.5) # Pause 500ms
led.value(0) # Éteint
sleep(0.5) # Pause 500ms
Cette boucle s’exécute indéfiniment :
- led.value(1) met la broche à l’état HAUT (3,3V), ce qui allume la LED.
- led.value(0) met la broche à l’état BAS (0V), ce qui éteint la LED.
- Les pauses de 0,5 seconde ralentissent le programme afin de rendre visible l’état de la LED
Préparer l’exécution du code
Avant d’exécuter le code de notre programme, nous vérifions que Thonny est connecté au MicroPython installé précédemment sur la carte ESP32-DevKitC. Si c’est le cas:
- Un petit triangle blanc sur fond vert s’affiche en haut à gauche de la barre des boutons
- Le dernier message affiché dans la console est : « >>>>« .

Vous pouvez dans ce cas passer directement au paragraphe suivant Exécuter le code en mode REPL.
Si au contraire, le petit triangle blanc sur fond vert est invisible ou qu’un message d’erreur en rouge « Connection lost » s’affiche dans la console, reconfigurez l’interpréteur dans Thonny.

Commencez par vérifier que votre ESP32-DevKitC est bien branchée au PC.
Cliquez ensuite sur le texte en bas à droite de la fenêtre principale (1), puis sélectionnez la ligne qui mentionne à la fois « MicroPython (ESP32) » et « CP2102 USB to UART Bridge Controller @ COMX » (2).

Vous devez maintenant voir la fenêtre dans l’état indiquant une connexion au MicroPython installé ESP32-DevKitC. Si c’est le cas, vous pouvez passer au paragraphe suivant Exécuter le code en mode REPL.
Sinon, allez dans le menu Exécuter → Configurer l’interpréteur…:

Vérifiez que e type « MicroPython (ESP32) » est bien choisi puis sélectionner le port « CP2102 USB to UART Bridge Controlleur @ COM? » correspondant à celui sur lequel est branché la carte.

Exécuter le code en mode REPL
Lorsqu’on lance le programme depuis Thonny sans préalablement l’enregistrer sur la carte, on utilise le mode REPL REPL (Read Evaluate Print Loop), aussi appelé mode interactif.
Pour exécuter le programme dans ce mode, cliquez sur le petit triangle blanc sur fond vert ou appuyez sur la touche F5.

Le code du programme est envoyé temporairement à l’ESP32 via la connexion série, il est interprété ligne par ligne, directement en mémoire vive, mais il n’est pas enregistré sur la carte.
Exécuter le code en mode Autonome
En mode Autonome, le code du script python est écrit dans la mémoire flash du microcontrôleur et se lance automatiquement chaque mise sous tension de l’ESP32-DevKitC.
Avant tout chose, si ce n’est déjà fait nous sortons du mode REPL par un clique sur le bouton « Stop ».

Exécuter le programme en mode autonome nécessite de déposer le script Python dans la flash de l’ESP32. Dans ce tutoriel, je vous présente 2 méthodes:
- Dépose du script par la méthode « Enregistrer sous ».
- Dépose du script par la méthode « Téléversement vers ».
Méthode de dépose du script par « Enregistrer sous »
Pour cela, accédez au menu Enregistrer sous… :

Puis choisir appareil MicroPython.

Et enfin choisir le nom « main.py » pour ce script Python.

Méthode de dépose du script par « Téléversement vers »
Cette méthode nécessite d’afficher l’explorateur de fichiers, masqué par défaut dans Thonny..
Pour la rendre visible, allez dans le menu Affichage → Fichiers:

Vous avez à l’écran 2 explorateurs de fichier. Celui du haut (2) vous permet de naviguer sur le disque de votre ordinateur. Celui du bas affiche le contenu de la flash de l’ESP32.

Nous allons commencer par enregistrer le script sur le disque dur de l’ordinateur avant de l’écrire sur la flash de l’ESP32-DevKitC.
Pour cela, accédez au menu Enregistrer sous… puis choisissez Cet Ordinateur.

Enfin, nommez le script « main.py« . Vous voyez alors apparaître le fichier dans l’explorateur de l’ordinateur..
Faites un clic droit sur ce fichier, puis choisissez « Téléversement vers » :

Le script Python apparaît désormais dans la liste des fichiers de la flash de l’ESP32.

Test du mode autonome
Pour lancer votre script automatiquement, appuyez sur le bouton “EN” ou débranchez puis rebranchez l’alimentation de l’ESP32-DevKitC.
Le programme Python s’exécute maintenant sans aide d’un PC, l’ESP32 a simplement besoin d’une source d’alimentation:
Quel est le principal atout de la carte ESP32 ?… C’est son interface Wifi ! Voyons comment l’exploiter en MicroPython (page 6).
