Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    Arduino Datenlogger SD Karten Modul

    Arduino Datenlogger

    Alex @ AEQ-WEB

    Es gibt einen erweiterten Beitrag zu diesem Artikel: Arduino Datenlogger Shield

    Zu diesem Artikel gibt es auch ein Video auf Youtube: Arduino SD-Card Datenlogger

    Werbung:

    Mit ganz einfachen Komponenten kann man einen Datenlogger bauen. Dazu wird ein Arduino Board sowie ein SD-Card Modul und der gewünschte Sensor, welcher die Daten erfassen soll benötigt. Das Standortprogramm schreibt alle 5 Sekunden einen Testwert in ein TXT-File auf der SD Karte. Die notwendigen Librarys sollten bei diesem Beispiel bereits mit der Installation des Arduino IDEs vorhanden sein.

    SD Karte vorbereiten

    Damit der Datenlogger funktioniert, benötigen wir eine SD-Karte. Diese sollte entweder als FAT-16 oder FAT-32 formatiert sein. Ob das Schield eine SD-Karte oder microSD-Karte verwendet spielt normalerweise keine Rolle. Zur maximalen unterstützten Speicherkapazität gibt es derzeit keine Information, jedoch funktionierte bei diesem Test eine Speicherkarte mit 8 GB hervorragend.

    Wie der Code funktioniert

    Mit unserem Quellcode haben wir bereits eine fertige Datenlogger-Lösung. Am Anfang des Quellcodes wird das Logintervall eingetragen. Standardmäßig geschieht das alle 5 Sekunden. Der größte Vorteil von unserem Code ist es, dass wir nicht einfach die Mainloop für 5 Sekunden pausieren, sondern die Daten alle 5 Sekunden mit einem Cronjob speichern. Dadurch kann der Mikrocontroller weitere Aktionen ungehindert durchführen. Wenn das Programm startet wird als erstes überprüft, ob bereits auf der SD-Karte ein Textfile vorhanden ist. Wenn nicht, dann wird automatisch ein Textfile erstellt. Bei jedem Log wird in der Textfile eine neue Zeile erstellt, welche im folgenden Format gespeichert wird: "PARAMETER,RUNTIME". Der Parameter ist der "mvalue" String, was für unseren Messwert (Temperatur, Spannung etc.) steht. Der zweite Wert "RUNTIME" ist die Laufzeit des Controllers in Sekunden. Wenn man sich die Startzeit des Programms notiert, kann man sich die genaue Uhrzeit jedes einzelnen Messwertes berechnen. Dadurch erspart man sich ein Zeitmodul bzw. viel zusätzlichen Quellcode. Das eigene Programm, welches die Daten einliest wird nicht in die "void loop()" sondern in das "void youraction()" geschrieben. Dadurch wird es mit dem Cronjob gesteuert, was zu einer zusätzlichen Effizienz führt.

    Werbung:

    Arduino SD-Card
    Download

    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Arduino IRFZ44N PWM MOSFET Load Control

    Arduino MOSFET Steuerung

    • Video
    • DE/EN

    In diesen Artikel zeigen wir wie man große Lasten mittels eines MOSFET-Transistors über das Arduino Board steuert und die Drehzahl von einem Motor regelt

    Weiterlesen
    Arduino LM358 PT1000 Sensor Converter

    Temperatur messen mit PT1000 & Arduino

    • Video
    • DE/EN

    PT1000 Sensoren können nicht direkt analog mit einem Mikrocontroller gemessen werden. Wie baut man einen Messwandler mit dem LM358 für den PT1000 und Arduino?

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden