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 LCD I2C et des boutons-poussoirs peut être décrit comme suit :
Démarrage initial : Lorsque vous alimentez l'Arduino UNO, le chronomètre commence à afficher Press START sur l'afficheur LCD.
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 LCD 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 LCD I2C 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 LCD utilisant le protocole I2C, on a besoin de ces composants :
Carte Arduino UNO :
La carte microcontrôleur qui exécutera le code du chronomètre.
Afficheur LCD (avec ou sans I2C) :
Pour afficher le temps écoulé. Un modèle 16x2 est couramment utilisé.
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 LCD I2C et des boutons-poussoirs pour un chronomètre on va suivre ces étapes :
1- Pour l'afficheur LCD I2C
- Connecter la broche GND de l'afficheur LCD I2C à la broche GND de la carte Arduino UNO
- Connecter la broche VCC de l'afficheur LCD I2C à la broche 5V de la carte Arduino UNO
- Connecter la broche SDA de l'afficheur LCD I2C à la broche A4 de la carte Arduino UNO
- Connecter la broche SCL de l'afficheur LCD I2C à la broche A5 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 <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); //16x2 display const int start_pause_pin = 2, resetpin = 3; String stopwatch = "stop", start_pause = "low"; long start_time = 0, seconds = 0; void setup() { pinMode(start_pause_pin, INPUT); pinMode(resetpin, INPUT); lcd.init();// initialize the lcd lcd.backlight();// Backlight ON lcd.setCursor(0, 1); lcd.print("Press START"); } void loop() { if (stopwatch == "run") { lcd.setCursor(0, 0); seconds = (millis() - start_time) / 1000; long centisecond = ((millis() - start_time) / 10) % 100; lcd.print(seconds); lcd.print(" : "); lcd.print(centisecond); } if (digitalRead(resetpin) == HIGH) { //Reset stopwatch stopwatch = "stop"; start_time = 0; lcd.setCursor(0, 1); lcd.print("Press START"); } if (digitalRead(start_pause_pin) == HIGH && stopwatch == "stop") { //Start stopwatch start_time = millis(); lcd.clear(); 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"; lcd.clear(); } else if (digitalRead(start_pause_pin) == LOW) { start_pause = "low"; } delay(10); } |
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