Node MCU und RTC Uhr DS3231

Hallo liebe Forenmitglieder,

ich bin gerade dabei eine Steuerung zu bauen die etwas um eine bestimmte Uhrzeit ausführen soll.

Für das habe ich mir ein Node Mcu Board und eine DS3231 RTC Uhr geholt.

Folgende Fragen habe ich:

  1. Wie schließe ich Hardwaretechnisch die DS3231 am Node Mcu an(finde kein SDA und SCL, im Internet auch nix)

und 2. wie würde der Code aussehen wenn ich die Zeit der DS3231 setzen will und dann um eine bestimmte Uhrzeit etwas ausführen will??

Danke schonmal für alle Antworten!

Hallo,

das hört sich ganz danach an als sollen wir die die Arbeit abnehmen :slight_smile:

Als erstes wäre ein Photo vom Bord nicht schlecht. Dann wissen wir welches du hast.
Oder zu mindestens eine Bezeichnung.

Dann würde ich dir empfehlen die Beispiel der Arduino IDE durchzuschauen. Es reiche wenn du dir die Sachen vom DS3107 anschaust. Das wichtigste findest du dort.
Was du dort nicht findest ist die Tatsache das die Module oft im ausgeschaltetem Zustand sind und diese erst mal initialisiert werden müssen.
Wenn du dannach einen Skesh zusammen gebastelt hast und es nicht funktioniert, ist eine Zeichnung fällig wie du das ganze zusammen gebaut hast.
Dann gibt es bestimmt etliche die dir unter die Arme greifen werden.

Schöne Feiertage und einen guten Rutsch wünscht Temucin alias TFT

Wenn du Google fragst, findest du sehr viele antworten

Google: "nodemcu i2c Pins"

Und Beispiele zum Stellen der Uhrzeit findest du im Beispiel der DS3231 Library.

Hier schonmal die Pinbezeichnungen (NodeMcu Amica V2)

Zum setzen der RTC Zeit habe ich bis jetzt das gefunden:
rtcObject.SetDateTime(23, 12, 17, 14, 40, 0); //RTC Uhr setzen 23.12.2017 14:40:00

Und zum abrufen:
RtcDateTime currentTime = rtcObject.GetDateTime(); //RTC Zeit auslesen > "hh:mm"
char aktuelleZeit[15];
sprintf(aktuelleZeit, "%d:%d",
currentTime.Hour(),
currentTime.Minute()
);

Jedoch finde (oder verstehe :wink: ) ich die Programmbeispiele nicht ganz so. Ich bräuchte ungefähr so einen Code:

i2c initialisieren

RTC Zeit setzen

Loop:
if (aktuelleZeit == TriggerZeit) Aktion();

Jedoch verstehe ich noch nicht ganz wie ich die aktuelle RTC Zeit in den Char "aktuelleZeit" bekomme muss ich jede Sekunde in der Loop die Uhrzeit vom RTC auslesen(wie oben)?

Wenn du den von mir genannten Google Suchbegriff genommen hättest, kommst du auch an die richtigen Bilder.
Warum machst du das nicht ?
Ebenso mit der Library für deine RTC.