Datenlogger bauen, aber wie?

Ich würde bei einem solchen Projekt nicht mit der Programmierung anfangen, sondern erstmal planen, dann einzelne Details testen und dann erst alles zusammenbauen und das finale Programm schreiben.

Als ersten Ansatz kannst Du z.B. das Signal das von der Logo (das geschaltet wird) auf einen Interrupt-Pin legen. In der Serviceroutine werden dann einfach alle Eingänge die durch die Relais geschaltet werden abgefragt und ein "Flag" gesetzt. In der Loop wird einfach immer nur auf das "Flag" gewartet. Ist es gesetzt, werden die ausgelesenen Daten nebst Uhrzeit in das Logfile geschrieben und danach das Flag gelöscht.

Das Projekt gliederst Du in mehrere Teilprojekte

  1. SD-Card beschreiben: Hier solltest Du am Ende Funktionen haben, denen Du nur noch die zu schreibenden Daten übergbist
  2. Uhrzeit: Setzen und Auslesen der RTC. Erweiterung der SD-Card Funktionen, um die Uhrzeit in ein Logfile zu schreiben
  3. Auslesen der Relais-Pins in eine sinnvolle Datenstruktur. Erweitern der SD-Card Funktionen, um die Daten in das Logfile zu schreiben (inkl. Uhrzeit)
  4. Event-gesteuertes Auslesen der Relais-Pins (wenn das Signal von der Logo kommt) und Schreiben der Logdaten

Dann bist Du auch schon fertig :slight_smile:

Achso, Testen und Dokumentieren ist auch ganz wichtig. Das Testen beinhaltet auch einen Negativtest, also mit einem definitiv defekten Relais (kann auch erzwungen sein), um sicher zu sein, das die aufgezeichneten Daten korrekt sind.

Mario.