Mega 2560

Portrait de cycy

Bonsoir, je viens de aire l'acquisition d'une carte atMega arduino 2560, mais je fais face à un problème en effet lorsque je programme mon horloge je me dois de déclarer la variable "monRtc(SDA, SLC), le problème étant que l'arduino ne reconnaît pas les deux variables SDA et SCL.... Comment dois-je faire

Portrait de Anonyme

Bonjour  cycy voici la bonne configuration pour I2C Mega2560 :

monRtc(20, 21) ;

Portrait de cycy

Merci pour vôtre réponse, j'ai juste une dernière question. J'ai une horloge où dans le void Loop je dois rentrer "monstre.getDateStr" or lorsque je mets Str la fonction n'est pas reconnue. Comment dois-je faire ?

Portrait de Walter

A priori tu n'a pas du inclure(#include) la même librairie que l'exemple sur le quel tu t'appuie.
sinon SDA et SCL aurait était définie dans le fichier d'entête( ex DS3231.h).

peux tu donner ton code, ca sera plus simple pour t'aider?

Portrait de Anonyme

Je pense que si tu postais le code ce serait plus simple pour le corriger !

Mais déjà modifie monStre.getDateStr par montre.getDateStr !!

Portrait de cycy

Voici mon code :

#include <DS3231.h>

DS3231 monRTC (SDA, SCL);    //comme ce que vous m'avez dit je metterai (20, 21)

void setup(){

Serial.begin(9600);

monRTC.begin();

monRTC.SetTime(0, 0, 0);

}

Void loop(){

Serial.print(monRTC.getTimeStr());   // car pour moi getTimeStr ne marche pas

delay(1000);

}

Le problème est donc que SDA et SCL ne sont pas reconnues ainsi que getTimeStr mais à li'inverse getTime est reconnue.... J'ai pourtant bien installé la library DS3231....

Portrait de Anonyme

La library qui fonctionne bien est : RTClib by NeiroN

Tu vas "Croquis" puis "Inclure une bibliothèque"  puis "Gérer bibliothèques"  écrit "RTClib by NeiroN" dans le rectangle rouge sur l'image ci-dessous rouge !!

#include <DS3231.h>

DS3231 monRTC (SDA, SCL);    //comme ce que vous m'avez dit je metterai (20, 21)

void setup() {

  Serial.begin(9600);
  monRTC.begin();
  monRTC.setDOW(TUESDAY);     // Set Day-of-Week to SUNDAY
  monRTC.setTime(14, 0, 0);     // Set the time to 12:00:00 (24hr format)
  monRTC.setDate(1, 28, 2020);
}

void loop() {

  Serial.print(monRTC.getDOWStr());
  Serial.print(" ");
  Serial.print(monRTC.getDateStr());
  Serial.print(" -- ");
  Serial.println(monRTC.getTimeStr());
  delay (1000);
}

Portrait de cycy

J'ai installé la librairie mon il ne reconnaît toujours pas la fonction "getTimeStr"...

Portrait de Anonyme

Tu as choisi quelle carte dans l'IDE ?

Portrait de cycy

Mega 2560

Portrait de Anonyme

Regarde dans le répertoire documents/libraries/si tu n'as pas une autre libraries ds3231 et si c'est le cas supprimé la