RTC 1307 lässt sich nicht stellen

Hallo zusammen,

ich hab als blutiger Anfänger mal wieder ein Problem :roll_eyes: !

Ich habe mir ein RTC DS1307 Modul bestellt und angeschlossen. Er läuft als Zeitgeber, aber ich bekomme ihn nicht neu eingestellt. Sprich das Set funktioniert nicht.

Ich nutze die RTC Bibliothek aus der Time.h com Playground. Die Libs laufen alle

#include <LiquidCrystal.h>              // Bibliothek für LCD
#include <Time.h>                       // Bibliothek für Uhrzeit
#include <IRremote.h>                   // Bibliothek für IR-Empfänger
#include <Wire.h>                       // Lib für I2C
#include <DS1307RTC.h>                  // a basic DS1307 library that returns time as a time_t

Mein Setup müsste soweit ich die Beispiele verstehe auch richtig sein.

void setup()
{
//pinMode(menuebutton, INPUT); // Starte Pin 8 als Input (für Taster)
lcd.begin(20, 4); // Set up the LCD's number of columns and rows:
lcd.print(stdText); // Startmeldung auf Display
//setTime(12,0,0,1,1,11); // Zeit ist 12 Uhr mittags am 1.1.2011
Serial.begin(9600); // Startet serielle Schnittstelle für seriellen Monitor
irrecv.enableIRIn(); // Start the receiver
pinMode(STATUS_PIN, OUTPUT); // Legt Pin 13 als Output fest (für interne LED)
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
}

Ich habe in meiner gesamten Logik ein Menü aufgebaut, welches es mir erlaubt verschiedene Timer über eine Infrarotfernbedienung zu steuern. Das setzen der Zeiten in der Softclock läuft auch fehlerfrei.

Hierfür habe ich ohne RTC diese Zeile aus der time.h verwendet

  setTime(Anstunde[DeviceID],Anminute[DeviceID],0,8,4,23);

Jetzt habe ich es damit versucht, aber er nimmt es einfach nicht. Meine internen Variablen Anstunde und Anminute speichert er richtig, aber er überträgt sie nicht in die time t oder speichert sie auch nicht in der RTC. Ich bneutze folgenden Code dafür

           setTime(Anstunde[DeviceID],Anminute[DeviceID],0,8,4,23); 
              time_t t =now();
              RTC.set(t);

Wo liegt mein Fehler? Wie kann ich die im Menü gespeicherten Werte an die RTC übertragen?

Danke an alle aber hat sich erledigt...

Ich hatte die Kabel für falsch angeschlossen ... beim Mega ist es Port 21/20

Ich hätte Dir nicht helfen können. :wink: :wink:

Bei Deiner Beschreibung wäre mir nie die Idee gekommen, daß die RTC nicht angesprochen wird.

Grüße Uwe