ESP32 C3 Super Mini - Bouton LED

Ce didacticiel vous montre comment utiliser l'ESP32 C3 Super Mini avec un bouton pour contrôler une LED. Que vous synchronisiez la LED aux appuis sur le bouton ou que vous basculechez les états, vous apprendrez les deux méthodes avec des exemples de code simples.

Dans ce didacticiel, vous apprendrez:

ESP32 C3 Super Mini - Bouton LED

Nous couvrirons deux cas d'utilisation distincts pour le contrôle de la LED du bouton ESP32 C3 Super Mini:

Cas d'utilisation 1 - États de LED et de bouton synchronisés:

Cas d'utilisation 2 - Basculer l'état de la LED avec les appuis sur le bouton:

Dans le Cas d'utilisation 2, l'antirebond du bouton est critique. Nous démontrerons la différence entre le code ESP32 C3 Super Mini avec et sans antirebond pour que vous compreniez pourquoi c'est important.

Matériel Requis

1×ESP32 C3 Super Mini
1×Câble USB Type-C
1×Bouton avec Capuchon Montage Breadboard
1×Ensemble de Boutons Montage Breadboard
1×Bouton Poussoir Montage Panneau
1×Module bouton poussoir
1×LED Kit
1×LED (red)
1×LED Module
1×Alternativement: Button and LED Kit
1×Résistance 220 ohm
1×Plaque d'essai
1×Fils de Liaison
1×(Optionnel) Adaptateur 5V pour ESP32 C3 Super Mini

Ou vous pouvez acheter les kits suivants:

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 et du Bouton

Les LED et les boutons sont des composants fondamentaux pour les projets ESP32 C3 Super Mini.

Pour les guides complets des débutants, consultez ces tutoriels:

Points clés sur cette configuration:

  • Les LED nécessitent des résistances limitant le courant (220 ohm recommandé)
  • Les boutons peuvent être câblés avec des résistances de tirage internes ou externes
  • L'ESP32 C3 Super Mini supporte l'entrée numérique (bouton) et la sortie (LED) simultanément
  • La combinaison de boutons et de LED crée des projets interactifs parfaits pour les débutants

Schéma de Câblage

Connectez le bouton et la LED à votre ESP32 C3 Super Mini en suivant le diagramme ci-dessous.

Schéma de Câblage Bouton LED ESP32 C3 Super Mini

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

Connexions de câblage:

Composant Broche Broche ESP32 C3 Super Mini
Bouton Une borne D5
Bouton Autre borne GND
LED Anode (longue broche) D7
LED Cathode (courte broche) Résistance 220Ω vers GND

Remarques importantes:

  • Remarque: Assurez-vous que la LED est connectée via la résistance 220 ohm pour éviter les dommages
  • Remarque: Le bouton utilise la résistance de tirage interne sur D5

Application 1 - L'état de la LED est synchronisé avec l'état du bouton

Cette application ESP32 C3 Super Mini démontre le contrôle direct de la LED avec un bouton.

Ce que ce code fait:

  • Lit continuellement l'état du bouton sur l'ESP32 C3 Super Mini
  • Allume la LED immédiatement lorsque le bouton est appuyé
  • Éteint la LED immédiatement lorsque le bouton est relâché
  • Crée une réponse synchronisée simple et en temps réel

Code ESP32 C3 Super Mini

/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-button-led */ #define BUTTON_PIN 5 // The ESP32 C3 SuperMini pin connected to the button #define LED_PIN 7 // The ESP32 C3 SuperMini pin connected to the LED int button_state = 0; // variable for reading the pushbutton status void setup() { // Configure the LED pin as a digital output pinMode(LED_PIN, OUTPUT); // initialize the button pin as an pull-up input (HIGH when the switch is open and LOW when the switch is closed) pinMode(BUTTON_PIN, INPUT_PULLUP); } void loop() { // read the state of the pushbutton value: button_state = digitalRead(BUTTON_PIN); // control LED according to the state of button if(button_state == LOW) // If button is pressing digitalWrite(LED_PIN, HIGH); // turn on LED else // otherwise, button is not pressing digitalWrite(LED_PIN, LOW); // turn off LED }

