Sisällysluettelo:

Lämpötilan ja kosteuden tiedonkeruulaite Arduinosta Android -puhelimeen, jossa on SD -korttimoduuli Bluetoothin kautta: 5 vaihetta
Lämpötilan ja kosteuden tiedonkeruulaite Arduinosta Android -puhelimeen, jossa on SD -korttimoduuli Bluetoothin kautta: 5 vaihetta

Video: Lämpötilan ja kosteuden tiedonkeruulaite Arduinosta Android -puhelimeen, jossa on SD -korttimoduuli Bluetoothin kautta: 5 vaihetta

Video: Lämpötilan ja kosteuden tiedonkeruulaite Arduinosta Android -puhelimeen, jossa on SD -korttimoduuli Bluetoothin kautta: 5 vaihetta
Video: Vaisalan kosteus-, lämpötila-ja CO2-mittalaitteet ilmanvaihdon sovelluksiin 2024, Marraskuu
Anonim
Lämpötilan ja kosteuden tiedonkeruulaite Arduinosta Android -puhelimeen, jossa on SD -korttimoduuli Bluetoothin kautta
Lämpötilan ja kosteuden tiedonkeruulaite Arduinosta Android -puhelimeen, jossa on SD -korttimoduuli Bluetoothin kautta

Hei kaikki, tämä on ensimmäinen Instructable koskaan, toivottavasti autan valmistajayhteisöä, koska olen hyötynyt siitä.

Usein käytämme projekteissamme antureita, mutta keinon kerätä tiedot, tallentaa ne ja siirtää ne Puhelimet tai muut laitteet välittömästi ja langattomasti eivät olleet valmiita. Tämä opastettava opastaa sinut läpi

  • Tietojen hankkiminen anturista (DHT 11) - lämpötila- ja kosteusanturi.
  • Tallennettujen tietojen tallentaminen SD -kortille SD -korttimoduulilla.
  • Tietojen siirtäminen langattomasti Bluetoothin avulla räätälöityyn Android -sovellukseen.
  • Vastaanotettujen anturiarvojen tallentaminen tekstitiedostona (.txt -tiedosto).

Vaihe 1: Komponenttiluettelo

Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo

Mennään alas keräämään joukkoja tekemään tämä mahtava projekti.

  • Arduino Uno (mikä tahansa muu arduino sopii myös)
  • micro SD -korttimoduuli.
  • SD -korttimoduuli (käyttämäni on 8 Gt, on suositeltavaa käyttää> = 32 Gt)
  • HC05 - Bluetooth -moduuli
  • DHT11 (lämpötila- ja kosteusanturi)
  • Joukko puseroita.
  • Android -puhelin

Vaihe 2: Liitännät:

Liitännät
Liitännät

Osien kokoaminen ja liittäminen on hankkeen puolivälissä. Mainitut tuotteet ovat helposti saatavilla useimmista vähittäiskaupan sähköisistä kaupoista ja online -sivustoista, kuten Amazon.

Arduino - HC05 -yhteys (Bluetooth):

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

Arduino - SDcard -moduuliliitäntä:

  • +5V - Vcc
  • Gnd - Gnd
  • Nasta 11 - MOSI (Master Out Slave In)
  • Nasta 12 - MISO (Master In Slave Out)
  • Nasta 13 - SCk (synkroninen kello)
  • Nasta 4 - CS (Chip Select)

