hello
voici le code de l'exemple "set time" de ta librairie
#include <iarduino_RTC.h>
iarduino_RTC time(RTC_DS1307);
void setup() {
delay(300);
Serial.begin(9600);
time.begin();
time.settime(0,51,21,27,10,15,2); // 0 сек, 51 мин, 21 час, 27, октября, 2015 года, вторник
}
void loop(){
if(millis()%1000==0){ // если прошла 1 секунда
Serial.println(time.gettime("d-m-Y, H:i:s, D")); // выводим время
delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
}
}
Merci aussi de me dire dans quelle section je dois poster ce type de message ?
J'ai l'habitude des forums mais la j'ai 3 choix
Tutoriels et cours
Réalisations et projets finis
Le bar
Il me semblait avoir posté dans "Réalisations et projets finis"...
il y a un forum englobant qui est le forum francophone, c'est là où il faut poster (ce fil est au bon endroit)
les 3 autres sont des sous catégories de la catégorie "Français"
Pour mettre l'horloge à l'heure, je te conseille de faire un programme séparé, qui ne fait que ça.
En l'état, ton programme remet toujours la m^me heure à chaque fois qu'il redémarre, ce n'est pas ce qu'on veut en général avec une RTC.
La RTC, on la met à l'heure une fois, puis on "l'oublie" : tant que la pile est bonne, on peut lire l'heure. D'ou l'idée d'un programme spécialisé pour la mise à l'heure.
Pour commencer, merci pour votre conseil.
Pour être certain de bien comprendre, un programme Arduino comporte :
Une première partie ou je déclare les bibliothèques utilisées dans le programme.
Une seconde void setup()
la première fonction à être exécutée qui n'est exécutée qu'une seule fois. . Celle-ci contient les instructions qui définissent l'adressage des E/S de l'Arduino.
Une dernière void loop()
Gère les taches en temps réel.
Comme la mise à jour de l'heure n'est effectuée que dans void setup() celle-ci n'est effective uniquement lorsque je charge le programme dans l'Arduino.
Ou bien est-il possible d'empiler plusieurs programmes soit :
void setup()
void loop()
Je suis débutant sous Arduino donc mes questions peuvent sembler stupides, mais j'apprends de mes erreurs
Ca n'a rien à voir avec l'organisation des fonctions (setup, loop) dans un prog Arduino.
Une RTC est un circuit électronique avec un quartz qui permet de connaître l'heure et la date.
Pour cela il faut:
1 - initialiser la date et l'heure dans la RTC. Ceci doit être fait 1 seule fois, quand la RTC est neuve.
2 - avoir une pile pour que la RTC ne perde pas la date et l'heure quand l'Arduino sur laquelle elle est branchée n'est plus alimenté (ou subit un reset). En l'absence de pile, la RTC perd la date et l'heure, qui sont mis à ... + ou - n'importe quoi.
Donc, quand tu achètes un RTC, tu la montes sur un Arduino, et tu lances un petit prog qui ne fait qu'une chose : mettre la RTC à la bonne date et heure. Evidemment tu as installé une pile neuve dans la RTC ! Tant que la pile est chargée, TU N'AS PLUS BESOIN DE TE SOUCIER DE LA MISE à L'HEURE !! Le RTC marche toute seule avec sa pile, et maintient la date et l'heure.
Ensuite tu peux charger un autre programme dans l'Arduino. Cet autre programme n'a pas à se soucier de mettre la bonne heure : c'est déjà fait ! Par contre il doit se soucier de savoir si la RTC fonctionne correctement (un jour ou l'autre la pile va défaillir...), donc il interroge la RTC "Tu vas bien ?", si KO, passer en mode dégradé, ou afficher une message KO et bloquer...
Si OK, surtout ne pas se préoccuper de changer l'heure !!! Car à chaque redémarrage, le prog mettrait toujours la même heure !