Bonjour à Tous,
J'ai un problème avec deux tableaux.
J'ai une fonction "getTime" qui extrait une variable du tableau "tabHeure" et une copie de cette fonction "getTime2" qui extrait une variable du tableau "tabHeure2"
Ca marche très bien pour la prèmière fonction, mais pas du tout avec la seconde qui me renvoie toujours le résultat : 8264.
#include <RtcDS3231.h>
#include "Wire.h"
RtcDS3231<TwoWire> rtcObject(Wire);
int tabHeure[52];
int tabHeure2[52];
void setup(){
tabHeure[0]=30300;
tabHeure[1]=30000;
tabHeure[2]=29700;
tabHeure[3]=29280;
tabHeure[4]=28800;
tabHeure[5]=28200;
tabHeure[6]=27600;
tabHeure[7]=26700;
tabHeure[8]=26100;
tabHeure[9]=25200;
tabHeure[10]=24300;
tabHeure[11]=23400;
tabHeure[12]=22500;
tabHeure[13]=21600;
tabHeure[14]=20700;
tabHeure[15]=20400;
tabHeure[16]=19800;
tabHeure[17]=19800;
tabHeure[18]=19800;
tabHeure[19]=19800;
tabHeure[20]=19800;
tabHeure[21]=19800;
tabHeure[22]=19800;
tabHeure[23]=19800;
tabHeure[24]=19800;
tabHeure[25]=19800;
tabHeure[26]=19800; // I get this value
tabHeure[27]=19800;
tabHeure[28]=19800;
tabHeure[29]=19800;
tabHeure[30]=19800;
tabHeure[31]=19800;
tabHeure[32]=19800;
tabHeure[33]=19800;
tabHeure[34]=20500;
tabHeure[35]=21000;
tabHeure[36]=21500;
tabHeure[37]=22500;
tabHeure[38]=23000;
tabHeure[39]=23700;
tabHeure[40]=24800;
tabHeure[41]=26000;
tabHeure[42]=27200;
tabHeure[43]=27500;
tabHeure[44]=27500;
tabHeure[45]=28000;
tabHeure[46]=28500;
tabHeure[47]=29000;
tabHeure[48]=29500;
tabHeure[49]=30000;
tabHeure[50]=30600;
tabHeure[51]=30600;
tabHeure2[0]=63000;
tabHeure2[1]=63000;
tabHeure2[2]=63000;
tabHeure2[3]=63000;
tabHeure2[4]=63000;
tabHeure2[5]=63000;
tabHeure2[6]=63000;
tabHeure2[7]=63000;
tabHeure2[8]=63500;
tabHeure2[9]=64800;
tabHeure2[10]=65700;
tabHeure2[11]=66600;
tabHeure2[12]=67200;
tabHeure2[13]=67800;
tabHeure2[14]=69000;
tabHeure2[15]=70500;
tabHeure2[16]=72000;
tabHeure2[17]=72600;
tabHeure2[18]=73200;
tabHeure2[19]=73800;
tabHeure2[20]=73800;
tabHeure2[21]=73800;
tabHeure2[22]=73800;
tabHeure2[23]=73800;
tabHeure2[24]=73800;
tabHeure2[25]=73800;
tabHeure2[26]=73800; // I should get this value, instead i get 8264.
tabHeure2[27]=73800;
tabHeure2[28]=73800;
tabHeure2[29]=73800;
tabHeure2[30]=73800;
tabHeure2[31]=73800;
tabHeure2[32]=73800;
tabHeure2[33]=73800;
tabHeure2[34]=73500;
tabHeure2[35]=73000;
tabHeure2[36]=72700;
tabHeure2[37]=71800;
tabHeure2[38]=71200;
tabHeure2[39]=70800;
tabHeure2[40]=69800;
tabHeure2[41]=69000;
tabHeure2[42]=68500;
tabHeure2[43]=68000;
tabHeure2[44]=67700;
tabHeure2[45]=67000;
tabHeure2[46]=66200;
tabHeure2[47]=65000;
tabHeure2[48]=64000;
tabHeure2[49]=63500;
tabHeure2[50]=63200;
tabHeure2[51]=63000;
Serial.begin(115200);
int annee = 23;
int mois = 06;
int jour = 30;
int heure = 10;
int minut = 30;
int sec = 0;
rtcObject.Begin();
RtcDateTime currentTime = RtcDateTime(annee, mois,jour, heure, minut, sec);
rtcObject.SetDateTime(currentTime);
}
void loop(){
getTime();
getTime2();
delay(2000);
}
int getTime(){
int jour=0;
RtcDateTime currentTime = rtcObject.GetDateTime();
int jourParMois[13];
jourParMois[1]=31; // Nombre de jours par mois
jourParMois[2]=28;
jourParMois[3]=31;
jourParMois[4]=30;
jourParMois[5]=31;
jourParMois[6]=30;
jourParMois[7]=31;
jourParMois[8]=31;
jourParMois[9]=30;
jourParMois[10]=31;
jourParMois[11]=30;
jourParMois[12]=31;
int moisEnVrai = currentTime.Month() + 1;
for(int i=1 ; i<moisEnVrai ; i++)
{
jour = jour + jourParMois[i];
}
int semaine = jour/7;
int semaine2 = semaine +1;
int sec2 = tabHeure[semaine2];
Serial.print("Seconde apres minuit pour le lever de soleil : ");
Serial.println(sec2);
return sec2;
}
int getTime2(){
int jour=0;
RtcDateTime currentTime = rtcObject.GetDateTime();
int jourParMois[13];
jourParMois[1]=31;
jourParMois[2]=28;
jourParMois[3]=31;
jourParMois[4]=30;
jourParMois[5]=31;
jourParMois[6]=30;
jourParMois[7]=31;
jourParMois[8]=31;
jourParMois[9]=30;
jourParMois[10]=31;
jourParMois[11]=30;
jourParMois[12]=31;
int moisEnVrai = currentTime.Month() + 1;
for(int i=1 ; i<moisEnVrai ; i++)
{
jour = jour + jourParMois[i]; // Cumul les jours depuis le début de l'année
}
int semaine = jour/7; // Le transforme en semaine
int semaine2 = semaine +1; // Rajoute 1
int sec = tabHeure2[semaine2]; // Apel le tableau "tabHeure2[26]" qui devrait me donner 73800 et me donne à la place 8264...
Serial.print("Seconde apres minuit pour le lever de soleil : ");
Serial.println(sec);
return sec;
}
Auriez-vous une idée de ce qui cloche avec cette deuxième fonction ou ce deuxième tableau ?
D'avance merci