Inhaltsverzeichnis:
- Schritt 1: Komponentenliste
- Schritt 2: Anschlüsse:
- Schritt 3: Verfahren
- Schritt 4: Arduino-Code:
- Schritt 5: Android-App:
Video: Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Hallo alle, Dies ist mein erstes Instructable aller Zeiten. Ich hoffe, ich helfe der Maker-Community, da ich davon profitiert habe.
In unseren Projekten verwenden wir oft Sensoren, aber einen Weg zu finden, die Daten zu sammeln, zu speichern und sofort zu übertragen Telefone oder andere Geräte und drahtlos waren kein vorgefertigter Prozess. Dieses Instructable führt Sie durch
- Erfassen von Daten vom Sensor (DHT 11) - Temperatur- und Feuchtigkeitssensor.
- Speichern der erfassten Daten auf SD-Karte mit SD-Kartenmodul.
- Übertragen Sie die Daten drahtlos über Bluetooth an eine maßgeschneiderte Android-App.
- Speichern der empfangenen Sensorwerte als Textdatei (.txt-Datei).
Schritt 1: Komponentenliste
Lassen Sie uns die Truppen versammeln, um dieses großartige Projekt zu verwirklichen.
- Arduino Uno (jeder andere Arduino ist auch geeignet)
- Micro-SD-Kartenmodul.
- SD-Kartenmodul (das von mir verwendete ist 8 GB, es wird empfohlen, >=32 GB zu verwenden)
- HC05 - Bluetooth-Modul
- DHT11 (Temperatur- und Feuchtigkeitssensor)
- Haufen Jumper.
- Android Telefon
Schritt 2: Anschlüsse:
Das Zusammensetzen und Verbinden von Komponenten ist die Hälfte des Projekts. Die genannten Produkte sind in den meisten elektronischen Einzelhandelsgeschäften und Online-Sites wie Amazon leicht erhältlich.
Arduino - HC05-Verbindung (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin 0 - Tx
- Pin 1 - Rx
Arduino - SD-Kartenmodul Anschluss:
- +5V - Vcc
- Gnd - Gnd
- Pin 11 - MOSI (Master Out Slave In)
- Pin 12 - MISO (Master In Slave Out)
- Pin 13 - SCk (Taktsynchron)
- Pin 4 - CS (Chipauswahl)
Arduino - HC05-Verbindung (Bluetooth):
- +5V - Vcc
- Gnd - Gnd
- Pin A0 - Signal
Schritt 3: Verfahren
Verbinden Sie alle Teile wie im vorherigen Schritt erwähnt. Damit können wir Code in die Arduino-Ide schreiben, um unser Ziel zu erreichen.
Der zweite Teil unseres Projekts besteht darin, eine Android-App zu haben, um die Sensorwerte zu empfangen, die Werte anzuzeigen und in einer Datei im Handy zu speichern. Ich habe Thunkable verwendet, um die Android-Anwendung zu erstellen, und habe auch die APK und AIA dafür bereitgestellt.
Schritt 4: Arduino-Code:
Der Arduino-Code wurde unten angegeben und erklärt.
Der Arduino-Code ist mit der SD-Kartenbibliothek und der DHT11-Bibliothek größtenteils selbsterklärend. Das Bluetooth verwendet die Hardware-Seriell, die Pin0 und Pin1 des Arduino ist, daher erfolgt die Bluetooth-Übertragung mit den Serial print()-Funktionen, die das I2C-Protokoll verwenden, und das SD-Kartenmodul verwendet das SPI-Protokoll für die Kommunikation damit.
/*
* SD-Karte wie folgt an SPI-Bus angeschlossen:
** MOSI - Pin 11 ** MISO - Pin 12 ** CLK - Pin 13 ** CS - Pin 4 (für MKRZero SD: SDCARD_SS_PIN) * *HC 05 Modulanschluss: ** TX - Pin 0 (Standard)[kann geändert, wenn Softwareserial verwendet wird] ** RX - Pin 1 (Standard) [kann geändert werden, wenn Softwareserial verwendet wird]
*/
#enthalten
#einschließen #einschließen
Datei meineDatei;
dht-DHT; #define DHT11_PIN A0
Leere Einrichtung () {
// Öffnen Sie die serielle Kommunikation und warten Sie, bis der Port geöffnet ist: Serial.begin (9600); Serial.println("Typ, \tStatus, \tHumidity(%), \tTemperature(C)"); while (!Seriell) {; // Warten Sie, bis der serielle Port eine Verbindung herstellt. Nur für nativen USB-Port erforderlich } DHTAcq(); sdCardWrite("test3.txt"); sdCardRead("test3.txt");
}
void DHTAcq()
{Serial.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); Serial.print (DHT.humidity, 1); Serial.print(", \t"); Serial.print (DHT. Temperatur, 1); Verzögerung (2000); }
void sdCardWrite(String fileNameStr)
{ Serial.println ("SD-Karte initialisieren"); if (! SD.begin (4)) { Serial.println ("Initialisierung fehlgeschlagen."); Rückkehr; } Serial.println ("Initialisierung abgeschlossen!"); // öffne die Datei. Beachten Sie, dass jeweils nur eine Datei geöffnet sein kann, // also müssen Sie diese schließen, bevor Sie eine andere öffnen. myFile = SD.open(fileNameStr, FILE_WRITE); // Wenn die Datei in Ordnung ist, schreibe hinein: if (myFile) { myFile.println("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); myFile.print (DHT.humidity, 1); myFile.print(", \t"); myFile.print(DHT.temperature, 1); meineDatei.close(); Serial.println("fertig!"); Verzögerung (200); /*Serial.print("In test.txt schreiben…"); myFile.println("Testen 1, 2, 3."); // Datei schließen: myFile.close(); Serial.println ("erledigt."); */ } else { // Wenn die Datei nicht geöffnet wurde, drucke einen Fehler: Serial.println("Fehler beim Öffnen von test.txt"); } }
void sdCardRead(String fileName)
{ // Datei zum Lesen erneut öffnen: myFile = SD.open(fileName); if (myFile) {Serial.println("test.txt:"); // aus der Datei lesen, bis nichts anderes mehr drin ist: while (myFile.available ()) { Serial.write (myFile.read ()); } // Datei schließen: myFile.close(); } else { // Wenn die Datei nicht geöffnet wurde, drucke einen Fehler: Serial.println ("Fehler beim Öffnen von test.txt"); } }
Leere Schleife () {
// nach dem Setup passiert nichts //Serial.println("test 1.. 2.. 3"); // Verzögerung (1000); }
Schritt 5: Android-App:
Die Android-App wurde mit der Thunkable-Anwendung mit Drag-and-Drop-Programmierung erstellt. Es protokolliert die Daten auf dem Etikett auf dem Bildschirm und sobald die Schaltfläche Daten speichern am Standort AppInventor/Data mit dem Dateinamen, dem der Code gegeben wurde, gedrückt wird.
Das Projekt kann erweitert werden, um die gewünschten Sensordaten offline zu speichern, indem wir sie durch die gewünschten Sensormodule ersetzen, und die App kann erweitert werden, um die Daten aus dem Speicher abzurufen und an die Anwendung anzupassen.
Empfohlen:
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
So erstellen Sie eine Android-App mit Android Studio: 8 Schritte (mit Bildern)
So erstellen Sie eine Android-App mit Android Studio: In diesem Tutorial lernen Sie die Grundlagen zum Erstellen einer Android-App mit der Android Studio-Entwicklungsumgebung. Da Android-Geräte immer häufiger werden, wird die Nachfrage nach neuen Apps nur zunehmen. Android Studio ist ein einfach zu bedienendes (ein
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Steuern Sie Geräte über das Internet über den Browser. (IoT): 6 Schritte
Steuern Sie Geräte über das Internet über den Browser. (IoT): In diesem Instructable zeige ich Ihnen, wie Sie Geräte wie LEDs, Relais, Motoren usw. über das Internet über einen Webbrowser steuern können. Und Sie können über jedes Gerät sicher auf die Bedienelemente zugreifen. Die Webplattform, die ich hier verwendet habe, ist RemoteMe.org visit
HRV-Temperatur zu OpenHAB über ESP8266 (Seriencode-Beispiel!): 3 Schritte
HRV-Temperatur zu OpenHAB über ESP8266 (Seriencode-Beispiel!): HRV - Drahtlos zu OpenHABDieses anweisbare ist speziell für diejenigen gedacht, die ein HRV-System (Heizungs-Umluft-Belüftung) haben - obwohl Teile der Platine, Openhab-Konfiguration oder Arduino-Code (wie Lesen) serielle TTL-Daten) könnte h