Sommaire |
On veut utiliser l'heure du jour (heures, minutes et secondes) dans un sketch, et on ne souhaite pas se connecter à un matériel externe.
Partie 1 : sur l'ordinateur
#include <Time.h> // On inclut la bibliothèque qui permet de faire fonctionner l'horloge </font> const int btnForward = 2; // Bouton pour avancer le temps const int btnBack = 3; // Bouton pour reculer le temps unsigned long prevtime; // Variable qui stock le temps void setup() { digitalWrite(btnForward, HIGH); // Active les résistances de pull-up internes digitalWrite(btnBack, HIGH); // Active les résistance de pull-up internes setTime(12,00,0,10,1,2014); // On fixe le temps de départ à 12h00 le 10 janvier 2014 Serial.begin(9600); // Initialise la connexion usb Serial.println("Pret"); // On affiche pret dans le "Moniteur série" } /* * Fonction qui permet de rafraichir l'heure */ void loop(){ prevtime = now(); //note l'heure while(prevtime == now()){ // tant que le temps stocké est identique au temps présent if(checkSetTime()) prevtime = now(); } digitalClockDisplay(); // On affiche l'heure } /* * Fonction qui vérifie que le temps est preset */ boolean checkSetTime(){ // Initialisation des variables int step; boolean isTimeAdjusted = false; step = 1; // Tant que le bouton qui permet d'avancer le temps est appuyé while(digitalRead(btnForward) == LOW){ Serial.print("Avance le temps \n"); // On avance le temps adjustTime(step); isTimeAdjusted = true; step = step + 1; // On augmente le pas digitalClockDisplay(); // On affiche l'heure delay(100); //on met un délai de 100 ms } step = -1; // On initialise le pas // Tant que le bouton qui permet de reculer le temps est avancé ... while(digitalRead(btnBack) == LOW) { Serial.print("Recule le temps \n"); adjustTime(step); //on recule le temps isTimeAdjusted = true; step = step - 1; //on diminue le pas digitalClockDisplay(); //on affiche l'heure delay(100); //on met un delai de 100 ms } return isTimeAdjusted; } /** * Fonction qui affiche l'heure **/ void digitalClockDisplay(){ // On affiche l'heure Serial.print(hour()); // On affiche les minutes printDigits(minute()); // On affiche les secondes printDigits(second()); Serial.print(" "); // On affiche le jour Serial.print(day()); Serial.print(" "); // On affiche le mois Serial.print(month()); Serial.print(" "); // On affiche l'année Serial.print(year()); // On passe à la ligne Serial.println(); } /** * Fonction qui permet de rajouter un 0 si le nombre est inférieur à 10 **/ void printDigits(int digits){ Serial.print(":"); // Si le nombre est inférieur à 10, on rajoute un 0 if(digits < 10) Serial.print('0'); Serial.print(digits); }
chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino
quelles peuvent être les applications technologique de ce montage, ou est-ce qu'on retrouve des programme qui y ressemble ?
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique