RTC-Modul

funduinoshop.com - Dein Onlineshop für Mikroelektronik
Für die Durchführung dieser Anleitung benötigst du:
Menge
Artikel
1x
1x
diverse
1x

Wenn der Arduino eingeschaltet wird, kann er ab diesem Zeitpunkt die abgelaufene Zeit messen. Das aktuelle Datum und die Uhrzeit kann nur mit einem RTC-Modul (RealTimeClock) gesetzt und gelesen werden. Beim ersten Start muss das aktuelle Datum und die aktuelle Zeit manuell eingestellt werden, anschließend läuft die Zeit mit Hilfe der Batterie weiter. Das Modul DS3231 kann zusätz­lich auch die Temperatur messen.

Der Schaltplan

Zunächst musst du eine Bibliothek installieren und einbinden. Bibliotheken stellen Funktionen bereit, mit denen du ein Bauteil verwenden kannst. In die­sem Fall ist es die Biblio­thek RTClib.

 

Bibliothek hinzufügen

Sketch -> Biblio­thek ein­bin­den -> Biblio­the­ken verwalten

Datum, Zeit und Temperatur im Seriellen Monitor anzeigen

Das dazugehörige Programm:

				
					// benötigte Bibliothek einbinden
# include <RTClib.h>

// Name des RTC-Moduls (rtc)
RTC_DS3231 rtc;

void setup()
{
  // RTC-Modul starten
  rtc.begin();
  Serial.begin(9600);

  /*
    wenn Datum und Zeit nicht korrekt -> Datum/Zeit setzen
    Jahr, Monat, Tag, Stunde, Minute, Sekunde
    Beispiel:  2022 August 31. 10 Uhr 30 Minuten 30 Sekunden
    rtc.adjust(DateTime(2022, 8, 31, 10, 31, 30));
 */
}

void loop()
{
  // rtc.now() -> aktuelle Zeit holen
  DateTime aktuell = rtc.now();

  /*
    Datumsformat festlegen
    DD -> Tag mit führender 0
    MM -> Monat mit führender 0
    YYYY -> vollständige Angabe des Jahres
  */
  char Datum[] = "DD.MM.YYYY ";

  // Datum in Zeichenkette (String) umwandeln und anzeigen
  Serial.print(aktuell.toString(Datum));

  // Format der Zeitangabe festlegen
  char Zeit[] = "hh:mm:ss";

  // Zeitangabe in Zeichenkette (String) umwandeln und anzeigen
  Serial.print(aktuell.toString(Zeit));

  // Temperatur ermitteln
  String Temperatur = String(rtc.getTemperature());

  // Wert wird im angelsächsisches Zahlenformat ermittelt
  // . durch , ersetzen
  Temperatur.replace(".", ",");
  Serial.println(" Temperatur: " + Temperatur + "°C");

  // 1 Sekunde Pause
  delay(1000);
}
				
			

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 2.000 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
NEU