Kazalo:

Zapisovalnik podatkov o temperaturi in vlažnosti od Arduina do telefona Android z modulom kartice SD prek Bluetootha: 5 korakov
Zapisovalnik podatkov o temperaturi in vlažnosti od Arduina do telefona Android z modulom kartice SD prek Bluetootha: 5 korakov

Video: Zapisovalnik podatkov o temperaturi in vlažnosti od Arduina do telefona Android z modulom kartice SD prek Bluetootha: 5 korakov

Video: Zapisovalnik podatkov o temperaturi in vlažnosti od Arduina do telefona Android z modulom kartice SD prek Bluetootha: 5 korakov
Video: HLP Controls — Руководство по запуску регистратора данных о вакцинах Medi Log II 2024, November
Anonim
Zapisovalnik podatkov o temperaturi in vlažnosti od Arduina do telefona Android z modulom kartice SD prek Bluetootha
Zapisovalnik podatkov o temperaturi in vlažnosti od Arduina do telefona Android z modulom kartice SD prek Bluetootha

Pozdravljeni vsi, to je moj prvi Instructable doslej. Upam, da bom pomagal skupnosti ustvarjalcev, saj sem imel od tega koristi.

V svojih projektih pogosto uporabljamo senzorje, vendar iskanje načina za zbiranje, shranjevanje in prenos podatkov Telefoni ali druge naprave takoj in brezžična povezava niso bili pripravljen postopek. Ta navodila vas bodo vodila skozi

  • Pridobivanje podatkov iz senzorja (DHT 11) - senzor temperature in vlažnosti.
  • Shranjevanje pridobljenih podatkov na kartico SD z modulom kartice SD.
  • Prenos podatkov brezžično prek povezave Bluetooth v prilagojeno aplikacijo za Android.
  • Shranjevanje prejetih vrednosti senzorja kot besedilne datoteke (datoteka.txt).

Korak: Seznam komponent

Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent

Pojdimo dol, da zberemo čete za ta čudovit projekt.

  • Arduino Uno (primeren bo tudi kateri koli drug arduino)
  • modul kartice micro SD.
  • Modul kartice SD (tisti, ki ga uporabljam, je 8 GB, priporočljivo je uporabiti> = 32 GB)
  • HC05 - Bluetooth modul
  • DHT11 (senzor temperature in vlažnosti)
  • Kup skakalcev.
  • Telefon Android

2. korak: Povezave:

Povezave
Povezave

Sestavljanje in povezovanje komponent je na polovici projekta. Omenjeni izdelki so zlahka na voljo v večini maloprodajnih elektronskih trgovin in na spletnih mestih, kot je Amazon.

Povezava Arduino - HC05 (Bluetooth):

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

Arduino - povezava modula SDcard:

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

Povezava Arduino - HC05 (Bluetooth):

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

3. korak: Postopek

Postopek
Postopek

Povežite vse dele, kot je omenjeno v prejšnjem koraku. S tem lahko v Arduino Ide zapišemo kodo, da dosežemo naš cilj.

Drugi del našega projekta je, da imamo aplikacijo za Android, ki sprejme vrednosti senzorjev, prikaže vrednosti in jih shrani v datoteko v mobilnem telefonu. Za izdelavo aplikacije za Android sem uporabil Thunkable in zanjo zagotovil tudi apk in aia.

4. korak: Koda Arduino:

Arduino koda je podana in pojasnjena spodaj.

Koda arduino je večinoma samoumevna s knjižnico kartic SD in knjižnico DHT11. Bluetooth uporablja serijsko opremo strojne opreme, ki je pin0 in pin1 arduina, zato se prenos bluetooth zgodi s funkcijami Serial print (), ki uporablja protokol I2C, modul kartice SD pa za komunikacijo z njim uporablja protokol SPI.

/*

* SD kartica, priključena na vodilo SPI:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (za MKRZero SD: SDCARD_SS_PIN) * * Priključitev modula HC 05: ** TX - pin 0 (privzeto) [lahko spremenjeno, če se uporablja Softwareserial] ** RX - pin 1 (privzeto) [se lahko spremeni, če se uporablja Softwareserial]

*/

#vključi

#include #include

Datoteka myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Odprite serijsko komunikacijo in počakajte, da se vrata odprejo: Serial.begin (9600); Serial.println ("Vrsta, / tStatus, / tVlažnost (%), / tTemperatura (C)"); while (! Serijski) {; // počakajte, da se serijska vrata povežejo. Potrebujete samo za domača vrata USB} 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"); Serijski.tisk (temperatura DHT, 1); zamuda (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Inicializacija kartice SD"); if (! SD.begin (4)) {Serial.println ("Inicializacija ni uspela."); vrnitev; } Serial.println ("Inicializacija končana!"); // odpremo datoteko. upoštevajte, da je lahko hkrati odprta samo ena datoteka, // zato morate to zapreti, preden odprete drugo. myFile = SD.open (fileNameStr, FILE_WRITE); // če se je datoteka dobro odprla, ji napišite: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.humidity, 1); myFile.print (", / t"); myFile.print (temperatura DHT, 1); myFile.close (); Serial.println ("končano!"); zamuda (200); /*Serial.print(" Pisanje v test.txt … "); myFile.println ("testiranje 1, 2, 3."); // zapremo datoteko: myFile.close (); Serial.println ("končano."); */} else {// če se datoteka ne odpre, natisnite napako: Serial.println ("napaka pri odpiranju test.txt"); }}

void sdCardRead (String fileName)

{// znova odprite datoteko za branje: myFile = SD.open (ime datoteke); if (myFile) {Serial.println ("test.txt:"); // beremo iz datoteke, dokler v njej ni nič drugega: while (myFile.available ()) {Serial.write (myFile.read ()); } // zapre datoteko: myFile.close (); } else {// če se datoteka ne odpre, natisnite napako: Serial.println ("napaka pri odpiranju test.txt"); }}

void loop () {

// po namestitvi se nič ne zgodi //Serial.println("test 1.. 2.. 3 "); // zakasnitev (1000); }

5. korak: aplikacija za Android:

Aplikacija za Android
Aplikacija za Android
Aplikacija za Android
Aplikacija za Android

Aplikacija za Android je bila narejena z aplikacijo Thunkable s programiranjem povleci in spusti. Podatke bo zabeležil na oznako na zaslonu in ko pritisnete gumb Shrani podatke na lokaciji AppInventor/Data z imenom datoteke, ki ji je bila dodeljena koda.

Projekt lahko razširimo tako, da imamo brez povezave shranjevanje vseh podatkov senzorjev, ki jih želimo, tako da jih nadomestimo z želenimi senzorskimi moduli, aplikacijo pa lahko razširimo, da pridobimo podatke iz pomnilnika in z njimi manipuliramo, da ustrezajo aplikaciji.

Priporočena: