Hallo zusammen,
ich versuche gerade einen Datenlogger zu bauen. Dazu habe ich mir erstmal ein Arduino 2560 Mega R3 gekauft und das Datenlogger Modul Data Recorder Shield von AZDelivery geholt. Dieses habe ich auf meinen Arduino 2560 R3 Mega gesteckt:
Daraufhin wollte ich erst mal mit einem einfachen Code anfangen und habe den Beispielcode genommen.
Dann habe ich, genau wie in dem E-Book von AZDelivery beschrieben alle Schritte zur ersten Inbetriebnahme gemacht und mich genau an die Anleitung gehalten, die Bibliothek RTClib runtergeladen und installiert und den Beispielcode DS1307 auf das Arduino geladen:
/ Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include "RTClib.h"
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void setup () {
Serial.begin(57600);
#ifndef ESP8266
while (!Serial); // wait for serial port to connect. Needed for native USB
#endif
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
while (1) delay(10);
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running, let's set the time!");
// When time needs to be set on a new device, or after a power loss, the
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
// When time needs to be re-set on a previously configured device, the
// following line sets the RTC to the date & time this sketch was compiled
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
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(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(" since midnight 1/1/1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");
// calculate a date which is 7 days, 12 hours, 30 minutes, and 6 seconds into the future
DateTime future (now + TimeSpan(7,12,30,6));
Serial.print(" now + 7d + 12h + 30m + 6s: ");
Serial.print(future.year(), DEC);
Serial.print('/');
Serial.print(future.month(), DEC);
Serial.print('/');
Serial.print(future.day(), DEC);
Serial.print(' ');
Serial.print(future.hour(), DEC);
Serial.print(':');
Serial.print(future.minute(), DEC);
Serial.print(':');
Serial.print(future.second(), DEC);
Serial.println();
Serial.println();
delay(3000);
}
Leider konnte ich mit dem Beispielcode DS1307 aber keine Verbindung aufbauen. Mit meinem Code, den ich für den Datenlogger geschrieben habe klappt es auch nicht.
Beide Programme werden jedoch kompiliert und ohne Fehler auf den Arduino geladen.
Der Serielle Monitor zeigt nur an "Couldn´t find RTC", hängt sich also hier schon auf:
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
while (1) delay(10);
}
Ich habe mich wie gesagt genau an die Anleitung gehalten, auch die Baud Rate mit 57600 passt mit der aus dem Code überein. Der Serielle Monitor arbeitet ja auch.
Ich habe auch nochmal die Steckverbindungen geprüft und alle Pins mit einem Multimeter durchgemessen, es liegt überall eine Verbindung vor. Auch die rote Power LED auf dem Shield leuchtet. Ich habe auch nochmal die Verbindung per Draht selber gelötet um sicher zu gehen.
Der Support von AZDelivery hat mir auch ein zweites Data Recorder Shield geschickt, daran liegt es also auch nicht.
Habe auch noch ein neues Arduino Board bestellt, hat auch nicht geholfen...
Ich komme also gar nicht so weit, einen Datenlogger zu bauen, ich bekomme nicht mal die RTC an den Start
Was man im Internet und hier im Forum liest, ist, dass es wahrscheinlich ein Verdrahtungsproblem ist, aber das habe ich ja wie gesagt ausgeschlossen. Ich weiß gerade nicht mehr weiter, wo der Fehler ist, deswegen dieser Forumsbeitrag(Mein erster in einem Forum).
Danke schon mal für die Hilfe
Gruß







