ESP32 - LED - Clignotement sans délai
L'un des premiers programmes que les débutants exécutent est de faire clignoter une LED. La façon la plus simple de faire clignoter une LED est d'utiliser la fonction delay(). Cette fonction bloque l'ESP32 et l'empêche de faire d'autres choses. Cela sera suffisant si vous souhaitez simplement faire clignoter une seule LED. Cependant, si vous voulez faire clignoter plusieurs LED ou effectuer d'autres tâches en parallèle, vous ne pouvez pas utiliser la fonction delay(). Nous avons besoin d'une autre solution. Ce tutoriel vous explique comment effectuer plusieurs tâches sans utiliser la fonction delay. Plus spécifiquement, nous apprendrons comment faire clignoter une LED et vérifier l'état d'un bouton.
Nous passerons en revue trois exemples ci-dessous et comparerons les différences entre eux.
- ESP32 fait clignoter une LED en utilisant la fonction delay()
- ESP32 fait clignoter une LED en utilisant la fonction millis()
- ESP32 fait clignoter une LED en utilisant la bibliothèque ezLED
Cette méthode peut être appliquée pour permettre à l'ESP32 d'effectuer plusieurs tâches en même temps. Faire clignoter une LED n'est qu'un exemple.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos des LED et des boutons
Nous disposons de tutoriels spécifiques sur les LED et les boutons. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, la connexion des fils à l'ESP32, le code ESP32... Pour en savoir plus, consultez les liens suivants :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
Comparons le code ESP32 qui fait clignoter une LED avec et sans utiliser la fonction delay()
Code ESP32 - Avec Délai
Étapes rapides
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Réalisez le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple, Module de développement ESP32) et le port COM.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload de l'Arduino IDE.
- Ouvrez le moniteur série dans l'IDE Arduino.
- Appuyez sur le bouton 4 fois
- Observez la LED : La LED bascule entre ON/OFF périodiquement chaque seconde
- Consultez la sortie dans le moniteur série
- Sur le moniteur série, vous ne verrez pas quatre fois que l'état passe à 0 (4 pressions). Cela est dû au fait que, pendant le temps de retard, l'ESP32 NE PEUT PAS détecter le changement.
Code ESP32 - Sans Délai
Étapes rapides
- Si c'est la première fois que vous utilisez ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Exécutez le code ci-dessus et appuyez sur le bouton 4 fois
- Observez la LED : la LED bascule entre ON/OFF périodiquement chaque seconde
- Consultez la sortie dans le moniteur série
- Tous les événements urgents ont été détectés.
Explication du code ligne par ligne
Le code ESP32 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !
Ajout de Plus de Tâches
Le code ci-dessous fait clignoter deux LED à des intervalles différents et vérifie l'état du bouton.
This image is created using Fritzing. Click to enlarge image