Sisukord:

Temperatuuri ja niiskuse andmekoguja Arduino'st Android -telefonini SD -kaardi mooduliga Bluetoothi kaudu: 5 sammu
Temperatuuri ja niiskuse andmekoguja Arduino'st Android -telefonini SD -kaardi mooduliga Bluetoothi kaudu: 5 sammu

Video: Temperatuuri ja niiskuse andmekoguja Arduino'st Android -telefonini SD -kaardi mooduliga Bluetoothi kaudu: 5 sammu

Video: Temperatuuri ja niiskuse andmekoguja Arduino'st Android -telefonini SD -kaardi mooduliga Bluetoothi kaudu: 5 sammu
Video: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, Juuli
Anonim
Temperatuuri ja niiskuse andmekoguja Arduinost Android -telefoni, millel on Bluetooth -kaardi kaudu SD -kaardi moodul
Temperatuuri ja niiskuse andmekoguja Arduinost Android -telefoni, millel on Bluetooth -kaardi kaudu SD -kaardi moodul

Tere kõigile, see on minu esimene juhendatav kunagi, loodan, et aitan tegijate kogukonda, kuna olen sellest kasu saanud.

Sageli kasutame oma projektides andureid, kuid andmete kogumise, salvestamise ja edastamise viisi leidmine Telefonid või muud seadmed ja traadita side ei olnud valmis protsess. See juhend juhendab teid läbi

  • Andmete kogumine andurilt (DHT 11) - temperatuuri- ja niiskusandur.
  • Saadud andmete salvestamine SD -kaardile koos SD -kaardimooduliga.
  • Andmete edastamine juhtmevabalt Bluetoothi abil kohandatud Androidi rakendusse.
  • Vastuvõetud anduri väärtuste salvestamine tekstifailina (.txt -fail).

Samm: komponentide loend

Komponentide loend
Komponentide loend
Komponentide loend
Komponentide loend
Komponentide loend
Komponentide loend

Lähme alla, et koguda vägesid selle vinge projekti tegemiseks.

  • Arduino Uno (sobib ka muu arduino)
  • mikro -SD -kaardi moodul.
  • SD -kaardi moodul (see, mida ma kasutan, on 8 GB, soovitatav on kasutada> = 32 GB)
  • HC05 - Bluetooth -moodul
  • DHT11 (temperatuuri ja niiskuse andur)
  • Hunnik džemprid.
  • Android telefon

Samm: ühendused:

Ühendused
Ühendused

Komponentide kokkupanemine ja ühendamine on projekti jaoks pooleldi tehtud. Mainitud tooted on hõlpsasti saadaval enamikus jaemüügi elektroonikapoodides ja veebisaitidel nagu Amazon.

Arduino - HC05 ühendus (Bluetooth):

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

Arduino - SD -kaardi mooduli ühendus:

  • +5V - Vcc
  • Gnd - Gnd
  • Pin 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Pin 13 - SCk (sünkroonne kell)
  • Pin 4 - CS (kiibi valimine)

Arduino - HC05 ühendus (Bluetooth):

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

3. samm: protseduur

Menetlus
Menetlus

Ühendage kõik osad, nagu eelmises etapis mainitud. Selle abil saame oma eesmärgi saavutamiseks Arduino Ideisse koodi kirjutada.

Meie projekti teine osa on lasta Androidi rakendusel anduri väärtused tajuda, väärtused kuvada ja see mobiiltelefoni faili salvestada. Olen Androidi rakenduse tegemiseks kasutanud Thunkable'i ning pakkunud ka selle jaoks apk ja aia.

Samm: Arduino kood:

Arduino kood on antud ja selgitatud allpool.

Arduino kood on enamasti iseenesestmõistetav koos SD -kaardi ja DHT11 koguga. Bluetooth kasutab riistvara jadasid, mis on arduino pin0 ja pin1, seega toimub Bluetoothi ülekanne funktsioonidega Serial print (), mis kasutab ära I2C protokolli ja SD -kaardi moodul kasutab sellega suhtlemiseks SPI protokolli.

/*

* SD -kaart SPI -siini külge kinnitatud järgmiselt:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (MKRZero SD: SDCARD_SS_PIN) * * HC 05 mooduli ühendus: ** TX - pin 0 (vaikimisi) [saab muudetud, kui kasutatakse tarkvara] ** RX - tihvt 1 (vaikimisi) [saab muuta, kui tarkvara kasutatakse]

*/

#kaasake

#kaasama #kaasama

Fail myFile;

dht DHT; #define DHT11_PIN A0

tühine seadistus () {

// Ava jadaside ja oota pordi avamist: Serial.begin (9600); Serial.println ("Tüüp, / tStaatus, / tniiskus (%), / tTemperatuur (C)"); while (! Seeria) {; // oodake, kuni jadaport ühendatakse. Vajalik ainult oma USB -pordi jaoks} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

tühine DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Seeriaprint (DHT.niiskus, 1); Seeria.print (", / t"); Seeriaprint (DHT.temperatuur, 1); viivitus (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("SD -kaardi lähtestamine"); if (! SD.begin (4)) {Serial.println ("Initsialiseerimine ebaõnnestus."); tagasipöördumine; } Serial.println ("Initsialiseerimine tehtud!"); // faili avamine. pange tähele, et korraga saab avada ainult ühe faili, // nii et peate selle enne teise avamist sulgema. myFile = SD.open (fileNameStr, FILE_WRITE); // kui fail avanes okei, kirjuta sellele: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.niiskus, 1); myFile.print (", / t"); myFile.print (DHT.temperatuur, 1); myFile.close (); Serial.println ("tehtud!"); viivitus (200); /*Serial.print ("Kirjutamine test.txt -faili …"); myFile.println ("testimine 1, 2, 3."); // faili sulgemine: myFile.close (); Serial.println ("tehtud"); */} muu {// kui fail ei avanenud, printige viga: Serial.println ("viga test.txt avamisel"); }}

void sdCardRead (String fileName)

{// avage fail uuesti lugemiseks: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // lugeda failist, kuni selles pole midagi muud: while (myFile.available ()) {Serial.write (myFile.read ()); } // sulgege fail: myFile.close (); } else {// kui fail ei avane, printige viga: Serial.println ("tõrge test.txt avamisel"); }}

void loop () {

// pärast seadistamist ei juhtu midagi //Serial.println("test 1.. 2.. 3 "); // viivitus (1000); }

Samm: Androidi rakendus:

Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus

Androidi rakendus on loodud rakendusega Thunkable koos pukseerimisprogrammeerimisega. See logib andmed ekraanil olevale sildile ja kui nupule Salvesta andmed on vajutatud asukohas AppInventor/Data koos failinimega, millele on antud kood.

Projekti saab laiendada nii, et tal oleks võrguühenduseta andmesideandmed, mida me soovime, asendades need soovitud andurimoodulitega ja rakendust saab laiendada, et saada andmeid salvestusruumist ja manipuleerida vastavalt rakendusele.

Soovitan: