Inhaltsverzeichnis:

Arduino mit mehreren Dateien arbeiten (LESEN/SCHREIBEN) - Gunook
Arduino mit mehreren Dateien arbeiten (LESEN/SCHREIBEN) - Gunook

Video: Arduino mit mehreren Dateien arbeiten (LESEN/SCHREIBEN) - Gunook

Video: Arduino mit mehreren Dateien arbeiten (LESEN/SCHREIBEN) - Gunook
Video: So funktioniert der Arduino EEPROM | Strings, Bytes & Integer Lesen und Schreiben 2024, Juli
Anonim
Arduino mit mehreren Dateien arbeiten (LESEN/SCHREIBEN)
Arduino mit mehreren Dateien arbeiten (LESEN/SCHREIBEN)

Hallo Leute

Heute präsentiere ich Ihnen ein Arduino-Projekt, das mit einem RTC-Schild arbeitet, das Daten speichern kann. Die Hauptaufgabe dieses Projekts besteht darin, mit mehreren Dateien zu arbeiten, die auf einer sc-Karte gespeichert sind. Dieses Projekt enthält Code, der mit drei Dateien arbeitet, die direkt auf der SD-Karte mit Arduino und RTC-Schild gespeichert sind. Da dieses Projekt mit DataLogger Shield arbeitet, werden diese Daten auch genau zur gleichen Zeit wie auf Ihrem PC gespeichert.

Dieses Projekt ist eine aktualisierte Version meines letzten Projekts. Dieses Projekt kann auf der instructables-Site unter dem Namen Arduino Data Logger Shield Small Project gefunden werden. Wenn Sie Probleme haben, dieses Projekt zu verstehen, empfehle ich Ihnen, zuerst ein einfacheres zu sehen.

Der Hauptunterschied zwischen diesen beiden Projekten besteht darin, dass dieses Projekt 3 Textdateien verwendet, auch diesmal lesen wir Daten von zwei davon. Da wir Daten lesen können, können wir mittlere Werte von Luftfeuchtigkeit und Temperatur erhalten, die auf der SD-Karte gespeichert sind. Dies wird auch auf dem mit Arduino verbundenen LCD angezeigt.

Noch einmal, wenn Sie neu bei Arduino sind und dies Ihr erstes Projekt ist, das DataLogger verwendet, schlage ich vor, diesen Link zu überprüfen https://www.instructables.com/id/Arduino-Data-Logg… und wenn Sie alles bekommen Kommen Sie hierher und haben Sie noch mehr Spaß. Lasst uns beginnen.

Schritt 1: Teile

Teile
Teile
Teile
Teile
Teile
Teile

Wie jedes Mal, wenn ich Projekte wie dieses schreibe, fange ich mit allen Teilen an, die ich bei diesem Projekt verwendet habe. Ich werde auch einige der Sensoren vorschlagen, die verwendet werden können und dieses Projekt ein wenig anders machen können.

Teile:

  • Arduino uno rev3
  • Arduino Datenlogger-Schild
  • SD-Speicherkarte
  • LCD 1602 grünes Display mit I2C (Sie können jedes andere Display verwenden)
  • DHT22 (DHT11 funktioniert auch gut, aber die Präzision ist nicht die gleiche wie die von dht22)
  • Wenig Überbrückungskabel
  • Steckbrett
  • Batterie 9V

Sie können einige Teile ändern. Die gute Seite dieses Projekts ist, dass es zum Speichern von Daten von jedem anderen Sensor verwendet werden kann. Ich würde versuchen, mit Rauchsensor oder Infrarotsensor zu arbeiten. Es funktioniert mit jedem anderen Sensor. Sie können Ihr Arduino auch ändern, aber denken Sie daran, dass Arduino am besten für den Datenlogger geeignet ist.

Schritt 2: Alle Teile miteinander verbinden

Alle Teile miteinander verbinden
Alle Teile miteinander verbinden

Dieser ist einfach anzuschließen. Sogar der Schaltplan entspricht dem einfacheren Projekt. Aber ich würde sagen, dass Sie aufpassen müssen, welchen Pin Sie verwenden werden. Überprüfen Sie jedes Mal das Datenblatt des Datenloggers, um zu sehen, welche Pins für die Verwendung am besten geeignet sind, denn wie ich mich erinnere, sind einige Pins bereits definiert und als ich versuchte, meinen Sensor an einem der definierten Pins zu verwenden, funktionierte es nicht.

Oben in diesem Schritt sehen Sie ein mit Fritzing erstelltes Schema. Die einfache Sache ist, dass Sie Ihren Datenlogger oben an Ihrem Arduino anschließen müssen. Verbinden Sie Ihre SD-Karte mit dem Datenlogger, und das letzte, was Sie tun müssen, ist den DHT-Sensor und das LCD anzuschließen. Wir verwenden 5V von Arduino für + Teil auf dem Steckbrett, GND für - Teil, und indem Sie dieser Linie folgen, verbinden Sie auch + Leitung des Sensors und LCD mit + Leitung der Steckplatine. Gleiches gilt für - Teile, sie gehen nur in die folgende Zeile -. Der Dht-Sensor ist diesmal an Pin 7 angeschlossen. LCD ist an A4 und A5 angeschlossen. Einfach, oder?

LCD:

  • VCC bis 5V (+ Teil auf Steckbrett)
  • GND zu Gnd (-Teil auf Steckbrett)
  • SDA auf analogen Pin A4
  • SCL auf analogen Pin A5

DHT22:

Ich habe dht mit einer Platine verwendet, in der drei Pins verwendet werden müssen:

  • + bis 5V
  • - an GND
  • aus zu digitalem Pin 7

Schritt 3: Codieren

Dieser Zeitcode ist komplexer. Ein großer Teil davon ist kommentiert, damit Sie es leicht verstehen können.

Ich werde diesen Code in wenigen kurzen Teilen erklären.

1. Als erstes sollten Sie bedenken, dass für diesen Code einige Bibliotheken auf Ihrem PC installiert sein müssen. Diese sind: Time(TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Sie können wahrscheinlich einige andere Bibliotheken verwenden, aber diese Bibliotheken haben für mich funktioniert.2. Danach definieren wir alles, was für dieses Projekt benötigt wird. Der DHT-Sensor ist einfach zu definieren, Sie müssen nur den Pin angeben, mit dem der Sensor verbunden ist, und den Sensortyp. Danach müssen Sie einige Pins definieren, die für die SD-Karte und den RTC-Pin verwendet werden. Danach können Sie die für dieses Projekt verwendeten Variablen sehen.

3. Project verwendet wenige Methoden und alle sind für die Arbeit mit DHT-Sensoren. Wenn Sie an einem Projekt mit diesem Sensortyp arbeiten, können Sie ihn verwenden. Diese Methoden sind getTemperature(), getMidTemperature(), getHumidity(), getMidHumidity(), readSensorData(), printLcdTemperature(), printHumidity(), printLcdMidTemperature(), printMidHumidity().

4. Beim Setup sind einige Dinge zu erledigen. Zuerst müssen Sie die Zeit definieren. Da wir hier RTC verwenden, möchten wir die richtige Zeit haben, wenn unser Arduino Daten vom Sensor speichert. Dieser Teil wird im Code kommentiert. Wenn Sie //RTC.adjust(DateTime(_DATE_, _TIME_)); Zeile können Sie die Zeit für Ihr Projekt festlegen. Nachdem Sie die richtige Zeit eingestellt haben, können Sie diesen Teil erneut kommentieren und Ihr Arduino ohne Computer verwenden. Das ist cool, weil Sie Ihren Temperatursensor in einem anderen Raum verwenden und die Temperatur verfolgen können, ohne Ihren Computer zu benötigen. Der zweite Teil, der erledigt werden muss, ist die Verwendung Ihrer SD-Karte, auf der Daten gespeichert werden. Shield versucht zu sehen, ob eine Karte vorhanden ist und initialisiert sie. Wenn dies nicht der Fall ist, wird die Fehlermeldung im seriellen Bildschirm der Arduino IDE angezeigt.

Im Setup ist der erste Schritt, in dem wir mit dem Schreiben von Dateien auf die Speicherkarte arbeiten. Das erste, was auf die Karte geschrieben wird, befindet sich in der Datei datalog.txt. Diesmal schreiben wir nur die Zeit der Protokollierung unseres Geräts, und wir erstellen auch eine kleine Reihe von Namen (Variablen, die zum Speichern verwendet werden, und auch Zeit).

Der letzte Teil des Setups ist die Initialisierung des LCD und des DHT-Sensors.

5. Der Loop-Teil ist der Hauptteil des Projekts. Die Arbeit mit dem Sensor ist diesmal sehr einfach, da nur eine Methode verwendet wird, bei der die Werte gelesen werden, die der Sensor erhält. LCD-Teil ist auch sehr einfach. Der nächste Teil ist einer, den wir hier erklären müssen. Dieses Projekt tut jede Minute etwas. Eine Minute speichert es Daten in datalog.txt. Diese Daten können von jemandem gelesen werden, der nicht einmal Arduinos programmieren kann. Auf der anderen Seite. Eine Minute speichert es die Temperatur in datalogB.txt und eine Minute speichert es Feuchtigkeit in datalogC.txt. Wir benötigen datalogB.txt und dataLogC.txt, damit wir von unserer Speicherkarte lesen können. Wenn wir also unseren Code weiterlesen, können Sie auch sehen, dass dieser Code Mittelwerte der Temperatur und Luftfeuchtigkeit liest und in einer Zeile speichert. Ich wollte ein Gerät machen, das nur die letzten zehn Ziffern in der Datei aufnimmt. Dieses Projekt durchläuft also immer die Werte von der Karte und speichert die letzten zehn Ziffern. Diese in Reihen gespeicherten Ziffern werden verwendet, um den Durchschnittswert der Temperatur und den Durchschnittswert der Luftfeuchtigkeit zu erhalten. Die nach einiger Zeit auch auf unserem LCD angezeigt werden

Schritt 4: Danach Arduino und SD-Karte verwenden

Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden
Danach Arduino und SD-Karte verwenden

Hier können Sie sehen, was auf dem LCD angezeigt wird und wie das Projekt funktioniert. Außerdem stelle ich hier Bilder der Datenprotokolle ein, die ich gespeichert habe. Datalog.txt ist diejenige, die verwendet werden kann, um zu sehen, wie das Gerät jeden Wert speichert. DatalogB und datalogC sind vorhanden, damit Sie sehen können, wie sie aussehen. Sie sind so geschrieben, dass Sie die Parse-Methode verwenden und Daten ohne Probleme lesen können.

Der springende Punkt dieses Projekts ist die Manipulation der Dateien, die sich auf der SD-Karte befinden. Manchmal brauchen wir Geräte, die Speicher speichern können, und das Lesen der Temperatur ist auch einmal so. Das Gute ist, dass das bei diesem Gerät verwendete Schild auch über ein RTC-Modul verfügt, was für die Zeit das Beste ist. Wenn wir mit unserem Gerät in Echtzeit lesen und Daten speichern können, bedeutet dies, dass es tragbar sein kann.

Vielen Dank für das Lesen dieses Projekts. Ich hoffe, es wird Ihnen helfen. Danke schön.

Mit allen Grüßen Sebastian

Empfohlen: