You are currently viewing Programmer l’ESP32-DevKitC en Python avec Thonny
Programmer l'ESP32-DevKitC en Python avec Thonny

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: 

Câblage de l'ESP32-DevKitC avec une LED et une alimentation autonome 18650
Câblage de l’ESP32-DevKitC avec une LED et une alimentation autonome 18650

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 : « >>>>« .
Thonny est connecté au MicroPython de la CarteESP32-DevKitC
Thonny est connecté au MicroPython de la carte ESP32-DevKitC

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.

Perte de la connexion entre Thonny et le MicroPython de la CarteESP32-DevKitC
Perte de la connexion entre Thonny et le MicroPython de la CarteESP32-DevKitC

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).  

Configuration rapide de l'interpréteur Thonny
Configuration rapide de l’interpréteur Thonny

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…:

Accéder à la configuration de l’interpréteur Thonny
Accéder à la configuration de l’interpréteur Thonny

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.

Configuration de l'interpréteur Thonny
Configuration de l’interpréteur Thonny

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.

Exécuter le script courant en mode REPL
Exécuter le script courant en mode REPL

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 un script Python en mode REPL avec Thonny

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 ». 

Arrêter un script Python exécuté en mode REPL avec Thonny
Arrêter un script Python exécuté en mode REPL avec Thonny

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… :

Accéder au menu "Enregistrer sous..." de Thonny
Accéder au menu « Enregistrer sous… » de Thonny

Puis choisir appareil MicroPython.

Choisir d'enregistrer le programme dans l'ESP32
Choisir d’enregistrer le programme dans l’ESP32

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

Nommer le script Python "main.py"
Nommer le script Python « main.py »

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.

Choisir d'enregistrer le programme dans l'ordinateur
Choisir d’enregistrer le programme dans l’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 » :

Accéder à l'action "Téléversement vers" depuis le menu contextuel
Accéder à l’action « Téléversement vers » depuis le menu contextuel

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

Le script python est maintenant dans la flash de l'ESP32
Le script python est maintenant dans 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:

Exécution du script Python en mode Autonome

Quel est le principal atout de la carte ESP32 ?… C’est son interface Wifi ! Voyons comment l’exploiter en MicroPython (page 6).

S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires