Sadržaj:

Zapisnik podataka o temperaturi i vlažnosti od Arduina do Android telefona s modulom SD kartice putem Bluetootha: 5 koraka
Zapisnik podataka o temperaturi i vlažnosti od Arduina do Android telefona s modulom SD kartice putem Bluetootha: 5 koraka

Video: Zapisnik podataka o temperaturi i vlažnosti od Arduina do Android telefona s modulom SD kartice putem Bluetootha: 5 koraka

Video: Zapisnik podataka o temperaturi i vlažnosti od Arduina do Android telefona s modulom SD kartice putem Bluetootha: 5 koraka
Video: Scentroid's CTAir Continuous Urban Air Quality Monitor Seminar A 12.08.2020 (Subtitled) 2024, Prosinac
Anonim
Zapisnik podataka o temperaturi i vlažnosti od Arduina do Android telefona s modulom SD kartice putem Bluetootha
Zapisnik podataka o temperaturi i vlažnosti od Arduina do Android telefona s modulom SD kartice putem Bluetootha

Pozdrav svima, ovo mi je prvi Instructable ikada, nadam se da ću pomoći zajednici proizvođača jer sam od toga imao koristi.

Često u svojim projektima koristimo senzore, ali pronalaženje načina za prikupljanje podataka, pohranu i prijenos njih Telefoni ili drugi uređaji odmah i bežični nisu bili gotov proces. Ovaj Instructable će vas voditi kroz

  • Dobivanje podataka sa senzora (DHT 11) - osjetnik temperature i vlage.
  • Pohranjivanje prikupljenih podataka na SD karticu s modulom SD kartice.
  • Prijenos bežičnih podataka putem Bluetootha u prilagođenu aplikaciju za Android.
  • Spremanje primljenih vrijednosti senzora u tekstualnu datoteku (.txt datoteka).

Korak 1: Popis komponenti

Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti
Popis komponenti

Idemo okupiti trupe za izradu ovog sjajnog projekta.

  • Arduino Uno (bilo koji drugi arduino će također biti prikladan)
  • modul mikro SD kartice.
  • Modul SD kartice (ovaj koji koristim je 8 GB, preporučuje se korištenje> = 32 GB)
  • HC05 - Bluetooth modul
  • DHT11 (osjetnik temperature i vlažnosti)
  • Hrpa skakača.
  • Android telefon

Korak 2: Veze:

Priključci
Priključci

Slaganje i povezivanje komponenti je na pola puta dovršeno za projekt. Spomenuti proizvodi lako su dostupni u većini maloprodajnih elektroničkih trgovina i internetskih stranica poput Amazona.

Arduino - HC05 veza (Bluetooth):

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

Arduino - povezivanje modula SD kartice:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (sat sinkroniziran)
  • Pin 4 - CS (odabir čipa)

Arduino - HC05 veza (Bluetooth):

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

Korak 3: Postupak

Postupak
Postupak

Spojite sve dijelove kao što je spomenuto u prethodnom koraku, Ovim možemo zapisati kôd u Arduino Ide kako bismo postigli naš cilj.

Drugi dio našeg projekta je imati Android aplikaciju za primanje vrijednosti senzora, prikaz vrijednosti i pohranu u datoteku na mobilnom telefonu. Koristio sam Thunkable za izradu Android aplikacije, a za nju sam dao i apk i aia.

Korak 4: Arduino kod:

Arduino kod dat je i objašnjen u nastavku.

Arduino kôd uglavnom se objašnjava samim sobom s knjižnicom SD kartica i knjižnicom DHT11. Bluetooth koristi hardversku seriju koja je pin0 i pin1 arduina pa se Bluetooth prijenos događa s funkcijama Serial print () koja koristi protokol I2C, a modul SD kartice koristi SPI protokol za komunikaciju s njim.

/*

* SD kartica priključena na SPI sabirnicu na sljedeći način:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (za MKRZero SD: SDCARD_SS_PIN) * * Priključak modula HC 05: ** TX - pin 0 (zadano) [može biti promijenjeno ako se koristi Softwareserial] ** RX - pin 1 (zadano) [može se promijeniti ako se koristi Softwareserial]

*/

#uključi

#include #include

Datoteka myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Otvorite serijsku komunikaciju i pričekajte da se port otvori: Serial.begin (9600); Serial.println ("Vrsta, / tStatus, / tVlažnost (%), / tTemperatura (C)"); while (! Serijski) {; // čekati povezivanje serijskog porta. Potrebno samo za izvorni USB port} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

void DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serijski.ispis (DHT.vlažnost, 1); Serial.print (", / t"); Serijski.ispis (DHT.temperatura, 1); odgoda (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Inicijalizacija SD kartice"); if (! SD.begin (4)) {Serial.println ("Inicijalizacija nije uspjela."); povratak; } Serial.println ("Inicijalizacija dovršena!"); // otvaranje datoteke. imajte na umu da samo jedna datoteka može biti otvorena odjednom, // pa ovu morate zatvoriti prije otvaranja druge. myFile = SD.open (fileNameStr, FILE_WRITE); // ako se datoteka dobro otvorila, napišite joj: 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); myFile.close (); Serial.println ("gotovo!"); kašnjenje (200); /*Serial.print("Writing to test.txt… "); myFile.println ("testiranje 1, 2, 3."); // zatvaranje datoteke: myFile.close (); Serial.println ("učinjeno."); */} else {// ako se datoteka nije otvorila, ispišite pogrešku: Serial.println ("pogreška pri otvaranju test.txt"); }}

void sdCardRead (String fileName)

{// ponovno otvorite datoteku za čitanje: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // čitati iz datoteke sve dok u njoj nema ništa drugo: while (myFile.available ()) {Serial.write (myFile.read ()); } // zatvaranje datoteke: myFile.close (); } else {// ako se datoteka ne otvori, ispišite pogrešku: Serial.println ("pogreška pri otvaranju test.txt"); }}

void loop () {{100} {101}

// ništa se ne događa nakon postavljanja //Serial.println("test 1.. 2.. 3 "); // kašnjenje (1000); }

5. korak: Android aplikacija:

Android aplikacija
Android aplikacija
Android aplikacija
Android aplikacija

Aplikacija za Android izrađena je s Thunkable aplikacijom s programiranjem povlačenja i ispuštanja. Zapisat će podatke na oznaku na zaslonu, a nakon što pritisnete gumb Pohrani podatke na lokaciji AppInventor/Data s imenom datoteke kojoj je dodijeljen kôd.

Projekt se može proširiti na izvanmrežnu pohranu svih podataka senzora koje želimo zamijeniti željenim senzorskim modulima, a aplikacija se može proširiti za dohvaćanje podataka iz pohrane i manipulaciju prema aplikaciji.

Preporučeni: