AEQ-WEB

Arduino SD Datalogger Shield
Arduino
28.10.2018

Arduino RTC Datenlogger


In diesem Artikel zeigen wir, wie mit dem Arduino Uno Datenlogger Shield ein einfacher Datenlogger gebaut wird. Das Modul besitzt auch ein RTC-Zeitmodul, dass die aktuelle Uhrzeit bereitstellt. Der Beispielcode kann dann einen Wert wie z.B. die Temperatur, Status eines I/O Pins, eine Drehzahl, einen Füllstand, GPS Positionen oder die Spannung einer Batterie in einem bestimmten Intervall aufzeichnen. Mit entsprechenden Datenformaten und Programmen wie z.B. Excel können die Daten dann ausgewertet werden und sogar grafisch dargestellt werden.


Das RTC Zeitmodul

Der Datenlogger hat ein Zeitmodul integriert. Auf dem Shield befindet sich eine kleine Knopfzelle, die das Zeitmodul dauerhaft mit Energie versorgt. Die Uhrzeit bleibt deshalb für einige Jahre gespeichert, auch wenn der Arduino Spannungslos ist. Die Uhrzeit wird daher einmalig eingestellt und kann dann dauerhaft vom Datenlogger abgefragt werden. Damit das Modul mit dem Arduino funktioniert, wird eine Library benötigt. Die RTC Library kann von der Adafruit Webseite heruntergeladen werden.


Programmieren der Uhrzeit

Für das einfache Einstellen der Uhrzeit empfiehlt es sich, unseren einfachen Beispiel-Code zu verwenden. Im Code beim Setup befindet sich eine Zeile, wo die Funktion „rtc.adjust()“ auskommentiert ist. Zum Einstellen der Uhrzeit müssen die Zeitparameter (Jahr, Tag, Monat, Stunde (24H), Minute, Sekunde) entsprechend der aktuellen Uhrzeit angepasst werden. Das Kommentar vor der Zeile muss anschließend entfernt werden und der Code auf das Arduino geladen werden. Danach wird die Uhrzeit im Serial Monitor angezeigt. Wenn die Uhrzeit korrekt ist, wird die Zeile wieder auskommentiert und der Code kann erneut hochgeladen werden. Die Uhrzeit vom RTC DS1307 Chip ist dann eingestellt und beleibt dauerhaft verfügbar.


Arduino RTC Datalogger Time Setup

Vorbereiten der SD-Karte

Die SD-Karte muss mit dem FAT-32 Dateisystem formatiert werden. Das FAT-System ist mit den meisten Systemen kompatibel und reicht für einen einfachen Datenlogger völlig aus. Laut dem Hersteller werden SD-Karten mit einer maximalen Größe von 32 Gigabyte unterstützt. In unserem Beispiel wird eine SD-Karte mit einer Speicherkapazität von vier Gigabyte verwendet.


Verwendung vom Beispielcode

Der Beispielcode erstellt auf der SD-Karte eine Datei (DATALOG.txt). In diesem Textfile wird der Messwert und die Uhrzeit mit einem Komma getrennt gespeichert (Wert,Uhrzeit). Nach einem bestimmten Intervall (standardmäßig alle fünf Sekunden) werden dann die Daten immer in eine neue Zeile geschrieben, sodass das Auslesen der Datei auch mit einem einfachen Texteditor möglich ist. Im Serial Monitor wird der aktuelle Status vom Arduino angezeigt. Um den LOG zu löschen, wird einfach das Textfile auf der Speicherkarte entfernt.


Arduino RTC Datalogger used Pins on Arduino

Verwendete Pins

Das Datalogger Shield verwendet einige Pins am Arduino Board, die möglicherweise von anderen Komponenten nicht mehr verwendet werden können. Es ist jedoch problemlos möglich, beispielsweise ein LC-Display am I2C Bus anzuschließen, da dies eine andere Adresse hat, als das RTC-Zeitmodul.