Dienstag, 6. Oktober 2015

Uhrzeit mit dem Arduino

In diesem Post geht es darum, wie man sich die aktuelle Uhrzeit für den Arduino besorgen kann. Dazu gibt es verschiedene Möglichkeiten, welche ich im Folgendem vorstellen möchte.


Die Time Bibliothek verwenden

Die einfachste Möglichkeit Zeit mit dem Arduino zu verwenden ist die Time Bibliothek. Über diese Bibliothek, kann man im Programm eine Zeit einstellen, oder über die serielle Verbindung vom PC eine Zeit schicken. Anschließend aktualisiert der Arduino die Zeit selbstständig im Hintergrund, und man bekommt die Zeit/das Datum, über eine einfache Funktion, z.B.hour() ) für die aktuelle Stundenzahl.

Der Vorteil dieser Möglichkeit ist, dass man keine Zusatzhardware benötigt, der Nachteil ist jedoch, dass die Zeit sehr stark abweicht(bei mir ca. 20 Minuten nach einem Tag!).

RTC

Bei einer RTC (Real-Time Clock) handelt es sich um eine externe Uhr, in welche man die Uhrzeit "hineinspeichert", und sie dann selbstständig die Uhrzeit aktualisiert. Da eine RTC extra für eine exakte Zeitmessung ausgelegt wurde, ist sie relativ genau. So besitzen viele etwa einen Temperatursensor, um die veränderte Schwinggeschwindigkeit in Abhängigkeit der Temperatur zu berechnen.

Eine RTC bei AZDelivery.

DCF77

Bei DCF77, handelt es sich um einen Langwellensender in Frankfurt, welcher die deutschen Funkuhren Sekunden genau mit der aktuelle Uhrzeit versorgt. Dabei gibt es auch für den Arduino DCF77 Empfänger . Diese sind jedoch teurer, und benötigen am Anfang Zeit, um sich mit dem Sender zu verbinden (mind. 2 Minuten).

Der offensichtliche Vorteil ist, jedoch, dass man mit einer stehenden Verbindung immer die exakte aktuelle Uhrzeit erhalten kann.

NTP

Bei NTP handelt es sich um ein Protokoll, über welches man die Zeit über das Internet bekommt. Als Empfänger bietet sich hierbei der ESP 8266 (hier bei AZDelivery) , ein Wlan Modul für den Arduino, an. Für ihn gibt es sogar bereits Beispielsketche, welche man nur noch hochladen muss. Der Vorteil hierbei jedoch ist, dass man den ESP zusätzlich zur Zeitmessung, dank seiner Internetverbindung, auch für andere Zwecke verwenden kann.

Fazit

Es gibt sehr viele verschiedene Möglichkeiten, um die aktuelle Zeit auf den Arduino zu bekommen, von gratis Lösungen, wie der Time Library, bis hin zu einem teuren aber absolut exakten DCF77 Empfänger. Welche Lösung für einen die passende ist hängt als letztendlich immer von den Anforderungen ab.

Kommentare:

  1. Sie können den richtigen Zeitpunkt erhalten Sie auch mit einem GPS.
    (Übersetzt mit Google!)

    AntwortenLöschen
  2. Also Sensoren wie Temperatur und CO2 kann ich übrigens empfehlen! Sehr praktisch empfinde ich CO2 Sensoren. Grüße

    AntwortenLöschen