bonjour,
debutant en programation j aurais besoin d aide pour mon projet
allumage journalier progressif a heure definie
le matos:
arduino uno
alim pc 480W MAX (12v a 220W)
ecran pcd 8544
ULN2803 (4 pcs)
DS1302 RTC module
LED blanc 3* 1,65M 12V 2A
LED rgb 2* 1,65M 12V 1,5A
pour les branchements aucun souci
rtc pin 2.3.4 plus alim et masse
lcd pin 13.12.8.7.6 plus alim et masse
led blanc 5.1.0
led rgb 9.10.11 en PWM
par contre la programation j ai rien compris
surtout avec le rtc( reste a la date et heure d usine apres reset)
une idee de prog des exemples?
quelqu un peut il m aide?
je cherche quelqu un qui pourrai m expliquer comment procede pour utilise l ecran avec affichage de l heure /date grace a la pile de sauvegarde de mon rtc module
Salut pour régler l'heure de ton DS1307 il faut que tu programme ton Arduino avec ce petit bout de code dans lequel tu renseigne la date et l'heure actuelle ou autre....
Prends cette lib > ICI décompresse la et mets les trois lib dans ton dossier lid de ton IDE et injecte ce code pour régler l'heure
#include "WProgram.h"
#include "Wire.h"
#include "DS1307.h"
void setup()
{
// Réglage Horloge DS1307 :
RTC.stop();
RTC.set(DS1307_SEC,0); // Secondes
RTC.set(DS1307_MIN,00); // Minutes
RTC.set(DS1307_HR,22); // Heures
RTC.set(DS1307_DOW,0); // Jour de la semaine (0=Dimanche, 7=Samedi)
RTC.set(DS1307_DATE,9); // Jour du mois
RTC.set(DS1307_MTH,10); // Mois
RTC.set(DS1307_YR,11); // Année
RTC.start();
}
void loop(){}
une fois que tu as reglé l'heure tu peux reprogrammer ton Arduino avec ce code, pour synchroniser l'heure avec la Lib Time, et afficher une String sur le LCD:
#include <Time.h>
#include <DS1307RTC.h>
const int RS=2; //declaration constante de broche
const int E=3; //declaration constante de broche
const int D4=4; //declaration constante de broche
const int D5=5; //declaration constante de broche
const int D6=6; //declaration constante de broche
const int D7=7; //declaration constante de broche
LiquidCrystal lcd(RS, E, D4, D5, D6, D7);// initialisation LCD en mode 4 bits
void setup()
{
setSyncProvider(RTC.get);// Synchronise Time et DS1307
lcd.begin(20,4); // Initialise le LCD avec 20 colonnes x 4 lignes
delay(10);
lcd.print("LCD OK") ;
delay(1000);
lcd.clear();
}
void loop(){
char heureString[9] = ""; //Nombre Char dans string heure
sprintf(heureString, "%02d:%02d:%02d", hour(), minute(), second()); //Definit la forme string Time
lcd.setCursor(0,0);// Positionne le curseur
lcd.write(heureString); //Affiche sur le LCD string heure
}
axel_67:
je cherche quelqu un qui pourrai m expliquer comment procede pour utilise l ecran avec affichage de l heure /date grace a la pile de sauvegarde de mon rtc module
Arioch:
Salut Skywood, ton tuto est super mais y'a plus simple pour le DS1307 , toi tu rentres vraiment dans le camboui
C'est vrai qu'il y a plein de librairie pour le DS1307, mais bon avec deux fonctions simple, et deux fonctions de conversion on peu faire la même chose
2v c'est le minimum requis comme tension de sauvegarde, donc c'est bien ta pile qui déconne il faudrait du 3v pour que l'heure soit conservé correctement.
comment je fais pour ecrire l'heure dans la ram ;
y as conflit dans mon prog " serial easy"
le moniteur m affiche l'heure juste que les secondes impair
la ligne secondes pair il affiche: 00.00.2000 -- 00:00:85
Au lieu de 12.01.2012 -- 20:25:59