Inhaltsverzeichnis:

DS1307 Echtzeituhr RTC mit Arduino - Gunook
DS1307 Echtzeituhr RTC mit Arduino - Gunook

Video: DS1307 Echtzeituhr RTC mit Arduino - Gunook

Video: DS1307 Echtzeituhr RTC mit Arduino - Gunook
Video: Real time clock with Arduino and DS1307 2024, November
Anonim
DS1307 Echtzeituhr RTC mit Arduino
DS1307 Echtzeituhr RTC mit Arduino

In diesem Tutorial lernen wir die Real Time Clock (RTC) kennen und wie Arduino & Real Time Clock IC DS1307 als Zeitmessgerät zusammengestellt werden.

Die Echtzeituhr (RTC) wird zur Überwachung der Zeit und zur Verwaltung eines Kalenders verwendet. Um eine Echtzeituhr zu verwenden, müssen wir sie zuerst mit dem aktuellen Datum und der aktuellen Uhrzeit programmieren. Sobald dies geschehen ist, können die RTC-Register jederzeit gelesen werden, um die Uhrzeit und das Datum zu erfahren. DS1307 ist eine RTC, die mit dem I2C-Protokoll arbeitet. Daten aus verschiedenen Registern können gelesen werden, indem über die I2C-Kommunikation auf ihre Adressen zum Lesen zugegriffen wird.

Schritt 1: Dinge, die Sie brauchen

Dinge, die du brauchst
Dinge, die du brauchst
Dinge, die du brauchst
Dinge, die du brauchst
Dinge, die du brauchst
Dinge, die du brauchst

Dies sind die folgenden Dinge, die Sie für diese instructables benötigen:

Arduino uno

Ds1307 RTC-Modul

Überbrückungsdrähte

3,7 V Knopfzelle

Schritt 2: Verbindungen

Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse

Bitte folgen Sie den beigefügten Schaltplänen im Bildbereich und verbinden Sie alles entsprechend der Schaltpläne.

Schritt 3: Teil codieren

Kodierungsteil
Kodierungsteil

Programmierung von Arduino, um RTC mit aktuellem Datum und Uhrzeit zu füttern; und Lesen von Datum und Uhrzeit von der RTC.

Hier verwenden wir die DS1307-Bibliothek von Watterott von GitHub.

Laden Sie diese Bibliothek hier herunter.:

Extrahieren Sie die Bibliothek und fügen Sie den Ordner mit dem Namen DS1307 zum Bibliotheksordnerpfad der Arduino IDE hinzu.

Sobald die Bibliothek der Arduino-IDE hinzugefügt wurde, öffnen Sie die IDE und öffnen Sie die Beispielskizze namens Example aus der hinzugefügten DS1307-Bibliothek.

Achtung: In der Beispielskizze wird in der Setup-Schleife die Funktion rtc.set() verwendet. Übergeben Sie die aktuellen Datums- und Uhrzeitargumente wie erwähnt an diese Funktion. In der Beispielskizze wird diese Aussage kommentiert. Entkommentieren Sie es und laden Sie die Skizze hoch. Sobald die Skizze hochgeladen ist, entkommentieren Sie die Aussage erneut und laden Sie die Skizze hoch. Wenn dies nicht geschieht, wird jedes Mal, wenn das Arduino UNO-Board zurückgesetzt oder nach dem Ausschalten eingeschaltet wird, das von Ihnen eingestellte Datum und die Uhrzeit immer wieder neu eingestellt und Sie können die genaue aktuelle Uhrzeit und das aktuelle Datum nicht lesen.

/* DS1307 RTC (Real-Time-Clock) Beispiel

Uno A4 (SDA), A5 (SCL) Mega 20 (SDA), 21 (SCL) Leonardo 2 (SDA), 3 (SCL) */

#include "Wire.h"

#include "DS1307.h"

DS1307 rtc;

Void setup () {/* Init Serial port */ Serial.begin (9600); while(!Seriell); /*warten, bis die serielle Schnittstelle eine Verbindung herstellt - nur für Leonardo erforderlich*/

/* init RTC*/ Serial.println("Init RTC…");

/*Datum+Uhrzeit nur einmal setzen*/ rtc.set(0, 0, 8, 24, 12, 2014); /*08:00:00 24.12.2014 //Sek, Min, Stunde, Tag, Monat, Jahr*/

/*stop/pause RTC*/ // rtc.stop();

/*RTC starten*/ rtc.start(); }

Void Schleife () { uint8_t Sek, Min, Stunde, Tag, Monat; uint16_t Jahr;

/*Zeit von RTC abrufen*/ rtc.get(&sec, &min, &hour, &day, &month, &year);

/*serielle Ausgabe*/ Serial.print("\nZeit: "); Serial.print (Stunde, DEZ); Serial.print (":"); Serial.print (min, DEZ); Serial.print (":"); Serial.print (Sek., DEZ);

Serial.print("\nDatum: "); Serial.print (Tag, DEZ); Serial.print("."); Serial.print (Monat, DEZ); Serial.print("."); Serial.print (Jahr, DEZ);

/*warte eine Sekunde*/ delay(1000); }

Kopieren Sie den obigen Code und laden Sie ihn auf Ihr Arduino-Board hoch

Schritt 4: Zeit bekommen

Zeit bekommen
Zeit bekommen
Zeit bekommen
Zeit bekommen

Nachdem Sie alles miteinander verbunden und den Code auf Ihr Arduino-Board hochgeladen haben, öffnen Sie den seriellen Monitor in Ihrer Arduino-Ide und dann können Sie Datum und Uhrzeit als meine in Ihrem seriellen Monitor abrufen, wie Sie sehen können. Datum in meinem seriellen Monitor, für die Demo-Ausgabe beachten Sie bitte die obige Bildausgabe und viel Spaß beim Hinzufügen der RTC-Uhr zu Ihrem Projekt.

Empfohlen: