Je suis débutant avec Arduino, j'essais de régler l'heure avec le tutoriel fournis (lecon 19)avec le kit Starter kit Mega 2560.
J'ai fait les raccords suivants;
DS331 / Mega2560
GND- Power/GND
VCC- Power/5V
SCL-SCL
SDA-SDA
J'ai ajouté la librairie DS3231.h fournis avec la documentation sur le CD
J'ai fait décommenté la ligne 'void setup' 'manuel' et inscris l'heure et date puis j'ai téléversé sans succès.
J'obtiens sur le moniteur serie des sequence d'.affichage suivants qui défilent. Ca me semble l'affichage proposé mais les datas de l 'horloge n'y sont pas.
Long number format:
Long format with month name:
Short format witch 12h mode:
Today is: days of the year.
Actual month has: days.
Unixtime:
Long number format:
Long format with month name:
Short format witch 12h mode:
Today is: days of the year.
Actual month has: days.
Unixtime:
//www.elegoo.com
//2016.12.9
#include <Wire.h>
#include <DS3231.h>
DS3231 clock;
RTCDateTime dt;
void setup()
{
Serial.begin(9600);
// Initialize DS3231
Serial.println("Initialize DS3231");;
clock.begin();
// Set sketch compiling time
clock.setDateTime(__DATE__, __TIME__);
// Set from UNIX timestamp
//clock.setDateTime(1397408400);
// Manual (YYYY, MM, DD, HH, II, SS
//clock.setDateTime(2018, 12, 31, 14, 38, 00);
}
void loop()
{
dt = clock.getDateTime();
Serial.print("Long number format: ");
Serial.println(clock.dateFormat("d-m-Y H:i:s", dt));
Serial.print("Long format with month name: ");
Serial.println(clock.dateFormat("d F Y H:i:s", dt));
Serial.print("Short format witch 12h mode: ");
Serial.println(clock.dateFormat("jS M y, h:ia", dt));
Serial.print("Today is: ");
Serial.print(clock.dateFormat("l, z", dt));
Serial.println(" days of the year.");
Serial.print("Actual month has: ");
Serial.print(clock.dateFormat("t", dt));
Serial.println(" days.");
Serial.print("Unixtime: ");
Serial.println(clock.dateFormat("U", dt));
Serial.println();
delay(1000);
}
Ton message n'est pas au bon endroit, ici c'est pour les tutos. Demande au modo de déplacer le message en appuyant sur le lien 'report to moderator' situé sous ton message.
Quant à ta question, il y a eu une question similaire il y a peu de temps sur le forum. Tu peux chercher si tu as du courage.
Les yeux me piquent et les doigts bouillonnent (ou le contraire)
255 octets de RAM réservés en permanence dans un petit arduino, pour un buffer statique dédié à une fonction douteuse?
Quelle hérésie! Que l'on prépare le bûcher pour son auteur.
Jamais compris à quoi sert cette fonction, dont l'appel ne peut de toute manière pas être laissé dans le code, sinon le rtc revient toujours à la même date/heure (=celle de la compil) à chaque redémarrage de l'arduino.
On ne peut l'utiliser qu'une seule fois, après il faut mettre la ligne en commentaires et téléverser à nouveau le programme. Donc autant s'en passer et mettre directement le réglage manuel. C'est quand même pas dur de saisir la date et l'heure courante. Et au moins là on est sûr des valeurs.
Bon d'accord, si on met la ligne en commentaire, normalement la fonction n'est plus utilisée et le compilateur va la dégager, donc plus de buffer statique.
Mais quand même : beurk beurk beurk
Pis sinon il existe une autre lib vachement sympa, qui se veut plus facile à utiliser, en français, et en prime qui gère toute seule les changements d'heure été/hiver. cf ma signature ;D