In unserem kleinen Projekt werden wir einen kleinen Datenlogger bauen. Dieser soll über eine längere Zeit, zum Beispiel drei, vier Tage oder eine Woche, Umweltdaten, wie Temperatur und Helligkeit, erfassen sowie die Uhrzeit der Erfassung registrieren. Es ist möglich die Daten via USB UART Bridge fortlaufend an den PC zu senden. Wir wollen unseren PC jedoch nicht so lange eingeschaltet lassen. Also speichern wir die erfassten Daten in einer Datei auf einer µSD-Karte. Als Dateiformat empfiehlt sich *.csv. Dies lässt sich sehr komfortabel in EXCEL oder in einem äquivalenten Tabellenkalkulationprogramm auswerten. Zusätzlich überwachen wir mit einer kleinen Alarmanlagenfunktion ob der Datenlogger bewegt wurde. Wenn die Lage des Datenloggers verändert wird, soll über den Speaker ein akustischer Alarm ausgegeben werden. Die Daten sind einmal pro Minute zu erfassen.
Am besten ist, wir bauen unseren Datenlogger fest verdrahtet auf. Das bereits vorgestellte Erweiterungsboard bietet Lochrasterfelder für benuzerspezifische Hardwareerweiterungen. Um die Temperatur und die Zeit erfassen zu können, sollen eine I²C Echtzeituhr und ein I²C Temperatursensor das System erweitern. Wer mag kann das Ganze neben dem bestehenden System noch mal neu aufbauen.
Einkaufsliste: (Preise 01/13)
zusätzlich, wenn Sie ihr Board nicht verbasteln wollen:
oder:
Das System kann entsprechend des folgenden Blockdiagramms entweder aus den Standard-Add-On's zusammengesteckt werden oder die zusätzlichen Komponenten werden auf den Rasterfeldern fest mit den entsprechenden Anschlüssen verlötet.
Dieses kleine Projekt hat trotz seiner begrenzten Hardware und des recht geringen Funktionsumfangs bereits so viel Komplexität, dass es sich lohnt die Realisierung in mehreren Iterationen durchzuführen.
Der Datenlogger soll jetzt nur noch ein mal pro Minute einen Datensatz erfassen. Eine zwar nicht sonderlich elegante Lösung, aber die einfachste Variante ist, die Wartezeit im Main-Loop-Zyklus von einer Sekunde auf 60 Sekunden zu erhöhen.
onWork:
... waitMs(60000);
Übersetzen Sie das Programm. Korrigieren Sie ggf. Schreibfehler. Übertragen Sie das lauffähige Programm in den Programmspeicher des Controllers und starten Sie das Werkzeug ControlCenter.
Positionieren sie den Datenlogger an einer ausgesuchten Stelle. Lassen Sie die Datenerfassung über einen Tag laufen. Werten Sie danach die aufgezeichneten Daten mit einer Tabellenkalkulation aus.
Erlernte und gefestigte Arbeitsschritte:
Und hier diesen Abschnitt wiederum als Videozusammenfassung.
Erweitern Sie das kleine Projekt um drei LEDs. Die grüne LED soll den Zustand OK anzeigen. Die rote LED Fehler als Blink-Code. Die gelbe LED soll kurz aufblinken wenn ein Schreibvorgang erfolgt ist.
Fehlercodes: