Indholdsfortegnelse:

Temperatur- og fugtighedsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trin
Temperatur- og fugtighedsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trin

Video: Temperatur- og fugtighedsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trin

Video: Temperatur- og fugtighedsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth: 5 trin
Video: [Dansk] Sensor data til website via arduino med ESP8266 modul 2024, November
Anonim
Temperatur- og fugtighedsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth
Temperatur- og fugtighedsdatalogger fra Arduino til Android -telefon med SD -kortmodul via Bluetooth

Hej allesammen, dette er min første instruerbare nogensinde, håber jeg hjælper maker -samfundet, da jeg har haft gavn af det.

Ofte bruger vi sensorer i vores projekter, men at finde en måde at indsamle dataene på, gemme dem og overføre dem Telefoner eller andre enheder med det samme og trådløst var ikke en færdiglavet proces. Denne instruks vil guide dig igennem

  • Indhentning af data fra sensor (DHT 11) - temperatur- og fugtighedsføler.
  • Lagring af de erhvervede data på SD -kort med SD -kortmodul.
  • Overførsel af data trådløst ved hjælp af Bluetooth til en specialfremstillet Android -app.
  • Lagring af de modtagne sensorværdier som tekstfil (.txt -fil).

Trin 1: Komponentliste

Komponentliste
Komponentliste
Komponentliste
Komponentliste
Komponentliste
Komponentliste

Lad os komme ned for at samle tropperne for at lave dette fantastiske projekt.

  • Arduino Uno (enhver anden arduino vil også være egnet)
  • micro SD -kortmodul.
  • SD -kortmodul (det jeg bruger er 8 GB, det anbefales at bruge> = 32 GB)
  • HC05 - Bluetooth -modul
  • DHT11 (temperatur- og luftfugtighedssensor)
  • Flok jumpere.
  • Android -telefon

Trin 2: Forbindelser:

Tilslutninger
Tilslutninger

At sammensætte og forbinde komponenter er halvvejs færdigt for projektet. De nævnte produkter er let tilgængelige i de fleste detailhandelselektronikforretninger og onlinesider som Amazon.

Arduino - HC05 -forbindelse (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 0 - Tx
  • Pin 1 - Rx

Arduino - SDcard -modulforbindelse:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (ur synkron)
  • Pin 4 - CS (Chip Select)

Arduino - HC05 -forbindelse (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin A0 - Signal

Trin 3: Fremgangsmåde

Procedure
Procedure

Tilslut alle delene som nævnt i det foregående trin. Med dette kan vi skrive kode i Arduino Ide for at nå vores mål.

Den anden del af vores projekt er at få en Android -app til at modtage sensorværdierne, vise værdierne og gemme den i en fil i mobilen. Jeg har brugt Thunkable til at lave Android -applikationen og har også leveret apk og aia til det.

Trin 4: Arduino -kode:

Arduino -koden er givet og forklaret nedenfor.

Arduino -koden er for det meste selvforklarende med SD -kortbibliotek og DHT11 -bibliotek. Bluetooth bruger hardware -serienummer, som er pin0 og pin1 i arduinoen, derfor sker Bluetooth -overførsel med funktionerne Serial print (), der bruger I2C -protokollen, og SD -kortmodulet bruger SPI -protokollen til at kommunikere med den.

/*

* SD -kort knyttet til SPI -bus som følger:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (til MKRZero SD: SDCARD_SS_PIN) * * HC 05 modulforbindelse: ** TX - pin 0 (standard) [kan være ændret, hvis Softwareserial bruges] ** RX - pin 1 (standard) [kan ændres, hvis Softwareserial bruges]

*/

#omfatte

#include #include

Fil myFile;

dht DHT; #define DHT11_PIN A0

ugyldig opsætning () {

// Åbn seriel kommunikation, og vent på, at porten åbnes: Serial.begin (9600); Serial.println ("Type, / tStatus, / tFugtighed (%), / tTemperatur (C)"); mens (! Seriel) {; // vent på, at den serielle port skal oprette forbindelse. Kræves kun til indbygget USB -port} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

ugyldig DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serielt tryk (DHT. Fugtighed, 1); Serial.print (", / t"); Serielt tryk (DHT. Temperatur, 1); forsinkelse (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Initialiserer SD -kort"); hvis (! SD.begin (4)) {Serial.println ("Initialisering mislykkedes."); Vend tilbage; } Serial.println ("Initiering udført!"); // Åbn filen. Bemærk, at kun en fil kan være åben ad gangen, // så du skal lukke denne, før du åbner en anden. myFile = SD.open (fileNameStr, FILE_WRITE); // hvis filen åbnede okay, skriv til den: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.fugtighed, 1); myFile.print (", / t"); myFile.print (DHT.temperatur, 1); myFile.close (); Serial.println ("udført!"); forsinkelse (200); /*Serial.print("Writing to test.txt… "); myFile.println ("test 1, 2, 3."); // luk filen: myFile.close (); Serial.println ("udført"); */} ellers {// hvis filen ikke åbnede, skal du udskrive en fejl: Serial.println ("fejl ved åbning af test.txt"); }}

void sdCardRead (strengfilnavn)

{// genåbn filen til læsning: myFile = SD.open (filnavn); hvis (myFile) {Serial.println ("test.txt:"); // læs fra filen, indtil der ikke er andet i den: while (myFile.available ()) {Serial.write (myFile.read ()); } // luk filen: myFile.close (); } ellers {// hvis filen ikke åbnede, skal du udskrive en fejl: Serial.println ("fejl ved åbning af test.txt"); }}

void loop () {

// intet sker efter opsætning //Serial.println("test 1.. 2.. 3 "); // forsinkelse (1000); }

Trin 5: Android App:

Android App
Android App
Android App
Android App

Android -appen er lavet med Thunkable -applikation med træk og slip -programmering. Det logger dataene på etiketten på skærmen, og når knappen Butikdata er trykket på placeringen AppInventor/Data med filnavnet, der har fået koden.

Projektet kan udvides til at have offline lagring af de sensordata, vi ønsker, ved at erstatte det med de ønskede sensormoduler, og appen kan udvides til at hente dataene fra lageret og manipulere, så det passer til applikationen.

Anbefalede: