Un chronomètre est un instrument de mesure du temps utilisé pour mesurer des intervalles de temps précis. Contrairement à une montre qui indique l'heure, un chronomètre est conçu pour mesurer des durées spécifiques, comme les courses, les compétitions sportives ou d'autres événements nécessitant une précision temporelle. Les chronomètres peuvent être analogiques ou numériques et sont souvent équipés de fonctionnalités telles que des compteurs, des arrêts et des redémarrages rapides pour permettre une mesure précise du temps écoulé.
Un chronomètre contrôlé par la carte ESP32 peut être créé en utilisantla carte ESP32 pour mesurer le temps écoulé entre différents événements ou pour chronométrer des intervalles spécifiques.
Le fonctionnement d'un chronomètre commandé par une carte ESP32 avec des boutons poussoirs implique plusieurs étapes :
1- Configuration matérielle : Connectez deux boutons poussoirs Start et Reset à des broches d'entrée/sortie numériques de l'ESP32.
2- Initialisation : Initialisez votre programme en configurant les broches GPIO comme entrées pour lire l'état des boutons poussoirs et configurez les autres éléments nécessaires à votre projet (écran LCD, LED, etc.).
3- Boucle de contrôle : À l'intérieur de la boucle principale du programme, surveillez en permanence l'état des boutons poussoirs .
a- Si le bouton Start est enfoncé, le chronomètre est déclenché.
b- Si le bouton Start est enfoncé une autre fois, le chronomètre est arrêté.
c- Si le bouton Reset est enfoncé, le chronomètre est initialisé.
4- Gestion du chronomètre : Utilisez une variable pour stocker le temps écoulé et commencez à l'incrémenter dès que le bouton poussoir correspondant au démarrage du chronomètre est enfoncé.
5- Affichage : Si vous avez un dispositif d'affichage tel que l'afficheur TM1637, mettez à jour l'affichage du temps écoulé à mesure que le chronomètre tourne.
Carte ESP32:
La carte ESP32 est une carte de développement compacte et puissante conçue pour des applications IoT (Internet des objets) et d'autres projets électroniques. Elle est basée sur le système-sur-puce ESP32 de Espressif Systems.
Afficheur TM1637 :
L'afficheur est utilisé pour afficher le temps écoulé.
Deux boutons-poussoirs :
Un bouton poussoir pour démarrer et arrêter
Un autre bouton pour réinitialiser le chronomètre.
Plaque d'essai (Breadboard) :
On utilise le plaque d'essai pour faciliter le câblage des différents composants.
Câbles de raccordement (jumpers) :
Pour connecter les différents composants entre eux.
Pour réaliser le câblage de la carte ESP32 avec un afficheur TM1637 et des boutons-poussoirs pour un chronomètre on va suivre ces étapes :
1- Pour l'afficheur TM1637
- Connecter la broche GND de l'afficheur TM1637 à la broche GND de la carte ESP32
- Connecter la broche VCC de l'afficheur TM1637 à la broche 3.3V de la carte ESP32
- Connecter la broche DIO de l'afficheur TM1637 à la broche GPIO 4 de la carte ESP32
- Connecter la broche CLK de l'afficheur TM1637 à la broche GPIO 2 de la carte ESP32
2- Pour le bouton poussoir Start
- Connecter l'une des pattes du bouton poussoir à la broche GPIO 23 de la carte ESP32
- Connecter une autre patte du bouton poussoir à la broche GND de la carte ESP32
3- Pour le bouton poussoir Reset
- Connecter l'une des pattes du bouton poussoir à la broche GPIO 22 de la carte ESP32
- Connecter une autre patte du bouton poussoir à la broche GND de la carte ESP32
Pour utiliser MicroPython sur la carte ESP32 et contrôler un afficheur TM1637 pour afficher un chronomètre, vous devez d'abord installer MicroPython sur votre ESP32. Ensuite, vous pouvez utiliser le langage MicroPython pour interagir avec l'afficheur TM1637.
Assurez-vous d'avoir la bibliothèque tm1637.py pour l'afficheur TM1637 pour MicroPython .
Voici un programme en MicroPython qui utilise les interruptions pour détecter les pressions des boutons-poussoirs. Lorsque le bouton Start est pressé, le chronomètre démarre à partir de zéro. Le bouton Reset stoppe le chronomètre.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import machine from machine import Pin import time import tm1637 # connecter l'afficheur TM1637 à la carte ESP32 tm = tm1637.TM1637(clk=Pin(2), dio=Pin(4)) # connecter les deux boutons poussoirs à la carte ESP32 start_button= machine.Pin(23, machine.Pin.IN, machine.Pin.PULL_UP) reset_button = machine.Pin(22, machine.Pin.IN, machine.Pin.PULL_UP) start_state=0; reset_state=0; running=False; timer=0 second=0 minute=0 tm.numbers(0,0) while True: if (start_button.value() == False): # Si on appuie sur le bouton start running = not running print("status:"+str(running)) time.sleep(0.5) # Délai pour éviter la détection multiple des boutons if (reset_button.value() == False): # Si on appuie sur le bouton reset print("Reset") timer=0 second=0 minute=0 tm.numbers(0,0) # afficher 00:00 sur l'afficheur TM1637 time.sleep(0.5) # Délai pour éviter la détection multiple des boutons running=False if (running): second += 1 time.sleep(0.01) if (second == 60): second = 0 minute += 1 if (minute == 60): minute = 0 tm.numbers(minute, second) <span class="hljs-comment"># Afficher le temps écoulé sur l'afficheur TM1637</span> |
Ce code suppose que vous avez câblé les broches CLK et DIO de votre afficheur TM1637 à des broches spécifiques de votre ESP32 (dans cet exemple, les broches GPIO 2 et GPIO 4). De même, les boutons poussoirs sont connectés aux broches GPIO 23 et GPIO 22 respectivement.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info