ESP32 - LED - Clignoter sans délai

Ce tutoriel vous explique comment écrire du code MicroPython pour l'ESP32 afin de faire clignoter une LED sans bloquer les autres tâches. En détail, nous allons apprendre :

LED clignotante ESP32 MicroPython

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

À propos de la LED

Si vous n'êtes pas encore familier avec les LED (y compris leur brochage, leur fonctionnement, l'interfaçage avec l'ESP32 et l'écriture de code MicroPython pour l'ESP32 afin d'interagir avec elles), vous pouvez en savoir plus à l'adresse suivante :

Diagramme de câblage

Schéma de câblage LED ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code MicroPython ESP32 - LED clignotante sans mise en veille

Ce code MicroPython fait clignoter une DEL rapidement, en l'allumant pendant 250 millisecondes et en l'éteignant pendant 750 millisecondes, répétant ce motif en continu sans interrompre les autres programmes.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-micropython/esp32-micropython-blink-led-without-sleep */ from DIYables_MicroPython_LED import LED, CTRL_ANODE # Create an LED object that attaches to pin 18 led = LED(18, CTRL_ANODE) led.blink(250, 750) # 250ms ON, 750ms OFF, blink immediately # led.blink(250, 750, 1000) # Uncomment to blink after 1 second delay # Main loop while True: led.loop() # MUST call the led.loop() function in loop # DO OTHER TASKS HERE # To stop blinking immediately, call led.cancel()

Étapes rapides

Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Vérifiez que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c'est votre première utilisation d'un ESP32 avec MicroPython, consultez le guide ESP32 MicroPython Getting Started pour des instructions étape par étape.
  • Connectez la carte ESP32 à la LED selon le diagramme fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez Thonny IDE sur votre ordinateur.
  • Dans Thonny IDE, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. Thonny IDE le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sous Windows ou /dev/ttyACM0 sous Linux).
  • Allez dans Outils Gérer les paquets dans Thonny IDE.
  • Recherchez “DIYables-MicroPython-LED” et trouvez la bibliothèque LED de DIYables.
  • Cliquez sur DIYables-MicroPython-LED puis cliquez sur le bouton Install pour installer la bibliothèque LED sur la carte ESP32.
Bibliothèque LED MicroPython pour ESP32
  • Copier le code MicroPython fourni et le coller dans l'éditeur de Thonny.
  • Sauvegardez le code sur votre ESP32 en :
    • Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Consultez le message dans le Shell en bas de l'IDE Thonny pour voir la sortie.
  • Observez la LED : la LED continuera à clignoter indéfiniment.

Code MicroPython ESP32 - Faire clignoter une LED pendant une période donnée

Ce code fait clignoter une LED toutes les dix secondes, puis s’arrête, sans interrompre le reste du code.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-micropython/esp32-micropython-blink-led-without-sleep */ from DIYables_MicroPython_LED import LED, LED_BLINKING, LED_IDLE, CTRL_ANODE # Create an LED object that attaches to pin GPIO18 led = LED(18, CTRL_ANODE) led.blink_with_duration(250, 750, 10000) # 250ms ON, 750ms OFF, blink for 10 seconds, blink immediately # led.blink_with_duration(250, 750, 10000, 1000) # Uncomment to blink after 1 second delay # Function to print the state of the LED def print_state(state): if state == LED_BLINKING: print("BLINKING") elif state == LED_IDLE: print("BLINK ENDED") previous_state = None # Main loop while True: led.loop() # MUST call the led.loop() function in loop # Get the current state of the LED current_state = led.get_state() # Print the state only if it has changed if current_state != previous_state: print_state(current_state) previous_state = current_state # Update the previous state # DO OTHER TASKS HERE # To stop blinking immediately, call led.cancel()

Étapes rapides

  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Observez la LED : elle clignotera pendant 10 secondes, puis s'éteindra.

Code MicroPython pour ESP32 - Clignoter la LED un certain nombre de fois

Ce code allume une LED pendant 250 millisecondes et l'éteint pendant 750 millisecondes. Il répète ce motif 10 fois et n'empêche pas l'exécution du reste du code.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-micropython/esp32-micropython-blink-led-without-sleep */ from DIYables_MicroPython_LED import LED, LED_BLINKING, LED_IDLE, CTRL_ANODE # Create an LED object that attaches to pin GPIO18 led = LED(18, CTRL_ANODE) led.blink_n_times(250, 750, 10) # 250ms ON, 750ms OFF, repeat 10 times, blink immediately # led.blink_n_times(250, 750, 10, 1000) # Uncomment to blink after 1 second delay # Function to print the state of the LED def print_state(state): if state == LED_BLINKING: print("BLINKING") elif state == LED_IDLE: print("BLINK ENDED") previous_state = None # Main loop while True: led.loop() # MUST call the led.loop() function in loop # Get the current state of the LED current_state = led.get_state() # Print the state only if it has changed if current_state != previous_state: print_state(current_state) previous_state = current_state # Update the previous state # DO OTHER TASKS HERE # To stop blinking immediately, call led.cancel()

Étapes rapides

  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Observez la LED : elle clignotera dix fois, puis elle s'arrêtera.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !