Go Down

Topic: [solved] Sainsmart Mega und Tiny RTC keine Funktion (Read 872 times) previous topic - next topic

Nathax

Oct 13, 2013, 01:38 pm Last Edit: Oct 13, 2013, 05:33 pm by Nathax Reason: 1
Hallo,

ich habe einen Sainsmart Mega 2560 (Rev. 2) und folgende RTC:
http://www.ebay.de/itm/330868967962

Ich habe GND an GND, VCC an +5V, SDA an D20 und SCL an D21 angeschlossen und
mehrere Beispielsketche ausprobiert, bspw:

Code: [Select]
/*
* TimeRTC.pde
* example code illustrating Time library with Real Time Clock.
*
*/

#include <Time.h>  
#include <Wire.h>  
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t

void setup()  {
 Serial.begin(9600);
 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");      
}

void loop()
{
  digitalClockDisplay();  
  delay(1000);
}

void digitalClockDisplay(){
 // digital clock display of the time
 Serial.print(hour());
 printDigits(minute());
 printDigits(second());
 Serial.print(" ");
 Serial.print(day());
 Serial.print(" ");
 Serial.print(month());
 Serial.print(" ");
 Serial.print(year());
 Serial.println();
}

void printDigits(int digits){
 // utility function for digital clock display: prints preceding colon and leading 0
 Serial.print(":");
 if(digits < 10)
   Serial.print('0');
 Serial.print(digits);
}


Allerdings erhalte ich entweder nur 0xFF als Zeit (165 ...)
oder es macht gar keinen Unterschied für die serielle Ausgabe, ob ich die RTC angeschlossen habe oder nicht.
Fehlermeldungen ("Unable to sync with the RTC") bekomme ich nicht.

Ich habe etwas von Widerständen gelesen, brauche ich welche?

jurs


Ich habe GND an GND, VCC an +5V, SDA an D20 und SCL an D21 angeschlossen und
mehrere Beispielsketche ausprobiert, bspw:


Das ist die richtige Verkabelung für ein MEGA Board.

Zusätzliche PullUp-Widerstände sind nicht notwendig, da das RTC Tiny Modul solche auf der Platine hat.

Was Du mal prüfen kannst:
- Akku /Batterie vom Modul entnehmen und neu einsetzen ==> Batterie eingerastet?

Überhaupt: Hat Deine Platine einen Akku (LIR 2032) oder eine Batterie (CR2032) eingesetzt?

Probiere auch mal mit meinem RTC-Testsketch für DS1307 und DS3231, den ich zuletzt gestern in diesem Beiträg gepostet hatte:
http://forum.arduino.cc//index.php?topic=192740.msg1426044#msg1426044

Versuche mit diesem Sketch, einmal Datum und Zeit über den seriellen Monitor zu setzen!


ardubu

Hallo,
hast du die DS1307RTC.h und die Time.h in deinen Library Ordner gepackt?

Nathax

Ja, mit den Libraries stimmt alles.

Danke jurs, dein Programm hat mir gezeigt, dass die Verkabelung nicht "stabil" war. Denn ich hatte die RTC vorher noch nicht angelötet, sondern nur gegen die Kontakte eines Male-Headers gedrückt.
Hat wohl nicht gereicht, aber ich konnte zu dem Zeitpunkt leider noch nicht löten.
Danke euch beiden für die versuchte Hilfe.
Funktionert jetzt einwandfrei.
Wie lange hält die RTC jetzt ca.? (Akku)

Mfg. Nathax

Go Up