Étapes Rapides

  • Nouveau sur ESP32 C3 Mini? Terminez d'abord notre didacticiel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
  • Câbler les composants: Suivez le schéma de câblage ci-dessus.
  • Connecter ESP32 C3 Super Mini: Utilisez un câble USB Type-C pour vous connecter à votre ordinateur.
  • Configuration de l'IDE Arduino: Si c'est la première fois que vous utilisez ESP32 C3 Super Mini, voir comment configurer l'environnement pour ESP32 C3 Super Mini sur Arduino IDE.
  • Sélectionner votre carte: Choisissez la carte ESP32 C3 Super Mini et son port COM dans l'IDE Arduino.
  • Télécharger le code: Copiez le code ci-dessus et téléchargez-le sur votre ESP32 C3 Super Mini.
Téléchargement du Code IDE Arduino
  • Tester le bouton: Appuyez et maintenez le bouton pendant quelques secondes.
  • Observer la LED: Regardez la LED s'allumer et s'éteindre avec les appuis sur le bouton.
  • Conseil Pro: Si le comportement de la LED semble inversé, vérifiez que vous avez correctement identifié l'état appuyé du bouton.

Vous verrez que l'état de la LED est synchronisé avec l'état du bouton sur votre ESP32 C3 Super Mini.

Explication du Code

Consultez l'explication ligne par ligne contenue dans les commentaires du code source!

Application 2 - Bouton Bascule LED

Cette application ESP32 C3 Super Mini montre comment basculer une LED avec des appuis sur le bouton au lieu de la synchronisation directe.

Comportement de basculement sur ESP32 C3 Super Mini:

  • Le premier appui sur le bouton allume la LED
  • Le deuxième appui sur le bouton éteint la LED
  • Chaque appui change à l'état opposé
  • Nécessite un antirebond pour un fonctionnement fiable

Code ESP32 C3 Super Mini - Bouton Bascule LED Sans Antirebond

Cet premier exemple démontre le problème avec le basculement de LED sur ESP32 C3 Super Mini sans antirebond.

/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-button-led */ #define BUTTON_PIN 5 // The ESP32 C3 SuperMini pin connected to the button #define LED_PIN 7 // The ESP32 C3 SuperMini pin connected to the LED int led_state = LOW; // The current state of LED int prev_button_state; // The previous state of button int button_state; // The current state of button void setup() { Serial.begin(115200); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode button_state = digitalRead(BUTTON_PIN); } void loop() { prev_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if(prev_button_state == HIGH && button_state == LOW) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED according to the toggled state digitalWrite(LED_PIN, led_state); } }

Explication du Code

Vous pouvez localisez l'explication dans les lignes de commentaire du code ESP32 C3 Super Mini ci-dessus.

Comprendre la logique du basculement:

Dans le code, l'expression led_state = !led_state est égale au code suivant:

if(led_state == LOW) led_state = HIGH; else led_state = LOW;

Pourquoi ce raccourci fonctionne:

  • L'opérateur ! inverse la valeur booléenne
  • Motif plus compact et plus facile à lire
  • Motif commun dans les applications de basculement ESP32 C3 Super Mini

Étapes Rapides

  • Télécharger le code: Copiez le code ci-dessus et téléchargez-le sur votre ESP32 C3 Super Mini.
  • Tester plusieurs appuis: Appuyez et relâchez le bouton plusieurs fois.
  • Observer le comportement erratique: Remarquez que la LED peut basculer de façon incohérente.
  • Comprendre le problème: Un seul appui pourrait basculer la LED plusieurs fois ou pas du tout.
  • Conseil Pro: Cette incohérence se produit parce que les boutons "rebondissent" électriquement lorsqu'ils sont pressés, créant plusieurs signaux.

Vous pourriez observer que l'état de la LED bascule à chaque appui sur le bouton. Cependant, ce comportement ne peut pas toujours être cohérent. À certains moments, l'état de la LED peut basculer rapidement plusieurs fois au cours d'un seul appui sur le bouton, ou il peut ne pas basculer du tout (basculer deux fois en rapide succession ce qui peut être difficile à voir à l'œil nu).

⇒ Pour résoudre ce problème, nous devons ESP32 C3 Super Mini - Bouton - Antirebond.

