Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 193

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 197

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338
[ Wikidébrouillard ] Horloge Arduino

Horloge Arduino

De Wikidebrouillard.

(Code)
(Code)
Ligne 39 : Ligne 39 :
#include <Time.h> // On inclut la bibliothèque qui permet de faire fonctionner l'horloge </font>
#include <Time.h> // On inclut la bibliothèque qui permet de faire fonctionner l'horloge </font>
-
<pre>
+
const int btnForward = 2;  // Bouton pour avancer le temps
-
const int btnForward = 2;  //bouton pour avancer le temps
+
const int btnBack = 3;  // Bouton pour reculer le temps
-
const int btnBack = 3;  //bouton pour reculer le temps
+
unsigned long prevtime;  // Variable qui stock le temps
-
unsigned long prevtime;  //variable qui stock le temps
+
void setup()  {
void setup()  {
-
   digitalWrite(btnForward, HIGH); //active les résistances de pull-up internes
+
   digitalWrite(btnForward, HIGH); // Active les résistances de pull-up internes
-
   digitalWrite(btnBack, HIGH);  //active les résistance 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
+
   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.begin(9600);    // Initialise la connexion usb
-
   Serial.println("Pret");  //on affiche pret dans le "Moniteur série"
+
   Serial.println("Pret");  // On affiche pret dans le "Moniteur série"
}
}
Ligne 55 : Ligne 54 :
*  Fonction qui permet de rafraichir l'heure
*  Fonction qui permet de rafraichir l'heure
*/
*/
 +
 +
void loop(){     
void loop(){     
   prevtime = now(); //note l'heure
   prevtime = now(); //note l'heure
   while(prevtime == now()){   
   while(prevtime == now()){   
-
     //tant que le temps stocké est identique au temps présent
+
     // tant que le temps stocké est identique au temps présent
     if(checkSetTime())
     if(checkSetTime())
       prevtime = now();
       prevtime = now();
   }
   }
-
   digitalClockDisplay(); //on affiche l'heure
+
   digitalClockDisplay(); // On affiche l'heure
}
}
/*
/*
-
*  Fonction qui vérifie que le temps est préset
+
*  Fonction qui vérifie que le temps est preset
*/
*/
boolean checkSetTime(){
boolean checkSetTime(){
-
   //initialisation des variables
+
   // Initialisation des variables
   int step;
   int step;
   boolean isTimeAdjusted = false;
   boolean isTimeAdjusted = false;
   step = 1;
   step = 1;
-
   //Tant que le bouton qui permet d'avancer le temps est appuyé
+
   // Tant que le bouton qui permet d'avancer le temps est appuyé
   while(digitalRead(btnForward) == LOW){
   while(digitalRead(btnForward) == LOW){
     Serial.print("Avance le temps \n");
     Serial.print("Avance le temps \n");
-
       //on avance le temps
+
       // On avance le temps
       adjustTime(step);
       adjustTime(step);
       isTimeAdjusted = true;
       isTimeAdjusted = true;
-
       step = step + 1;  //on augmente le pas
+
       step = step + 1;  // On augmente le pas
-
       digitalClockDisplay();  //on affiche l'heure
+
       digitalClockDisplay();  // On affiche l'heure
       delay(100);  //on  met un délai de 100 ms
       delay(100);  //on  met un délai de 100 ms
   }  
   }  
-
   step = -1;  //on initialise le pas
+
   step = -1;  // On initialise le pas
-
   //Tant que le bouton qui permet de reculer le temps est avancé ...
+
   // Tant que le bouton qui permet de reculer le temps est avancé ...
   while(digitalRead(btnBack) == LOW)
   while(digitalRead(btnBack) == LOW)
   {
   {
Ligne 101 : Ligne 102 :
**/
**/
void digitalClockDisplay(){
void digitalClockDisplay(){
-
   // on affiche l'heure
+
   // On affiche l'heure
   Serial.print(hour());
   Serial.print(hour());
-
   //on affiche les minutes
+
   // On affiche les minutes
   printDigits(minute());
   printDigits(minute());
-
   //on affiche les secondes
+
   // On affiche les secondes
   printDigits(second());
   printDigits(second());
   Serial.print(" ");
   Serial.print(" ");
-
   //on affiche le jour
+
   // On affiche le jour
   Serial.print(day());
   Serial.print(day());
   Serial.print(" ");
   Serial.print(" ");
-
   //on affiche le mois
+
   // On affiche le mois
   Serial.print(month());
   Serial.print(month());
   Serial.print(" ");
   Serial.print(" ");
-
   //on affiche l'année
+
   // On affiche l'année
   Serial.print(year());
   Serial.print(year());
-
   //on passe à la ligne  
+
   // On passe à la ligne  
   Serial.println();  
   Serial.println();  
}
}
Ligne 125 : Ligne 126 :
void printDigits(int digits){
void printDigits(int digits){
   Serial.print(":");
   Serial.print(":");
-
   //si le nombre est inférieur à 10, on rajoute un 0
+
   // Si le nombre est inférieur à 10, on rajoute un 0
   if(digits < 10)
   if(digits < 10)
     Serial.print('0');
     Serial.print('0');

Version du 13 janvier 2014 à 15:40

Article incomplet en cours de rédaction
Modèle:Vidéo

Sommaire

Présentation du projet Arduino

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.

Liste du matériel

réalisation du projet

Partie 1 : sur l'ordinateur

  • Allumer l'ordinateur
  • Brancher la carte Arduino à l'aide du câble USB.
  • Lancer le logiciel Arduino. Vous devez voir s'afficher la fenêtre suivante:

  • Télécharger la bibliothèque Time sur disponible à cette adresse : Time
  • Extraire l'archive dans C:\Program Files\Arduino\libraries

Schéma Fritzing

Code



#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);
}

Explication

Liens avec d'autres projets arduino

chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino

Pour aller plus loin

Liens avec le quotidien

quelles peuvent être les applications technologique de ce montage, ou est-ce qu'on retrouve des programme qui y ressemble ?
Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraits
AR
CO

Horloge Arduino

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique