de:arduino:rtc

Differences

This shows you the differences between two versions of the page.

de:arduino:rtc [2022/04/21 15:00] ()
 1:  1:
 +====== RTC / Zeitmessung ======
 +{{anchor:arduino_rtc}}
 +{{ :wiki:arduino:ds1307.png?200|DS1307 RTC modul}}
 +===== DS1307 =====
 +{{anchor:ds1307}}
 +Der DS1307 ist eine RTC (Real Time Clock) Modul, das ist mit Arduino inI²C Verbindung steht.
 +
 +Dieses Modul enthält ein Echtzeit-RTC-IC DS1307 (I²C) und ein 24C32 32K I²C-EEPROM. Zusätzlich wurde ein DS18B20-Temperatursensor in das Modul integriert, der eine 1-Wire Kommunikation erfordert. Das Modul ist mit einem wiederaufladbaren Lithium-Akku LIR2303 ausgestattet, die Ladeschaltung ist im Modul enthalten. Wenn der Temperatursensor ausgeschaltet ist, kann das RTC-Modul mit einer einzigen Ladung bis zu einem Jahr betrieben werden.
 +
 +Dieses Modul kann zum Beispiel für Datenerfassungs- oder Zeitsteuerungsanwendungen verwendet werden. Da das Modul automatisch arbeitet, bleiben die Zeitdaten auch dann erhalten, wenn der Arduino ausgeschaltet ist. Dies ermöglicht leistungsschwache Systeme, die langfristig ohne Batteriewechsel betrieben werden können.
 +
 +Das Modul ist bis zu einer Minute pro Monat kann irren sich und seine Genauigkeit ist sehr empfindlich gegenüber Außentemperaturen. Der DS3231 ist eine bessere Wahl für die Genauigkeit, da er einen internen Oszillator verwendet.
 +
 +Nachdem Sie die Kommunikation hergestellt haben, sollten Sie das Vorhandensein des Moduls mit Arduino I²C-Scanner testen.
 +
 +==== DS1307 Pins ====
 +^Pin^Beschreibung^Kommentar|
 +|BAT|Batteriespannung (Knopfzelle) Volt-Pegel|Hier kann die Spannung messen, meistens nicht angeschlossen|
 +|GND|Grund|Grund|
 +|VCC|5V+|Stromversorgung des Moduls und Laden des Akkus|
 +|SDA|I²C data|I²C Data-Line|
 +|SCL|I²C clock|I²C Taktsignal|
 +|DS|DS18B20|Temperaturmessausgang, 1-Wire-Busverbindung|
 +|SQW|quadratische Ausgabe|normalerweise nicht angeschlossen, konfigurierbarer 1Hz, 4kHz, 8kHz oder 32kHz Ausgang|
 +
 +==== DS1307 Verdrahtung ====
 +{{:wiki:arduino:ds1307_wiring.jpg?400|DS1307 Verdrahtung}}
 +
 +Die lila gestrichelte Linie zeigt den Anschluss des DS18B20-Temperatursensors an.
 +
 +==== Github ==== 
 +https://github.com/PaulStoffregen/DS1307RTC
 +
 +==== DS1307 példaprogram ==== 
 +A DS1307 library [[https://github.com/PaulStoffregen/DS1307RTC|hier von GitHub]] zum Download. Nach der Installation wird das folgende Beispielprogramm ausgeführt.
 +
 +Es gibt auch Beispiel, wie man das Modul liest oder die Zeit auf GitHub einstellt.
 +
 +<code c>
 +#include <Wire.h>
 +#include <TimeLib.h>
 +#include <DS1307RTC.h>
 +
 +void setup() {
 +  Serial.begin(9600);
 +  while (!Serial) ; // wait for serial
 +  delay(200);
 +  Serial.println("DS1307RTC Read Test");
 +  Serial.println("-------------------");
 +}
 +
 +void loop() {
 +  tmElements_t tm;
 +
 +  if (RTC.read(tm)) {
 +    Serial.print("Ok, Time = ");
 +    print2digits(tm.Hour);
 +    Serial.write(':');
 +    print2digits(tm.Minute);
 +    Serial.write(':');
 +    print2digits(tm.Second);
 +    Serial.print(", Date (D/M/Y) = ");
 +    Serial.print(tm.Day);
 +    Serial.write('/');
 +    Serial.print(tm.Month);
 +    Serial.write('/');
 +    Serial.print(tmYearToCalendar(tm.Year));
 +    Serial.println();
 +  } else {
 +    if (RTC.chipPresent()) {
 +      Serial.println("The DS1307 is stopped.  Please run the SetTime");
 +      Serial.println("example to initialize the time and begin running.");
 +      Serial.println();
 +    } else {
 +      Serial.println("DS1307 read error!  Please check the circuitry.");
 +      Serial.println();
 +    }
 +    delay(9000);
 +  }
 +  delay(1000);
 +}
 +
 +void print2digits(int number) {
 +  if (number >= 0 && number < 10) {
 +    Serial.write('0');
 +  }
 +  Serial.print(number);
 +}
 +</code>
 +
 +==== Quellen ====
 +http://www.hobbyist.co.nz/?q=real_time_clock \\ 
 +http://www.instructables.com/id/Arduino-Real-Time-Clock-DS1307/ \\
 +https://github.com/PaulStoffregen/DS1307RTC \\ 
 +
 +{{ :wiki:arduino:ds3231.jpg?200|DS3231}}
 +===== DS3231 =====
 +{{anchor:ds3231}}
 +Siehe die Beschreibung oben (DS1307). 
 +
 +==== DS3231 Pins ====
 +^Pin^Beschreibung^Kommentar|
 +|BAT|Batteriespannung (Knopfzelle) Volt-Pegel|Hier kann die Spannung messen, meistens nicht angeschlossen|
 +|GND|Grund|Grund|
 +|VCC|5V+|Stromversorgung des Moduls und Laden des Akkus|
 +|SDA|I²C data|I²C Data-Line|
 +|SCL|I²C clock|I²C Taktzeit|
 +|SQW|quadratische Ausgabe|normalerweise nicht angeschlossen, konfigurierbarer 1Hz, 4kHz, 8kHz Ausgang|
 +|32Khz|quadratische Ausgabe|normalerweise nicht angeschlossen, 32kHz Ausgang|
 +
 +==== DS3231 Verdrahtung ====
 +{{:wiki:arduino:ds3231_wiring.jpg?300|DS3231 Verdrahtung}}
 +
 +==== DS3231 Beispiel-Programm ==== 
 +
 +A DS3231 library [[https://github.com/rodan/ds3231|innen, a GitHubról]] zum Download. Nach der Installation wird das folgende Beispielprogramm ausgeführt.
 +
 +In der Beispielbibliothek verwenden die folgenden Programme der DS3231:
 +
 +  * [[hu:arduino:soft_solutions|Rufen FCs jede Sekunde und Minute mit DS3231 an]]
 +
 +
 +===== DS3231 for Pi =====
 +{{anchor:ds3231_for_pi}}
 +
 +{{:wiki:arduino:ds3231_for_pi.png?300|DS3231 for Pi}}
 +
 +==== Quellen ====
 +https://github.com/JChristensen/DS3232RTC \\
 +https://github.com/rodan/ds3231 \\
 +http://tronixstuff.com/2014/12/01/tutorial-using-ds1307-and-ds3231-real-time-clock-modules-with-arduino/ \\
 +
 +**[[de:project:arduino|>> Zurück zur Liste der Arduino-Projekte]]**
 +
  
  • de/arduino/rtc.txt
  • 2022/04/21 15:00
  • ()