ESP32 C3 Super Mini - Bouton - Appui Long Appui Court
Apprenez à programmer votre ESP32 C3 Super Mini pour détecter les événements d'appui long et d'appui court du bouton. Ce didacticiel couvre tout, du câblage de base aux techniques d'antirebond avancées pour une détection fiable de l'entrée du bouton.
Dans ce didacticiel, vous apprendrez:
- Comment détecter les événements d'appui court du bouton sur l'ESP32 C3 Super Mini
- Comment détecter les événements d'appui long du bouton (deux méthodes différentes)
- Comment détecter l'appui long et l'appui court sur un seul bouton
- Comment éliminer le chattering du bouton avec l'antirebond
- Quand utiliser l'appui long par rapport à l'appui court dans les projets Arduino

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Bouton
Un bouton poussoir est un simple appareil d'entrée qui complète un circuit électrique lorsqu'il est appuyé.
Caractéristiques clés pour les projets ESP32 C3 Super Mini:
- Deux états: appuyé (LOW) et relâché (HIGH) lorsque vous utilisez le tirage interne
- Peut détecter plusieurs types de presse: appui court, appui long et double-clic
- Nécessite un antirebond pour une détection fiable dans les projets réels
- Fonctionne avec les résistances de tirage internes de l'ESP32 C3 Super Mini
Ressources supplémentaires sur les boutons:
Schéma de Câblage
Connectez votre bouton à l'ESP32 C3 Super Mini en suivant le diagramme ci-dessous.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Remarques importantes:
- Ce didacticiel utilise la résistance de tirage interne
- L'état du bouton est HIGH lorsqu'il n'est pas appuyé et LOW lorsqu'il est appuyé
- Aucune résistance externe requise
Comment Détecter l'Appui Court
Détecter un appui court sur l'ESP32 C3 Super Mini implique de mesurer la durée entre les événements d'appui et de relâchement du bouton.
Méthode de détection d'appui court:
- Mesurer le temps entre les événements d'appui et de relâchement
- Si la durée est plus courte qu'une heure prédéfinie, l'événement d'appui court est détecté
- Comparez la durée de l'appui par rapport à votre seuil SHORT_PRESS_TIME
Implémentation étape par étape:
- Définir la durée maximale de l'appui court
- Détecter le bouton est appuyé et enregistrer l'heure d'appui
- Détecter le bouton est relâché et enregistrer l'heure de relâchement
- Calculer la durée de l'appui et
- Déterminer l'appui court en comparant la durée de l'appui avec le temps d'appui court défini
Code ESP32 C3 Super Mini pour détecter l'appui court
Ce code démontre comment détecter l'appui court du bouton sur l'ESP32 C3 Super Mini.
Ce que le code fait:
- Lit l'état du bouton en utilisant la résistance de tirage interne
- Calcule la durée entre l'appui et le relâchement
- Détecte l'appui court si la durée est inférieure à 500 ms
- Imprime le résultat de la détection sur le Moniteur Série
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Télécharger le code: Copiez le code ci-dessus et téléchargez-le sur votre ESP32 C3 Super Mini via l'IDE Arduino
- Câbler le matériel: Connectez le bouton à votre ESP32 C3 Super Mini en suivant le schéma de câblage
- Tester le bouton: Appuyez brièvement le bouton plusieurs fois
- Vérifier les résultats: Ouvrez le Moniteur Série (115200 bauds) pour voir les résultats de la détection
- Conseil Pro: Vous pouvez ajuster la valeur SHORT_PRESS_TIME pour rendre la détection d'appui court plus rapide ou plus lente
※ Note:
Le Moniteur Série peut imprimer plusieurs appuis courts pour un seul appui. C'est un comportement normal du bouton. Ce comportement s'appelle le "phénomène de chattering". Nous apprendrons à éliminer ce problème plus tard dans ce didacticiel.
Comment Détecter l'Appui Long
Il y a deux méthodes pour détecter les événements d'appui long du bouton sur l'ESP32 C3 Super Mini.
Deux cas d'utilisation pour la détection d'appui long:
- L'événement d'appui long est détecté immédiatement après le relâchement du bouton
- L'événement d'appui long est détecté pendant que le bouton est en cours d'appui
Première méthode (détecter au relâchement):
- Mesurer la durée du temps entre l'événement d'appui et l'événement de relâchement
- Si la durée est plus longue qu'une heure prédéfinie, l'événement d'appui long est détecté
Deuxième méthode (détecter pendant l'appui):
- Mesurer le temps d'appui de façon continue pendant que le bouton est maintenu
- Si la durée dépasse le temps prédéfini, détectez immédiatement l'appui long
- Continuer la vérification jusqu'à ce que le bouton soit relâché
Code ESP32 C3 Super Mini pour détecter l'appui long au relâchement
Ce code ESP32 C3 Super Mini détecte l'appui long après le relâchement du bouton.
Ce que ce code fait:
- Mesure la durée totale de l'appui de l'appui au relâchement
- Compare la durée par rapport à LONG_PRESS_TIME (1000 ms)
- Détecte l'appui long uniquement après le relâchement du bouton
- Utile lorsque vous devez confirmer la durée complète de l'appui
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Télécharger le code: Copiez et téléchargez le code ci-dessus sur l'ESP32 C3 Super Mini via l'IDE Arduino
- Tester l'appui long: Appuyez et maintenez le bouton pendant plus d'une seconde, puis relâchez
- Vérifier le Moniteur Série: Ouvrez le Moniteur Série à 115200 bauds pour voir les résultats
- Conseil Pro: Cette méthode est meilleure lorsque vous avez besoin que l'action se produise après le relâchement du bouton, pas pendant l'appui
Code ESP32 C3 Super Mini pour détecter l'appui long pendant l'appui
Ce code détecte l'appui long immédiatement pendant que le bouton est toujours enfoncé.
Ce que ce code fait:
- Vérifie continuellement la durée de l'appui pendant que le bouton est maintenu
- Détecte l'appui long instantanément lorsque la durée dépasse le seuil
- Déclenche l'action immédiatement sans attendre le relâchement
- Idéal pour les applications en temps réel
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Télécharger le code: Téléchargez le code ci-dessus sur votre ESP32 C3 Super Mini via l'IDE Arduino
- Tester pendant l'appui: Appuyez et maintenez le bouton pendant plusieurs secondes (ne relâchez pas immédiatement)
- Observer la synchronisation: Remarquez que la détection se produit pendant que vous appuyez toujours
- Conseil Pro: Cette méthode fournit une rétroaction instantanée et est meilleure pour les applications sensibles au temps comme les fonctions de réinitialisation d'usine
Comment Détecter l'Appui Long et l'Appui Court
Combinez les deux types d'appui pour ajouter plusieurs fonctions à un seul bouton sur votre ESP32 C3 Super Mini.
Appui Court et Appui Long après relâchement
Ce code ESP32 C3 Super Mini détecte les deux types d'appui après le relâchement du bouton.
Ce que ce code fait:
- Distingue entre appui court et appui long en fonction de la durée
- Prend la décision après le relâchement du bouton
- Utilise un seul seuil (LONG_PRESS_TIME) pour différencier
- Active deux actions différentes à partir d'un bouton
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Télécharger le code: Téléchargez le code ci-dessus sur l'ESP32 C3 Super Mini via l'IDE Arduino
- Tester les deux types: Essayez l'appui long (maintien > 1 seconde) et l'appui court (tapotement rapide)
- Vérifier le Moniteur Série: Ouvrez le Moniteur Série pour voir quel type d'appui est détecté
- Conseil Pro: Définissez LONG_PRESS_TIME pour correspondre au comportement attendu de votre utilisateur (généralement 500-1500 ms fonctionne bien)
※ Note:
Le Moniteur Série peut afficher plusieurs détections d'appui court lors d'un appui long. C'est le comportement normal du bouton. Ce comportement s'appelle le "phénomène de chattering". Le problème sera résolu dans la dernière partie de ce didacticiel.
Appui Court et Appui Long Pendant l'appui
Ce code détecte l'appui long instantanément tout en permettant toujours la détection d'appui court.
Ce que ce code fait:
- Détecte l'appui long immédiatement lorsque le seuil est atteint
- Détecte toujours l'appui court après relâchement si l'appui long n'a pas été déclenché
- Fournit une rétroaction instantanée pour les actions d'appui long
- Meilleur pour les applications nécessitant une réponse immédiate
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Télécharger le code: Téléchargez le code sur votre ESP32 C3 Super Mini via l'IDE Arduino
- Tester la synchronisation: Essayez les tapotements rapides et les maintiens longs pour voir les différents comportements
- Observer la réponse: Remarquez que l'appui long se déclenche immédiatement, pas au relâchement
- Conseil Pro: Cette méthode empêche les déclenchements accidentels d'appui long puisque les utilisateurs reçoivent une rétroaction instantanée
Appui Long et Appui Court avec Antirebond
L'antirebond élimine les lectures de bouton fausses causées par les vibrations mécaniques dans les boutons poussoirs.
Pourquoi l'antirebond est important:
- Les boutons physiques créent du bruit électrique lorsqu'ils sont appuyés (chattering)
- Sans antirebond, un appui peut s'enregistrer comme plusieurs appuis
- Critique pour une détection fiable du bouton dans les projets ESP32 C3 Super Mini
- Essentiel pour les applications nécessitant une entrée précise
Utilisation de la bibliothèque ezButton:
- Simplifie l'implémentation de l'antirebond pour les débutants
- Gère automatiquement la logique de synchronisation complexe
- Fonctionne de façon fiable avec plusieurs boutons
- Gratuit et facile à installer dans l'IDE Arduino
Appui Court et Appui Long avec antirebond après relâchement
Ce code ESP32 C3 Super Mini utilise la bibliothèque ezButton pour une détection de bouton propre et fiable.
Ce que ce code fait:
- Implémente l'antirebond matériel en utilisant la bibliothèque ezButton
- Élimine les fausses détections du chattering du bouton
- Détecte avec précision les deux types d'appui après relâchement
- Fournit une gestion de bouton prête pour la production
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Installer la bibliothèque: Installez la bibliothèque ezButton - Voir Comment
- Télécharger le code: Téléchargez le code ci-dessus sur l'ESP32 C3 Super Mini via l'IDE Arduino
- Tester la détection propre: Essayez les appuis longs et courts - pas plus de détections en double
- Vérifier les résultats: Ouvrez le Moniteur Série pour voir la détection propre et précise du bouton
- Conseil Pro: La bibliothèque ezButton élimine automatiquement tous les problèmes de chattering - utilisez-la pour tous les projets de production
Appui Court et Appui Long avec antirebond Pendant l'appui
Ce code combine la détection d'appui long instantanée avec l'antirebond pour la meilleure expérience utilisateur.
Ce que ce code fait:
- Détecte l'appui long immédiatement avec antirebond
- Empêche les fausses déclenchements du rebond du bouton
- Fournit une rétroaction instantanée pour l'appui long
- Gère le contour l'appui court de façon propre après relâchement
É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.
- Configuration de l'IDE: Si c'est la première fois que vous utilisez l'ESP32 C3 Super Mini, voir comment configurer l'environnement pour l'ESP32 C3 Super Mini sur l'IDE Arduino
- Installer la bibliothèque: Installez la bibliothèque ezButton - Voir Comment
- Télécharger le code: Téléchargez le code sur votre ESP32 C3 Super Mini via l'IDE Arduino
- Tester la fiabilité: Appuyez plusieurs fois sur le bouton - remarquez aucune lecture en double
- Comparer les méthodes: C'est la méthode la plus fiable pour les projets ESP32 C3 Super Mini de production
- Conseil Pro: Utilisez cette méthode pour les applications critiques comme les réinitialisations d'appareils ou les contrôles importants où la précision est essentielle
Pourquoi Avez-Vous Besoin d'Appui Long et d'Appui Court
Comprendre quand utiliser la détection d'appui long et d'appui court améliore vos projets ESP32 C3 Super Mini.
Avantages pratiques:
- Économiser les broches: Un seul bouton peut contrôler deux ou plusieurs fonctions (appui court pour lumière, appui long pour ventilateur)
- Prévenir les accidents: Utiliser l'appui long pour les fonctions critiques comme la réinitialisation d'usine pour éviter l'activation accidentelle
- Meilleur UX: Les utilisateurs peuvent effectuer plusieurs actions sans matériel supplémentaire
- Économies de coûts: Moins de boutons signifie des circuits plus simples et des coûts de composants plus faibles
- Économe d'espace: Idéal pour les projets ESP32 C3 Super Mini compacts avec un espace limité
- Conception professionnelle: Les boutons multifonction sont standard dans l'électronique grand public
Applications courantes:
- Appui court: Basculer LED, incrémenter compteur, sélectionner menu
- Appui long: Réinitialisation d'usine, mise hors tension, entrée en mode de configuration, effacement de la mémoire
Défiez-vous
Amenez vos compétences en boutons ESP32 C3 Super Mini au niveau suivant avec ces défis pratiques.
- Facile: Modifiez le code pour utiliser différents seuils de temps (par exemple, 300 ms pour court, 2000 ms pour long)
- Facile: Ajoutez un troisième type de presse - appui très court (moins de 200 ms) pour les actions rapides
- Moyen: Contrôlez deux LED avec un bouton - appui court bascule la LED rouge, appui long bascule la LED verte
- Moyen: Implémentez une détection de double-clic aux côtés de l'appui court et long
- Avancé: Créez un détecteur de séquence de bouton qui reconnaît les motifs (court-long-court)
- Avancé: Construisez un dispositif ESP32 C3 Super Mini multi-mode où l'appui long parcourt les modes et l'appui court active le mode actuel
Idées d'Application
Voici les idées de projets pratiques utilisant la détection d'appui long et d'appui court du bouton ESP32 C3 Super Mini.
- Contrôleur de lumière domotique - appui court pour on/off, appui long pour le mode de gradation
- Système d'alarme ESP32 C3 Super Mini - appui court pour armer/désarmer, appui long pour le mode panique
- Dispositif minuterie - appui court pour démarrer/arrêter, appui long pour réinitialiser
- Thermostat multifonction - appui court ajuste la température, appui long bascule le mode chauffage/refroidissement
- Serrure de porte IoT - appui court pour déverrouiller temporairement, appui long pour déverrouillage permanent
- Capteur alimenté par batterie - appui court pour vérifier l'état, appui long pour entrer en mode veille profonde
Section Vidéo
Regardez la vidéo ci-dessous pour une procédure pas à pas visuelle du projet ESP32 C3 Super Mini appui long et appui court du bouton.