Bonjour à tous!
Je suis tout nouveau dans le monde d'arduino et je viens vous demander votre aide si vous êtes daccord.
Je fabrique actuellement une wordclock en suivant quelques tuto en j'en suis au codage de mon arduino.
Après vérification de mon programme j'ai pleins d'erreurs (je m'y attendais car je me suis aider de différents tuto) seulement je ne comprends pas certaine erreurs
Pour faire simple mon horloge aura simplement deux boutons:
-le premier pour régler les minutes en faisant plus 5 à chaque pression
-le deuxième pour régler les heures en faisant plus 1 à chaque pression
Je suis en possession d'un arduino Mega qui fera allumer chaque mot avec une sortie
J'ai acheter un module RTC DS3231 (et c'est surtout la que sa coince)
J'espère que mes explications sont assez claire pour que vous puissiez m'aider.
Je vous remercier d'avance pour votre aide et vos remarques
#include <config.h>
#include <ds3231.h>
struct ts t;
int rtc[7];
int Bouton1=1; //+1 heure
int Bouton2=2; //+5 minutes
int Minuit=3;
int Heure1=4;
int Heure2=5;
int Heure3=6;
int Heure4=7;
int Heure5=8;
int Heure6=9;
int Heure7=10;
int Heure8=11;
int Heure9=12;
int Heure10=13;
int Heure11=14;
int Midi=15;
int Minute5=16;
int Minute10=17;
int Quart=18;
int Minute20=19;
int Demi=20;
int Et=21;
int Moins=22;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Wire.begin();
DS3231_init(DS3231_INTCN);
t.hour=14; // données pour mettre à l'heure l'horloge
t.min=55;
t.sec=0;
t.mday=20;
t.mon=5;
t.year=2018;
DS3231_set(t); // mise à l'heure de l'horloge
pinMode(Bouton1,INPUT);// déclaration des entrées
pinMode(Bouton2,INPUT);
pinMode(Minuit,OUTPUT);
pinMode(Heure1,OUTPUT);
pinMode(Heure2,OUTPUT);
pinMode(Heure3,OUTPUT);
pinMode(Heure4,OUTPUT);
pinMode(Heure5,OUTPUT);
pinMode(Heure6,OUTPUT);
pinMode(Heure7,OUTPUT);
pinMode(Heure8,OUTPUT);
pinMode(Heure9,OUTPUT);
pinMode(Heure10,OUTPUT);
pinMode(Heure11,OUTPUT);
pinMode(Midi,OUTPUT);
pinMode(Minute5,OUTPUT);
pinMode(Minute10,OUTPUT);
pinMode(Quart,OUTPUT);
pinMode(Minute20,OUTPUT);
pinMode(Demi,OUTPUT);
pinMode(Et,OUTPUT);
pinMode(Moins,OUTPUT);
digitalWrite(Bouton1, HIGH);
digitalWrite(Bouton2, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
Var1=1-digitalRead(Bouton1);
Var2=1-digitalRead(Bouton2);
if (Var1==0) Ancvar1=0;
if (Var2==0) Ancvar2=0;
if (Var1!=Ancvar1) // Front Montant du bouton 1
{
Inc=rtc[1]+5;
if (Inc>59) Inc=0;
RTC.stop();
RTC.set(DS3231_MIN,Inc);
RTC.start();
Temp1=1000;
affichage();
Ancvar1=1;
}
if (Var2!=Ancvar2) // Front Montant du bouton 2
{
Inc=rtc[2]+1;
if (Inc>23) Inc=0;
RTC.stop();
RTC.set(DS3231_HR,Inc);
RTC.start();
Temp1=1000;
affichage();
Ancvar2=1;
}
//*****************************HEURES***********************************************
DateTime now = RTC.now();
if ((now.hour() == 0 && now.minute() <= 34)||(now.hour() == 23 && now.minute() >= 35))
{
digitalWrite(Minuit,HIGH);
digitalWrite(Heure11,LOW);
}
else if ((now.hour() == 1 && now.minute() <= 34)||(now.hour() == 0 && now.minute() >= 35))
{
digitalWrite(Heure1,HIGH);
digitalWrite(Minuit,LOW);
}
else if ((now.hour() == 2 && now.minute() <= 34)||(now.hour() == 1 && now.minute() >= 35))
{
digitalWrite(Heure2,HIGH);
digitalWrite(Heure1,LOW);
}
else if ((now.hour() == 3 && now.minute() <= 34)||(now.hour() == 2 && now.minute() >= 35))
{
digitalWrite(Heure3,HIGH);
digitalWrite(Heure2,LOW);
}
else if ((now.hour() == 4 && now.minute() <= 34)||(now.hour() == 3 && now.minute() >= 35))
{
digitalWrite(Heure4,HIGH);
digitalWrite(Heure3,LOW);
}
else if ((now.hour() == 5 && now.minute() <= 34)||(now.hour() == 4 && now.minute() >= 35))
{
digitalWrite(Heure5,HIGH);
digitalWrite(Heure4,LOW);
}
else if ((now.hour() == 6 && now.minute() <= 34)||(now.hour() == 5 && now.minute() >= 35))
{
digitalWrite(Heure6,HIGH);
digitalWrite(Heure5,LOW);
}
else if ((now.hour() == 7 && now.minute() <= 34)||(now.hour() == 6 && now.minute() >= 35))
{
digitalWrite(Heure7,HIGH);
digitalWrite(Heure6,LOW);
}
else if ((now.hour() == 8 && now.minute() <= 34)||(now.hour() == 7 && now.minute() >= 35))
{
digitalWrite(Heure8,HIGH);
digitalWrite(Heure7,LOW);
}
else if ((now.hour() == 9 && now.minute() <= 34)||(now.hour() == 8 && now.minute() >= 35))
{
digitalWrite(Heure9,HIGH);
digitalWrite(Heure8,LOW);
}
else if ((now.hour() == 10 && now.minute() <= 34)||(now.hour() == 9 && now.minute() >= 35))
{
digitalWrite(Heure10,HIGH);
digitalWrite(Heure9,LOW);
}
else if ((now.hour() == 11 && now.minute() <= 34)||(now.hour() == 10 && now.minute() >= 35))
{
digitalWrite(Heure11,HIGH);
digitalWrite(Heure10,LOW);
}
else if ((now.hour() == 12 && now.minute() <= 34)||(now.hour() == 11 && now.minute() >= 35))
{
digitalWrite(Midi,HIGH);
digitalWrite(Heure11,LOW);
}
else if ((now.hour() == 13 && now.minute() <= 34)||(now.hour() == 12 && now.minute() >= 35))
{
digitalWrite(Heure1,HIGH);
digitalWrite(Midi,LOW);
}
else if ((now.hour() == 14 && now.minute() <= 34)||(now.hour() == 13 && now.minute() >= 35))
{
digitalWrite(Heure2,HIGH);
digitalWrite(Heure1,LOW);
}
else if ((now.hour() == 15 && now.minute() <= 34)||(now.hour() == 14 && now.minute() >= 35))
{
digitalWrite(Heure3,HIGH);
digitalWrite(Heure2,LOW);
}
else if ((now.hour() == 16 && now.minute() <= 34)||(now.hour() == 15 && now.minute() >= 35))
{
digitalWrite(Heure4,HIGH);
digitalWrite(Heure3,LOW);
}
else if ((now.hour() == 17 && now.minute() <= 34)||(now.hour() == 16 && now.minute() >= 35))
{
digitalWrite(Heure5,HIGH);
digitalWrite(Heure4,LOW);
}
else if ((now.hour() == 18 && now.minute() <= 34)||(now.hour() == 17 && now.minute() >= 35))
{
digitalWrite(Heure6,HIGH);
digitalWrite(Heure5,LOW);
}
else if ((now.hour() == 19 && now.minute() <= 34)||(now.hour() == 18 && now.minute() >= 35))
{
digitalWrite(Heure7,HIGH);
digitalWrite(Heure6,LOW);
}
else if ((now.hour() == 20 && now.minute() <= 34)||(now.hour() == 19 && now.minute() >= 35))
{
digitalWrite(Heure8,HIGH);
digitalWrite(Heure7,LOW);
}
else if ((now.hour() == 21 && now.minute() <= 34)||(now.hour() == 20 && now.minute() >= 35))
{
digitalWrite(Heure9,HIGH);
digitalWrite(Heure8,LOW);
}
else if ((now.hour() == 22 && now.minute() <= 34)||(now.hour() == 21 && now.minute() >= 35))
{
digitalWrite(Heure10,HIGH);
digitalWrite(Heure9,LOW);
}
else if ((now.hour() == 23 && now.minute() <= 34)||(now.hour() == 22 && now.minute() >= 35))
{
digitalWrite(Heure11,HIGH);
digitalWrite(Heure10,LOW);
}
//***************************MINUTES*****************************
if ((now.minute() == 0)&&(now.minute() >= 5))
{
digitalWrite(Minute5,LOW);
digitalWrite(Minute10,LOW);
digitalWrite(Quart,LOW);
digitalWrite(Minute20,LOW);
digitalWrite(Demi,LOW);
digitalWrite(Et,LOW);
digitalWrite(Moins,LOW);
}
else if ((now.minute() == 5)&&(now.minute() >= 9))
{
digitalWrite(Minute5,HIGH);
digitalWrite(Et,HIGH);
}
else if ((now.minute() == 10)&&(now.minute() >= 14))
{
digitalWrite(Minute5,LOW);
digitalWrite(Minute10,HIGH);
}
else if ((now.minute() == 15)&&(now.minute() >= 19))
{
digitalWrite(Quart,HIGH);
digitalWrite(Minute10,LOW);
}
else if ((now.minute() == 20)&&(now.minute() >= 24))
{
digitalWrite(Quart,LOW);
digitalWrite(Minute20,HIGH);
}
else if ((now.minute() == 25)&&(now.minute() >= 29))
{
digitalWrite(Minute5,HIGH);
digitalWrite(Minute20,HIGH);
}
else if ((now.minute() == 30)&&(now.minute() >= 34))
{
digitalWrite(Minute5,LOW);
digitalWrite(Minute20,LOW);
digitalWrite(Demi,HIGH);
}
else if ((now.minute() == 35)&&(now.minute() >= 39))
{
digitalWrite(Demi,LOW);
digitalWrite(Minute20,HIGH);
digitalWrite(Minute5,HIGH);
digitalWrite(Moins,HIGH);
digitalWrite(Et,LOW);
}
else if ((now.minute() == 40)&&(now.minute() >= 44))
{
digitalWrite(Minute20,HIGH);
digitalWrite(Minute5,LOW);
}
else if ((now.minute() == 45)&&(now.minute() >= 49))
{
digitalWrite(Minute20,LOW);
digitalWrite(Quart,HIGH);
}
else if ((now.minute() == 50)&&(now.minute() >= 54))
{
digitalWrite(Minute10,HIGH);
digitalWrite(Quart,LOW);
}
else if ((now.minute() == 55)&&(now.minute() >= 59))
{
digitalWrite(Minute10,LOW);
digitalWrite(Minete5,HIGH);
}
}