Arduino - HC05 -yhteys (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Nasta A0 - Signaali

Vaihe 3: Toimenpide

Menettely
Menettely

Yhdistä kaikki osat kuten edellisessä vaiheessa mainittiin. Tämän avulla voimme kirjoittaa koodin Arduino Ideiin tavoitteemme saavuttamiseksi.

Projektimme toinen osa on saada Android -sovellus tunnistamaan anturien arvot, näyttämään arvot ja tallentamaan ne matkapuhelimessa olevaan tiedostoon. Olen käyttänyt Thunkablea Android -sovelluksen tekemiseen ja toimittanut sille myös apk: n ja aian.

Vaihe 4: Arduino -koodi:

Arduino -koodi on annettu ja selitetty alla.

Arduino -koodi on enimmäkseen itsestään selvä SD -korttikirjastolla ja DHT11 -kirjastolla. Bluetooth käyttää laitteistosarjaa, joka on arduino pin0 ja pin1, joten bluetooth -siirto tapahtuu Serial print () -toiminnoilla, jotka käyttävät I2C -protokollaa ja SD -korttimoduuli käyttää SPI -protokollaa kommunikoidakseen sen kanssa.

/*

* SD -kortti kiinnitetään SPI -väylään seuraavasti:

** MOSI - nasta 11 ** MISO - nasta 12 ** CLK - nasta 13 ** CS - nasta 4 (MKRZero SD: SDCARD_SS_PIN) * * HC 05 -moduuliliitäntä: ** TX - nasta 0 (oletus) [voidaan muutettu, jos ohjelmistoa käytetään] ** RX - nasta 1 (oletus) [voidaan muuttaa, jos ohjelmistoa käytetään]

*/

#sisältää

#Sisällytä #Sisällytä

Tiedosto myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Avaa sarjaliikenne ja odota portin avautumista: Serial.begin (9600); Serial.println ("Tyyppi, / tTila, / tKosteus (%), / tLämpötila (C)"); while (! Sarja) {; // odota, että sarjaportti muodostaa yhteyden. Tarvitaan vain natiiville USB -portille} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

mitätön DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Sarjajälki (DHT.kosteus, 1); Serial.print (", / t"); Sarjajälki (DHT. Lämpötila, 1); viive (2000); }

void sdCardWrite (merkkijonotiedoston_nimi)

{Serial.println ("SD -kortin alustaminen"); if (! SD.begin (4)) {Serial.println ("Alustus epäonnistui."); palata; } Serial.println ("Alustus tehty!"); // avaa tiedosto. Huomaa, että vain yksi tiedosto voidaan avata kerrallaan, // joten sinun on suljettava tämä tiedosto ennen toisen avaamista. myFile = SD.open (fileNameStr, FILE_WRITE); // jos tiedosto avattiin ok, kirjoita sille: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.kosteus, 1); myFile.print (", / t"); myFile.print (DHT.lämpötila, 1); myFile.close (); Serial.println ("tehty!"); viive (200); /*Serial.print ("Kirjoittaminen test.txt -tiedostoon…"); myFile.println ("testaus 1, 2, 3."); // sulje tiedosto: myFile.close (); Serial.println ("valmis"); */} muu {// jos tiedosto ei avautunut, tulosta virhe: Serial.println ("virhe avattaessa testi.txt"); }}

void sdCardRead (merkkijonon tiedostonimi)

{// avaa tiedosto uudelleen lukemista varten: myFile = SD.open (fileName); if (oma tiedosto) {Serial.println ("test.txt:"); // lukea tiedostosta, kunnes siinä ei ole mitään muuta: while (myFile.available ()) {Serial.write (myFile.read ()); } // sulje tiedosto: myFile.close (); } else {// jos tiedosto ei avautunut, tulosta virhe: Serial.println ("virhe avattaessa testi.txt"); }}

void loop () {

// mitään ei tapahdu asennuksen jälkeen //Serial.println("test 1.. 2.. 3 "); // viive (1000); }

Vaihe 5: Android -sovellus:

Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus

Android -sovellus on tehty Thunkable -sovelluksella, jossa on vedä ja pudota -ohjelmointi. Se kirjaa tiedot näytön etikettiin ja kun Tallenna tiedot -painiketta on painettu paikassa AppInventor/Data tiedostonimellä, jolle on annettu koodi.

Projektia voidaan laajentaa niin, että se voi tallentaa offline -tilassa mitä tahansa haluamiamme anturitietoja korvaamalla halutut anturimoduulit, ja sovellusta voidaan laajentaa hakemaan tiedot tallennustilasta ja käsittelemään sovelluksen mukaan.

Suositeltava: