DS 1307 RTC Module hilfe :C

Hallo ihr lieben.

Ich bastle gerade an meinem Arduino zuhause rum und habe den DS 1307 Sensor entdeckt.
Ich habe natürlich ihn sofort angebaut aber leider liest er falsche Werte aus heißt es werden nicht die richtige Uhrzeit und das richtige Datum ausgeworfen. Gerne könnt ihr mich verbessern habe nämlich nicht so viel Ahnung hier von diesem Thema. Habe nur im Internet gelesen und gesehen das es ein RealTime Clock Sensor ist und dieser die richtgen Daten sprich in dem Fall (Datum und Uhrzeit) auslesen(ausgeben) kann.

Ich danke euch schonmal für eure Hilfe :smiley:
Anbei der Code den ich verwende wie gesagt es funktioniert alles und wird angezeigt auf dem LCD Display außer, dass es halt die falschen Daten sind.

Der Code:

#include <Time.h> 
#include <Wire.h>
#include <DS1307RTC.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() 
{
lcd.begin(16, 2); 
Serial.begin(9600);
setSyncProvider(RTC.get);
}

void loop() 
{
Serial.print(hour()); 
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
delay(1000);
lcd.setCursor(2, 0); 
lcd.print(hour());
lcd.print(":");
lcd.print (minute());
lcd.print(":");
lcd.print(second());
lcd.print(" ");
lcd.print("Uhr");
lcd.print(" ");
lcd.print(" ");
lcd.print(" "); 
lcd.setCursor(1, 1); 
lcd.print(day());
lcd.print(".");
lcd.print(month());
lcd.print(".");
lcd.print(year());
}


void printDigits(int digits)
{ 
Serial.print(":"); 
if(digits < 10) 
Serial.print('0'); 
Serial.print(digits); 
}

Setze den bitte in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Dazu den Sketch markieren und die Schaltfläche klicken, oder [code] davor und [/code] dahinter ohne *.

Damit wird dieser für alle besser lesbar, auch für mobile Geräte.

Die DS1307 ist kein Sensor, sontern eine RTC (RealTime Clock), hattes du ja auch geschrieben.

Diese RTC musst du erst stellen, damit die eine korrekte Zeit und Datum anzeigt.
Sieh dir dazu die Beispiele in der Library an, da siehst du wie das geht.

Wenn du Code postest, dann verwende bitte auch die Code Tags.

Habe nur im Internet gelesen und gesehen das es ein RealTime Clock Sensor ist und dieser die richtgen Daten sprich in dem Fall (Datum und Uhrzeit) auslesen(ausgeben) kann.

Die kann nur die richtige Zeit ausgeben, wenn da auch die richtige Zeit drin steht.

Auch eine RTC muss man stellen.

(deleted)

Peter-CAD-HST:
Moin

mir hat das folgende Tutorial sehr geholfen Tutorial

Gruss Peter

Nur das der TO eine andere RTC verwendet.
Also bitte nicht irritieren.

Und warum verwendest du keine Hyperlinks ?

(deleted)

Peter-CAD-HST:
weil ich es kann :slight_smile:

Ich danke dir, für den Respekt!

HotSystems:
Setze den bitte in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Dazu den Sketch markieren und die Schaltfläche klicken, oder [code] davor und [/code] dahinter ohne *.

Damit wird dieser für alle besser lesbar, auch für mobile Geräte.

Die DS1307 ist kein Sensor, sontern eine RTC (RealTime Clock), hattes du ja auch geschrieben.

Diese RTC musst du erst stellen, damit die eine korrekte Zeit und Datum anzeigt.
Sieh dir dazu die Beispiele in der Library an, da siehst du wie das geht.

In der Library finde ich einen Sketch zu SetTime
Woanders finde ich nichts in der Library wie es gestellt wird
LG

max0708:
In der Library finde ich einen Sketch zu SetTime
Woanders finde ich nichts in der Library wie es gestellt wird
LG

Na, das ist doch schon mal gut.
Das solltest du so verwenden, wie das Beispiel es dir zeigt.

Peter-CAD-HST:
weil ich es kann :slight_smile:

Da sehe ich nichts von.

Der DS1307 RTC ist etwas heikel. Die Betriebsspannung muß einen bestimmten Faktor über der Spannung der Batterie sein ansonsten schaltet er nicht richtig von Batterie auf Naormalbetrieb um.
Ich rate Dir zu einem DS3231. Der ist genauer und hat das Problem mit der Spannungsversorgung nicht.
Grüße Uwe

Peter-CAD-HST:
weil ich es kann :slight_smile:

Ich kann noch viel mehr. :smiling_imp: :smiling_imp: :smiling_imp:
(Unverholene Drohung)
Uwe, Moderator

uwefed:
Der DS1307 RTC ist etwas heikel. Die Betriebsspannung muß einen bestimmten Faktor über der Spannung der Batterie sein ansonsten schaltet er nicht richtig von Batterie auf Naormalbetrieb um.
Ich rate Dir zu einem DS3231. Der ist genauer und hat das Problem mit der Spannungsversorgung nicht.
Grüße Uwe

Ja ich glaube das habe ich eben gemerkt. Jetzt lasse ich den oben aufgeführten Sketch durchlaufen und die Lampe am RTC leuchtet nicht mehr und nachdem ich ihn (den Arduino) vom Strom getrennt habe ist der RTC ganz heiß. Ich glaube ich habe etwas falsch gemacht :C

max0708:
Ja ich glaube das habe ich eben gemerkt. Jetzt lasse ich den oben aufgeführten Sketch durchlaufen und die Lampe am RTC leuchtet nicht mehr und nachdem ich ihn (den Arduino) vom Strom getrennt habe ist der RTC ganz heiß. Ich glaube ich habe etwas falsch gemacht :C

Achso und das LCD Display zeigt nun auch nichts mehr an.
Tut mir leid habe echt nicht so viel Ahnung Bin ein Neuling :smiley:

... ganz heiß. Ich glaube ich habe etwas falsch gemacht

Merksatz:
Elektronische Bauteile arbeiten intern mit Rauch!

Beweis:
Wenn der Rauch einmal ausgetreten ist, sind sie meist kaputt.

max0708:
Ja ich glaube das habe ich eben gemerkt. Jetzt lasse ich den oben aufgeführten Sketch durchlaufen und die Lampe am RTC leuchtet nicht mehr und nachdem ich ihn (den Arduino) vom Strom getrennt habe ist der RTC ganz heiß. Ich glaube ich habe etwas falsch gemacht :C

Falsch gepolt angeschlossen?

combie:
Merksatz:
Elektronische Bauteile arbeiten intern mit Rauch!

Beweis:
Wenn der Rauch einmal ausgetreten ist, sind sie meist kaputt.

Ja xD

Hatte aber zum glück noch einen RTC. Diesen habe ich jetzt versucht mit einem anderen Code zu stellen

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"
 
RTC_DS1307 rtc;
 
void setup () {
 
  while (!Serial); // for Leonardo/Micro/Zero
 
  Serial.begin(57600);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
 
  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    Serial.println("RTC adjusted!");
  }
}
 
void loop () {
    DateTime now = rtc.now();
 
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
 
    delay(3000);
}

von dieser Webseite : https://www.makerblog.at/2016/09/echtzeituhr-real-time-clock-ds1307-am-arduino/
aber im Seriellen Monitor werden nur unlesbare Zeichen ausgegeben.

Eben: Serial.begin(9600)
Jetzt: Serial.begin(57600)

aber im Seriellen Monitor werden nur unlesbare Zeichen ausgegeben.

Würde ich auch dann tun, wenn ich so ein Monitor wäre....

combie:
Eben: Serial.begin(9600)
Jetzt: Serial.begin(57600)
Würde ich auch dann tun, wenn ich so ein Monitor wäre....

Oh man ich habe mir einfach den erstbesten Code geschnappt weil ich dachte der andere wäre Fehlerhaft. Jetzt kommen die richtigen Daten an Dankeeschön. Ich melde mich ob es nachher mit dem LCD Display auch noch klappt xD.