Dans ce sketch le nom du jour apparait clairement sous forme de Lundi etc à l'aide des deux lignes suivantes :
char NomJour[7][12] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};
jour = NomJour[now.dayOfTheWeek()];
J'aimerais faire pareil pour les mois mais je ne trouve pas l'équivalent de "dayOfTheWeek()" pour les mois de l'année
Une idée?
Voici le skech :
#include<Wire.h>
#include "RTClib.h" //library DS3231
RTC_DS3231 rtc;
char NomJour[7][12] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};
//char NomMois[12][12] = {"Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"};
String jour;
int date, mois, annee, heure, minute, seconde;
float temperature;
void setup () {
Serial.begin(9600);
if (! rtc.begin()) {
Serial.println("recherche RTC");
while (1);
}
//chargement de l'heure et date dans le DS3231
//rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
//rtc.adjust(DateTime(2025,3,06,10,21,0));
}
void loop () {
DateTime now = rtc.now();
jour = NomJour[now.dayOfTheWeek()];
date = now.day();
mois = now.month();
annee = now.year();
heure = now.hour();
minute = now.minute();
seconde = now.second();
Serial.println(String() +jour+"," +date+"-"+mois+"-"+annee);
Serial.println(String() +heure+":" +minute);
Serial.println();
delay(3000);
}
avec la fonction dayOfTheWeek tu obtiens aussi un nombre.
Donc tu applique exactement le même principe.
Mais ce n'est pas ce que tu as fait dans ton programme. NomMois[now.month()] va te retourné la chaine de caractère de l'element du tableau correspondant.
Mais je ne sais pas pourquoi tu as déclaré ta variable moiscor comme un entier.
Donc normalement tu devrais avoir un erreur ou au moins un warning, te disant que tu essaye de mettre un char[] dans un int.
Sinon si tu veux une chaine, il faut que tu définisse une variable qui peut accueillir une chaine.
Je ne sais pas si la cause était une étourderie ou un manque de connaissance, mais si c'est le second, je sais que tu n'aimes pas entendre ça, mais tu gagnerais vraiment du temps à passer 2h à lire un cours C++.
J'entends déjà @jpbbricole, me dire, que c'est comme ça qu'il a appris et qu'il ne voit pas pourquoi changer une méthode qui marche ou que c'est pas à vos âges que vous aller vous remette à l'école.
Mais franchement entre le temps que tu perds et les limitations sur tes projets que cela engendre, cela me "désespère" de voir tout ce potentiel gâché
Mais bon c'est ton temps et tu le gère bien comme tu veux, mais je n'arrive pas à me résoudre de laisser faire
Bonjour
La bibliothèque RTClib utilise les broches 4 et 5 pour son I2C
Mais celles-ci sont déjà utilisées pour ma carte GPRS que je sais modifier dans mon scketch mais cela nécessiterait de modifier mon PCB aussi
Avant de passer par ce changement de hardware, y aurait-il moyen de modifier les broches du RTC?
J'ai cherché dans TRClib.h si on pouvait changer l'attribution des broches I2c mais je n'ai pas trouvé
Comment faire?
NB : le scanner I2C me donne deux adresses pour le RTC : 0x57 et 0x68
Merci jpbricole pour tes renseignements
Je me suis finalement décidé de modifier mon PCB et ai mis mon GPRS sur les pines 12-13 afin que les pines 4 et 5 restent attribuées à ma RTC