Vous êtes sur la page 1sur 5

Code de programmation en c/c++ avec le logiciel Arduino:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>C
#include <RTClib.h>// librairie a télécharger
#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args) write(args);
#else
#define printByte(args) print(args,BYTE);
#endif
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
"Friday", "Saturday"}; // declaration du jour
RTC_DS1307 RTC;//declaration du module DS 1307
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
int relais= 2;//déclaration de pin de relais
//déclaration heure 6h45
int heure1= 6;
int minut1= 45;
int sec1= 0;
//déclaration heure 7h 00
int heure2= 7;
int minut2= 0;
int sec2= 0;
//déclaration heure 8h 00
int heure3= 8;
int minut3= 0;
int sec3= 0;
//déclaration heure 8h 55
int heure4= 8;
int minut4= 55;
int sec4= 0;
//déclaration heure 9h 10
int heure5= 9;
int minut5= 5;
36
int sec5= 0;
//déclaration heure 10h 00
int heure6= 10;
int minut6= 0;
int sec6= 0;
//declaration heure 11h 00
int heure7= 11;
int minut7= 0;
int sec7= 0;
//déclaration heure 11h 45
int heure8= 11;
int minut8= 45;
int sec8= 0;
//déclaration heure 13h 00
int heure9= 13;
int minut9= 0;
int sec9= 0;
//déclaration heure 14h 00
int heure10= 14;
int minut10= 0;
int sec10= 0;
//déclaration heure 15h 00
int heure11= 15;
int minut11= 0;
int sec11= 0;
//déclaration heure 15h 55 recréation
int heure12= 15;
int minut12= 55;
int sec12= 0;
//déclaration heure 16h 10 fin recréation
int heure13= 16;
int minut13= 10;
int sec13= 0;
//déclaration heure 17h 00
int heure14= 17;
37
int minut14= 0;
int sec14= 0;
//déclaration heure 17h 45
int heure15= 17;
int minut15= 45;
int sec15= 0;
void setup()
{
lcd.begin(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.print("Initialising...");
lcd.createChar(2, clock);
Wire.begin();//commence la communication avec le bus I2C depuis la librairie wire
RTC.begin(); //on se sert de l’objet rtc que l’on a déclaré pus haut pour commencer la
//comunication avec la clock sur le bus i2c
pinMode(relais, OUTPUT);
//RTC.adjust(DateTime(__DATE__, __TIME__));//ajustage de la date et heure du DS1307
}
void loop()
{
lcd.clear();
DateTime now = RTC.now();//function qui permet de lire l’heur de l’objet RTC
lcd.printByte(2);
lcd.print(" ");
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
lcd.setCursor(0, 1);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
38
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.print(' ');
delay(1000);
//programme heure date et jour 1
if (now.hour ()== heure1 && now.minute() == minut1 && now.second() == sec1 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 2
if (now.hour ()== heure2 && now.minute() == minut2 && now.second() == sec2 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);
}
//programme heure date et jour 3
if (now.hour ()== heure3 && now.minute() == minut3 && now.second() == sec3 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 4
if (now.hour ()== heure4 && now.minute() == minut4 && now.second() == sec4 )
{digitalWrite(relais, HIGH);
39
delay(10000);
digitalWrite (relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 5
if (now.hour ()== heure5 && now.minute() == minut5 && now.second() == sec5 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 6
if (now.hour ()== heure6 && now.minute() == minut6 && now.second() == sec6 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 7
if (now.hour ()== heure7 && now.minute() == minut7 && now.second() == sec7 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 8
40
if (now.hour ()== heure8 && now.minute() == minut8 && now.second() == sec8 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 9
if (now.hour ()== heure9 && now.minute() == minut9 && now.second() == sec9 )
{ digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{ digitalWrite(relais, LOW); }
//programme heure date et jour 10
if (now.hour ()== heure10 && now.minute() == minut10 && now.second() == sec10 )
{ digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW); }
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 11
if (now.hour ()== heure11 && now.minute() == minut11 && now.second() == sec11 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
41
//programme heure date et jour 12
if (now.hour ()== heure12 && now.minute() == minut12 && now.second() == sec12 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 13
if (now.hour ()== heure13 && now.minute() == minut13 && now.second() == sec13 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 14
if (now.hour ()== heure14 && now.minute() == minut14 && now.second() == sec14 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);}
//programme heure date et jour 15
if (now.hour ()== heure15 && now.minute() == minut15 && now.second() == sec15 )
{digitalWrite(relais, HIGH);
delay(10000);
digitalWrite (relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 1)
{ digitalWrite(relais, LOW);}
if (daysOfTheWeek[now.dayOfTheWeek()] == 7)
{digitalWrite(relais, LOW);} }

Vous aimerez peut-être aussi