Code ESP32 C3 Super Mini - Bouton Bascule LED Avec Antirebond

Maintenant, nous utiliserons un antirebond approprié pour rendre le basculement de LED de bouton ESP32 C3 Super Mini fiable.

Pourquoi utiliser la bibliothèque ezButton:

  • Gère automatiquement tout l'antirebond pour l'ESP32 C3 Super Mini
  • Commandes simples et conviviales pour les débutants
  • Élimine complètement les problèmes de rebond des boutons
  • Rend les projets ESP32 C3 Super Mini plus professionnels

L'antirebond d'un bouton peut être difficile pour les débutants. Heureusement, la bibliothèque ezButton le rend facile.

Pourquoi l'antirebond est-il nécessaire? Voir le ESP32 C3 Super Mini - Bouton - Antirebond pour plus d'informations.

/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-button-led */ #include <ezButton.h> #define BUTTON_PIN 5 // The ESP32 C3 SuperMini pin connected to the button #define LED_PIN 7 // The ESP32 C3 SuperMini pin connected to the LED ezButton button(BUTTON_PIN); // create ezButton object int led_state = LOW; // The current state of LED void setup() { Serial.begin(115200); // Initialize the Serial to communicate with the Serial Monitor. pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); // toggle state of LED led_state = !led_state; // control LED according to the toggleed sate digitalWrite(LED_PIN, led_state); } }

Étapes Rapides

  • Installer la bibliothèque ezButton: Installez la bibliothèque ezButton. Consultez Comment pour les instructions.
  • Télécharger le code antirebond: Copiez le code ci-dessus et téléchargez-le sur votre ESP32 C3 Super Mini.
  • Tester les appuis sur le bouton: Appuyez et relâchez le bouton plusieurs fois.
  • Observer le basculement fiable: Remarquez que la LED bascule exactement une fois par appui.
  • Comparer les comportements: Remarquez comme c'est beaucoup plus fiable que la version sans antirebond.
  • Conseil Pro: La bibliothèque ezButton fonctionne avec tous les projets ESP32 C3 Super Mini nécessitant une entrée de bouton.

Vous verrez que l'état de la LED bascule exactement une fois à chaque appui sur le bouton sur votre ESP32 C3 Super Mini.

Idées d'Application

Voici quelques façons créatives d'utiliser le contrôle de la LED du bouton ESP32 C3 Super Mini dans vos projets:

  • Construisez une simple lampe de bureau ESP32 C3 Super Mini avec contrôle de basculement ON/OFF manuel
  • Créez un indicateur de sonnette qui s'allume lorsque le bouton est appuyé
  • Concevez un système de buzzer de jeu avec rétroaction visuelle LED en utilisant ESP32 C3 Super Mini
  • Fabriquez un indicateur de statut pour l'équipement (état ON/OFF) avec ESP32 C3 Super Mini
  • Construisez un indicateur de serrure simple montrant l'état verrouillé/déverrouillé avec contrôle de bouton
  • Créez un jeu de temps de réaction mesurant la vitesse à laquelle vous pouvez basculer la LED

Section Vidéo

Regardez la vidéo ci-dessous pour une procédure pas à pas visuelle de ce projet ESP32 C3 Super Mini Bouton LED.

Défiez-vous

Essayez ces défis pour améliorer vos compétences en contrôle de la LED du bouton ESP32 C3 Super Mini:

  • Facile: Modifiez le code pour contrôler deux LED avec un seul bouton (une ON lorsqu'elle est pressée, une OFF)
  • Facile: Changez la LED pour clignoter trois fois lorsque le bouton est appuyé au lieu de rester solide
  • Moyen: Ajoutez un deuxième bouton à votre ESP32 C3 Super Mini pour contrôler la luminosité de la LED (basculement faible/bright)
  • Moyen: Créez une séquence de feu de circulation qui avance vers l'état suivant à chaque appui sur le bouton
  • Avancé: Implémentez la détection de pression longue qui se comporte différemment qu'un appui court sur ESP32 C3 Super Mini
  • Avancé: Construisez une serrure à combinaison en utilisant plusieurs boutons où la LED ne s'allume que avec la bonne séquence

Commentaires

※ 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 !