über externen Taster Uhrzeit in den seriellen Monitor printen

UhrModul: DS 1307
Arduino Uno

Hallo Leute, ich gerade dabei über einen externen Taster die Uhrzeit abzufragen bzw. diese in den Seriellen Monitor des Arduino Unos zu printen.

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 rtc;

const int tasterPin = 13;

int tasterStatus = 0;

void setup() {   
               
  Serial.begin(9600);

  pinMode(tasterPin,INPUT);     //Taster

}


void loop() 
{
 

tasterStatus = digitalRead(tasterPin);


  if (tasterStatus == HIGH )
  {
   DateTime now = rtc.now();
   Serial.println(now.second(), DEC);
    delay(1000);
  }

}

Vom Prinzip her:
Wenn ich den Taster drücke, möchte ich die aktuelle Stunde oder Minute oder Stunde im Seriellen Monitor angezeigt bekommen haben. Er gibt mir auch Werte aus, jedoch stimmen diese nicht mit der aktuellen z.B. Stunde übereins. Bei Serial.println(now.minute(), DEC); und Serial.println(now.hour(), DEC); gibt er mir immer “165” aus, egal welche minute oder Stunde gerade ist. Bei Serial.println(now.second(), DEC); immer den Wert “85”. Wisst ihr vlt auf anhieb woran es liegt, Verkabelung mit dem Arduino/Taster müsste richtig sein. Danke schonmal. MfG

Ich kenne deine verwendete Library nicht, aber evtl. kannst du einfach die Formatierung "DEC" in der Print-Anweisung weglassen.

Danke für die schnelle Antwort, jedoch kommt dann das gleiche Problem. >:(

Ist die RTC überhaupt mal gestellt worden und läuft auch?

Gruß Tommy

ich vermisse in dem Sketch überhaupt die Initialisierung des RTC-Moduls in der Setup-Routine...

Wire.begin();
RTC.begin();

...vielleicht mal mit einem Beispiel-Sketch aus der Library anfangen.

Hast du denn das mal mit einem Beispiel aus der Library getestet ?

Ahhh, ihr hattet recht! natürlich hatte ich das schon getestet, allerdings in anderen Sketches. Habe es übersehen!

if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
  }

hat gefehlt! Vielen Dank euch

MfG