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, Decembar
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 je moj prvi Instructable ikada, nadam se da ću pomoći zajednici proizvođača jer sam od toga imao koristi.

Često koristimo senzore u svojim projektima, ali pronalaženje načina da prikupimo podatke, pohranimo ih i prenesemo Telefoni ili drugi uređaji odmah i bežična veza nisu bili gotov proces. Ovaj Instructable će vas voditi kroz

  • Dobivanje podataka sa senzora (DHT 11) - senzora temperature i vlažnosti.
  • Pohranjivanje prikupljenih podataka na SD karticu sa modulom SD kartice.
  • Bežični prijenos podataka putem Bluetootha u prilagođenu Android aplikaciju.
  • Pohranjivanje primljenih vrijednosti senzora u tekstualnu datoteku (.txt datoteka).

Korak 1: Lista komponenti

Lista komponenti
Lista komponenti
Lista komponenti
Lista komponenti
Lista komponenti
Lista komponenti

Idemo okupiti trupe kako bismo napravili ovaj sjajan projekt.

  • 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 upotreba> = 32 GB)
  • HC05 - Bluetooth modul
  • DHT11 (Senzor temperature i vlažnosti)
  • Gomila skakača.
  • Android telefon

Korak 2: Veze:

Veze
Veze

Slaganje i povezivanje komponenti je na pola puta završeno za projekat. 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 (sinhroni sat)
  • Pin 4 - CS (odabir čipa)

Arduino - HC05 veza (Bluetooth):

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

Korak 3: Postupak

Procedura
Procedura

Povežite sve dijelove kao što je spomenuto u prethodnom koraku, Ovim možemo napisati 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 pohranjivanje 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 bibliotekom SD kartica i bibliotekom DHT11. Bluetooth koristi hardversku seriju koja je pin0 i pin1 arduina, pa se Bluetooth prijenos događa sa funkcijama Serial print () koje koriste I2C protokol, 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 HC 05 modula: ** TX - pin 0 (zadano) [može biti promijenjeno ako se koristi Softwareserial] ** RX - pin 1 (zadano) [može se promijeniti ako se koristi Softwareserial]

*/

#include

#include #include

File myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Otvorite serijsku komunikaciju i pričekajte da se port otvori: Serial.begin (9600); Serial.println ("Tip, / 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); Serial.print (DHT.humidity, 1); Serial.print (", / t"); Serial.print (DHT.temperature, 1); kašnjenje (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Inicijalizacija SD kartice"); if (! SD.begin (4)) {Serial.println ("Inicijalizacija nije uspjela."); return; } Serial.println ("Inicijalizacija završena!"); // otvaranje datoteke. imajte na umu da samo jedna datoteka može biti otvorena odjednom, // pa morate zatvoriti ovu 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 ne otvori, ispišite grešku: Serial.println ("greška pri otvaranju test.txt"); }}

void sdCardRead (String fileName)

{// ponovo otvorite datoteku za čitanje: myFile = SD.open (ime datoteke); if (myFile) {Serial.println ("test.txt:"); // čita 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 grešku: Serial.println ("greš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); }

Korak 5: Android aplikacija:

Android aplikacija
Android aplikacija
Android aplikacija
Android aplikacija

Android aplikacija napravljena je s Thunkable aplikacijom s programiranjem povlačenja i ispuštanja. Zapisat će podatke na oznaku na ekranu, a nakon što pritisnete gumb Spremi podatke na lokaciji AppInventor/Data s imenom datoteke kojoj je dodijeljen kôd.

Projekt se može proširiti na izvanmrežno pohranjivanje svih podataka senzora koje želimo zamjenom sa željenim senzorskim modulima, a aplikacija se može proširiti za preuzimanje podataka iz skladišta i manipulaciju prema aplikaciji.

Preporučuje se: