Inhaltsverzeichnis:

Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth - Gunook
Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth - Gunook

Video: Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth - Gunook

Video: Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth - Gunook
Video: MQTT-Anwendung für Android | Erfinder der MIT-App 2024, November
Anonim
Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth
Temperatur- und Feuchtigkeitsdatenlogger von Arduino zu Android-Telefon mit SD-Kartenmodul über Bluetooth

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

Komponentenliste
Komponentenliste
Komponentenliste
Komponentenliste
Komponentenliste
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:

Anschlüsse
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

Verfahren
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:

Android App
Android App
Android App
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: