- Matériel requis
- Schéma du circuit de la minuterie de compte à rebours Arduino
- Code et explication du compte à rebours Arduino
Une minuterie est un type d'horloge utilisé pour la mesure des intervalles de temps. Il existe deux types de chronomètre, l'un qui compte à partir de zéro, pour la mesure du temps écoulé, appelé Chronomètre. Et le second compte à rebours à partir d'une durée spécifiée fournie par l'utilisateur, généralement appelée compte à rebours.
Ici, dans ce tutoriel, nous allons vous montrer comment créer un compte à rebours en utilisant Arduino. Ici, nous n'utilisons aucun module d'horloge en temps réel (RTC) pour obtenir l'heure. La durée est fournie par l'utilisateur à l'aide du clavier et de l'écran LCD 16x2. Et lorsque la minuterie atteint zéro, un son d'alerte sera produit à l'aide du buzzer.
Matériel requis
- Arduino UNO
- LCD 16 * 2
- Clavier matriciel 4 * 4
- Avertisseur sonore
- Bouton
- Potentiomètre (10k)
- Résistance (10k, 100 ohms)
- Fils de connexion
Schéma du circuit de la minuterie de compte à rebours Arduino
Arduino Uno est utilisé ici comme contrôleur principal. Un clavier est utilisé pour alimenter la durée et un écran LCD 16 * 2 est utilisé pour afficher le compte à rebours. Le bouton poussoir permet de démarrer l'heure. Vérifiez ici comment interfacer le clavier 4x4 avec Arduino et LCD 16x2 avec Arduino.
Code et explication du compte à rebours Arduino
Le code Arduino Timer complet est donné à la fin de ce projet.
Dans ce code ci-dessous, nous initialisons des bibliothèques pour le clavier et l'écran LCD et les variables utilisées dans le code.
#comprendre
Maintenant, dans le code ci-dessous, nous initialisons le no. de lignes et de colonnes pour définir la matrice du clavier.
octet const ROWS = 4; // Quatre lignes const byte COLS = 4; // Trois colonnes char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Pour connecter le clavier matriciel 4 * 4 avec Arduino, nous devons définir les broches pour les lignes et les colonnes. Donc, dans le code ci-dessous, nous avons défini des broches pour le clavier ainsi que pour l'écran LCD 16x2.
byte rowPins = {6, 7, 8, 9}; // Connecter le clavier ROW0, ROW1, ROW2 et ROW3 à ces broches Arduino byte colPins = {10, 11, 12, 13}; // Connecter le clavier COL0, COL1 et COL2 à t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Crée un objet LC. Paramètres: (rs, enable, d4, d5, d6, d7)
Le code ci-dessous est utilisé pour faire le clavier, Keypad kpd = Keypad (makeKeymap (clés), rowPins, colPins, ROWS, COLS);
Dans le code de fonction void setFeedingTime () , après avoir appuyé sur le bouton poussoir, nous sommes en mesure de saisir l'heure de la minuterie, puis après avoir entré la durée de la minuterie, nous devons appuyer sur D pour commencer le compte à rebours.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Régler l'heure d'alimentation"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {clé = kpd.getKey (); char j; if (key! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (clé); r = clé-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } retard (500); } if (clé == 'D') {clé = 0; Pause; }} lcd.clear (); }
Dans la fonction void setup () , nous avons initialisé l'écran LCD et la communication série, et défini les broches comme INPUT et OUTPUT dans le code ci-dessous.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, SORTIE); pinMode (A1, SORTIE); pinMode (A3, INPUT); pinMode (A4, SORTIE); }
Le fonctionnement de ce compte à rebours Arduino est simple mais le code est un peu complexe. Le code est expliqué par les commentaires dans le code.
Initialement, il imprimera «Arduino Timer» sur l'écran LCD jusqu'à ce que vous appuyiez sur le bouton poussoir. Dès que vous appuyez sur le bouton poussoir, il vous demandera d'entrer la durée du compte à rebours en appelant la fonction « setFeedingTime ». Ensuite, vous pouvez entrer la durée à l'aide du clavier. Ensuite, vous devez appuyer sur «D» pour enregistrer l'heure et démarrer le compte à rebours. Ici, dans la fonction void loop () , nous avons fait un calcul pour décrémenter le temps seconde par seconde et pour afficher les valeurs appropriées de l'heure, des minutes et des secondes (HH: MM: SS) en fonction du temps restant. Tout le code est bien expliqué par des commentaires. Vous pouvez consulter le code complet et la vidéo de démonstration ci-dessous.
Lorsque la minuterie atteint zéro, le buzzer commence à émettre des bips et des bips 100 fois seulement (selon le code). Pour arrêter le buzzer, maintenez le bouton poussoir enfoncé. Vous pouvez utiliser le bouton-poussoir à tout moment pour arrêter la minuterie entre les comptages.