Go Down

Topic: Réglage heure par bouton (Read 3346 times) previous topic - next topic

_pepe_

#15
Mar 14, 2015, 10:33 am Last Edit: Aug 20, 2018, 02:48 am by _pepe_
Supprimé

Nickelriri

#16
Mar 14, 2015, 10:47 am Last Edit: Mar 14, 2015, 10:50 am by Nickelriri
Non je n'est pas de liste.


J'ai vu que pour régler l'heure je devais déjà ajouter cette ligne :
RTC . ajuster ( DateTime ( __DATE__ , __TIME__ ));

_pepe_

#17
Mar 14, 2015, 10:52 am Last Edit: Aug 20, 2018, 02:48 am by _pepe_
Supprimé

Nickelriri

#18
Mar 14, 2015, 10:56 am Last Edit: Mar 14, 2015, 10:57 am by Nickelriri
D'accord je vais chercher tout ça.

Il est dit que pour le réglage il faudrait utiliser :
RTC.stop();
  RTC.set(DS1307_SEC,1);        //set the seconds
  RTC.set(DS1307_MIN,23);     //set the minutes
  RTC.set(DS1307_HR,12);       //set the hours
  RTC.set(DS1307_DOW,4);       //set the day of the week
  RTC.set(DS1307_DATE,5);       //set the date
  RTC.set(DS1307_MTH,3);        //set the month
  RTC.set(DS1307_YR,9);         //set the year
  RTC.start();


Est-ce vrai ?

_pepe_

#19
Mar 14, 2015, 11:00 am Last Edit: Aug 20, 2018, 02:48 am by _pepe_
Supprimé

Nickelriri

Cela me semble assez compliquer et mon niveau de programmation est vraiment bas, je ne sais pas du tout par ou commencer si j'utilise cette façons.

_pepe_

#21
Mar 14, 2015, 11:13 am Last Edit: Aug 20, 2018, 02:48 am by _pepe_
Supprimé

Nickelriri

D'accord je vais essayer, merci pour ton aide.

Nickelriri

Comment je peux vérifier si les fonctions présentées au-dessus appartiennent bien à la bibliothèque que je possède ?

_pepe_

#24
Mar 14, 2015, 01:44 pm Last Edit: Aug 20, 2018, 02:48 am by _pepe_
Supprimé

Nickelriri


Nickelriri

#26
Mar 14, 2015, 03:45 pm Last Edit: Mar 14, 2015, 06:07 pm by Nickelriri
Code: [Select]
#include <LiquidCrystal.h>

int buton1 = 5;
int buton2 = 6;
int buton3 = 7;
int var;
int var2;
int var3;
int heure = 00;
int minute = 00;
int seconde = 00;

void setup()
{
 Serial.begin(9600);
 pinMode(buton1, INPUT);
 pinMode(buton2, INPUT);
 pinMode(buton3, INPUT);
}
void loop()
{
 
 Serial.print(heure);
 Serial.print(":");
 Serial.print(minute);
 Serial.print(":");
 Serial.print(seconde);
 
 var = digitalRead(buton1);
 while(var != 0)
 {
   var2 = digitalRead(buton2);
   if(buton2=HIGH)
   heure = heure+1;
   
   var3 = digitalRead(buton3);
   if(buton3=HIGH)
   heure = heure-1;   
  }
}


J'ai fais ce petit programme isolé du reste du code, il ne ferait que l'avancement et le reculement de l'heure. Mais comme vous m'aviez dis précèdement cela ne devrait donc pas  marchais puisqu'il faut que j'intègre les fonctions de réglage du RTC DS1307 c'est bien ça ? ou cela pourrait marcher ?

Nickelriri

Bon voilà j'ai mieux arranger le programme, mis le code en utilisant les fonctions du RTC, cependant déjà une erreur de compilation :/

Code: [Select]
#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal.h>
#include <DS1307.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
RTC_DS1307 RTC;

int buttonPin = 10;
int rtcHour;
int rtcMinute;
int rtcSeconds;
int rtcDay;
int rtcMonth;
int rtcYear;


void setup()
{
Serial.begin(9600);
Wire.begin();
RTC.begin();
lcd.begin(16,2);
pinMode(10, INPUT);

if (!RTC.isrunning()) {
Serial.println ("RTC is NOT running!");
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}


void loop ()
{
DateTime now = RTC.now();
rtcHour = now.hour();
rtcMinute = now.minute();
rtcSeconds = now.second();

//Modifier l'heure
if(digitalRead(buttonPin) == LOW)
RTC.set(DS1307_HR, rtcHeure+1);


//Affichage heure LCD
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Heure:");
lcd.setCursor(6,0);

if (rtcHour < 10)
lcd.print("0");

lcd.print(now.hour(), DEC);
lcd.print(":");

if (rtcMinute < 10)
lcd.print("0");

lcd.print(now.minute(), DEC);
lcd.print(":");

if (rtcSeconds < 10)
lcd.print("0");

lcd.print(now.second(),DEC);
lcd.print("s");
lcd.setCursor(0,1);

lcd.print("Date:");
lcd.setCursor(6,1);
rtcDay = now.day();
rtcMonth = now.month();
rtcYear = now.year();

if (rtcDay < 10)
lcd.print("0");

lcd.print(now.day(),DEC);
lcd.print("/");

if (rtcMonth < 10)
lcd.print("0");

lcd.print(now.month(),DEC);
lcd.print("/");


if (rtcYear < 10)
lcd.print("0");

lcd.print(rtcYear, DEC);
lcd.print(" ");
lcd.print(" ");

delay(1000);
}


 fatal error: DS1307.h: No such file or directory.

Cela veut dire que je n'est pas la bonne bibliothèque non ? cependant je pense avoir la bonne, je l'es téléchargé ici : https://www.pjrc.com/teensy/td_libs_DS1307RTC.html

Nickelriri

Quelqu'un sait comment je pourrais résoudre ce problème ?
J'ai bien mis cette bibliothèque dans le dossier "librairie" de arduino pourtant.

Go Up