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 un Arduino UNO peut être créé en utilisant l'Arduino pour mesurer le temps écoulé entre différents événements ou pour chronométrer des intervalles spécifiques. L'Arduino UNO peut utiliser sa fonctionnalité de temporisation (fonctions millis()
ou micros()
) pour mesurer avec précision les durées.
Le fonctionnement du chronomètre contrôlé par l'Arduino UNO avec un afficheur TM1637 et des boutons-poussoirs peut être décrit comme suit :
Démarrage initial : Lorsque vous alimentez l'Arduino UNO, le chronomètre 0 sur l'afficheur TM1637.
Bouton de démarrage (Start) : En appuyant sur le bouton de démarrage, le chronomètre démarre en commençant à mesurer le temps écoulé depuis 00:00 jusqu'à ce que vous appuyiez sur le bouton d'arrêt.
Lorsque le chronomètre est en marche, l'afficheur TM1637 montre le temps qui s'écoule en minutes et secondes, par exemple, 00:15 (15 secondes écoulées), 01:30 (1 minute et 30 secondes), etc.
En appuyant à nouveau sur le bouton d'arrêt, le chronomètre se fige, enregistrant le temps écoulé jusqu'à ce moment-là, sans le mettre à zéro.
Bouton Reset : En appuyant sur le bouton de réinitialisation, le chronomètre revient à 00:00, remettant ainsi le temps écoulé à zéro, peu importe son état précédent (en cours ou arrêté).
Ce fonctionnement vous permet de contrôler le chronomètre à l'aide des boutons-poussoirs : démarrer pour lancer la mesure du temps, arrêter pour geler le temps actuel et réinitialiser pour remettre le chronomètre à zéro. L'afficheur TM1637 affiche en temps réel le temps écoulé au format minutes:secondes pendant que le chronomètre est en marche.
Pour créer un chronomètre contrôlé par un Arduino UNO, utilisant des boutons-poussoirs pour démarrer, arrêter et réinitialiser le chronomètre, avec un afficheur TM1637, on a besoin de ces composants :
Carte Arduino UNO :
La carte microcontrôleur qui exécutera le code du chronomètre.
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.
Deux résistances :
On utilise deux résistances (10k ohms) pour les boutons-poussoirs .
Câbles de raccordement (jumpers) :
Pour connecter les différents composants entre eux.
Pour réaliser le câblage de l'Arduino UNO 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 Arduino UNO
- Connecter la broche VCC de l'afficheur TM1637 à la broche 5V de la carte Arduino UNO
- Connecter la broche DIO de l'afficheur TM1637 à la broche N°4 de la carte Arduino UNO
- Connecter la broche CLK de l'afficheur TM1637 à la broche N°5 de la carte Arduino UNO
2- Pour le bouton poussoir Start
- Mettre une résistance (10 kohm) entre l'une des pattes du bouton poussoir et la broche GND de l'Arduino UNO
- Connecter la même patte du bouton poussoir à la broche N°2 de la carte Arduino UNO
- Connecter une autre patte du bouton poussoir à la broche 5V de la carte Arduino UNO
3- Pour le bouton poussoir Reset
- Mettre une résistance (10 kohm) entre l'une des pattes du bouton poussoir et la broche GND de l'Arduino UNO
- Connecter la même patte du bouton poussoir à la broche N°3 de la carte Arduino UNO
- Connecter une autre patte du bouton poussoir à la broche 5V de la carte Arduino UNO
Ce programme utilise les interruptions pour détecter les pressions des boutons-poussoirs. Lorsque le bouton de démarrage est pressé, le chronomètre démarre à partir de zéro. Le bouton d'arrêt 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
#include <TM1637Display.h> // Module connection pins (Digital Pins) #define CLK 5 #define DIO 4 TM1637Display display(CLK, DIO); const int start_pause_pin = 2, resetpin = 3; String stopwatch = "stop", start_pause = "low"; long start_time = 0, seconds = 0,timer=0; void setup() { pinMode(start_pause_pin, INPUT); pinMode(resetpin, INPUT); display.setBrightness(0x0f); display.showNumberDec(0); } void loop() { if (stopwatch == "run") { display.showNumberDec(0); seconds = (millis() - start_time) / 1000; long centisecond = ((millis() - start_time) / 10) % 100; timer=seconds*100+centisecond; display.showNumberDec(timer); } if (digitalRead(resetpin) == HIGH) { //Reset stopwatch stopwatch = "stop"; start_time = 0; } if (digitalRead(start_pause_pin) == HIGH && stopwatch == "stop") { //Start stopwatch start_time = millis(); display.showNumberDec(0); stopwatch = "run"; start_pause = "high"; } else if (digitalRead(start_pause_pin) == HIGH && stopwatch == "run" && start_pause == "low") { //Pause stopwatch stopwatch = "pause"; start_pause = "high"; } else if (digitalRead(start_pause_pin) == HIGH && stopwatch == "pause" && start_pause == "low") { //Resume stopwatch start_time = millis() - (seconds * 1000); stopwatch = "run"; start_pause = "high"; display.showNumberDec(0); } else if (digitalRead(start_pause_pin) == LOW) { start_pause = "low"; } delay(10); } |
Bonjour,j aimerai avoir en pdf de ce projet
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