Tartalomjegyzék:

Hőmérséklet és páratartalom adatgyűjtő az Arduino -tól az Android telefonig SD kártya modullal Bluetooth -on keresztül: 5 lépés
Hőmérséklet és páratartalom adatgyűjtő az Arduino -tól az Android telefonig SD kártya modullal Bluetooth -on keresztül: 5 lépés

Videó: Hőmérséklet és páratartalom adatgyűjtő az Arduino -tól az Android telefonig SD kártya modullal Bluetooth -on keresztül: 5 lépés

Videó: Hőmérséklet és páratartalom adatgyűjtő az Arduino -tól az Android telefonig SD kártya modullal Bluetooth -on keresztül: 5 lépés
Videó: Broadlink MP1 wi-fi смарт удлинитель - подключаем к системе Domoticz 2024, November
Anonim
Hőmérséklet és páratartalom adatgyűjtő Arduino -tól Android telefonig SD kártya modullal Bluetooth -on keresztül
Hőmérséklet és páratartalom adatgyűjtő Arduino -tól Android telefonig SD kártya modullal Bluetooth -on keresztül

Sziasztok! Ez az első oktatható, remélem, segítek a készítő közösségnek, mivel hasznot húztam belőle.

Gyakran használunk érzékelőket projektjeinkben, de az adatok összegyűjtésének, tárolásának és továbbításának módját megtaláltuk. A telefonok vagy más eszközök azonnali és vezeték nélküli használata nem volt kész folyamat. Ez az útmutató segít végigvezetni

  • Adatok gyűjtése az érzékelőből (DHT 11) - hőmérséklet- és páratartalom -érzékelő.
  • A megszerzett adatok tárolása SD -kártyán SD -kártya modullal.
  • Az adatok vezeték nélküli átvitele Bluetooth használatával egy egyedi Android -alkalmazásba.
  • A kapott érzékelőértékek szöveges fájlként (.txt fájl) történő tárolása.

1. lépés: Alkatrészlista

Komponenslista
Komponenslista
Komponenslista
Komponenslista
Komponenslista
Komponenslista

Menjünk le, hogy összegyűjtsük a csapatokat ennek a fantasztikus projektnek a megvalósításához.

  • Arduino Uno (bármely más arduino is alkalmas lesz)
  • micro SD kártya modul.
  • SD kártya modul (az általam használt 8 GB, ajánlott> = 32 GB)
  • HC05 - Bluetooth modul
  • DHT11 (hőmérséklet- és páratartalom -érzékelő)
  • Csomó jumper.
  • Androidos telefon

2. lépés: Csatlakozások:

Csatlakozások
Csatlakozások

Az alkatrészek összeállítása és összekötése félúton történik a projekthez. Az említett termékek könnyen elérhetők a legtöbb kiskereskedelmi elektronikus áruházban és olyan online webhelyen, mint az Amazon.

Arduino - HC05 kapcsolat (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • 0 csap - Tx
  • 1. tű - Rx

Arduino - SDcard modul csatlakoztatása:

  • +5V - Vcc
  • Gnd - Gnd
  • 11. tű - MOSI (Master Out Slave In)
  • 12. tű - MISO (Master In Slave Out)
  • 13. tű - SCk (szinkron óra)
  • 4. tű - CS (Chip Select)

Arduino - HC05 kapcsolat (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • A0 csap - jel

3. lépés: Eljárás

Eljárás
Eljárás

Csatlakoztassa az összes alkatrészt az előző lépésben említettek szerint. Ezzel kódot írhatunk az Arduino Ide -ba, hogy elérjük célunkat.

Projektünk második része az, hogy egy Android -alkalmazás felfogja az érzékelő értékeit, megjelenítse az értékeket és tárolja egy fájlban a mobilban. A Thunkable -t használtam az Android -alkalmazás elkészítéséhez, valamint az apk -t és aia -t is megadtam hozzá.

4. lépés: Arduino kód:

Az Arduino kódot az alábbiakban adtuk meg és magyarázzuk.

Az arduino kód többnyire magától értetődő az SD kártya könyvtárral és a DHT11 könyvtárral. A bluetooth hardveres sorozattípust használ, amely az arduino pin0 és pin1 kódja, ezért a bluetooth átvitel a Serial print () funkciókkal történik, amelyek az I2C protokollt használják, az SD kártya modul pedig az SPI protokollt használja a kommunikációhoz.

/*

* SD kártya az SPI buszhoz csatlakoztatva az alábbiak szerint:

** MOSI - 11. érintkező ** MISO - 12. érintkező ** CLK - 13. tű ** CS - 4. tű (MKRZero SD esetén: SDCARD_SS_PIN) * * HC 05 modulcsatlakozás: ** TX - 0 tű (alapértelmezett) [lehet megváltozott, ha a szoftvert használják] ** RX - 1 -es pin (alapértelmezett) [módosítható, ha a szoftvert használják]

*/

#befoglalni

#befoglalni #befoglalni

File myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Nyissa meg a soros kommunikációt, és várja meg a port megnyitását: Serial.begin (9600); Serial.println ("Típus, / tállapot, / tPáratartalom (%), / tHőmérséklet (C)"); while (! Sorozat) {; // várjon, amíg a soros port csatlakozik. Csak natív USB -porthoz szükséges} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

void DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Sorozatnyomat (DHT.páratartalom, 1); Serial.print (", / t"); Soros.nyomtatás (DHT.hőmérséklet, 1); késleltetés (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("SD kártya inicializálása"); if (! SD.begin (4)) {Serial.println ("Az inicializálás nem sikerült."); Visszatérés; } Serial.println ("Az inicializálás megtörtént!"); // nyissa meg a fájlt. ne feledje, hogy egyszerre csak egy fájl nyitható meg, // ezért be kell zárnia ezt a fájlt, mielőtt megnyitna egy másikat. myFile = SD.open (fileNameStr, FILE_WRITE); // ha a fájl rendben megnyílt, írjon rá: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.páratartalom, 1); myFile.print (", / t"); myFile.print (DHT.temperature, 1); myFile.close (); Serial.println ("kész!"); késleltetés (200); /*Serial.print ("Írás a teszt.txt fájlba …"); myFile.println ("tesztelés 1, 2, 3."); // zárja be a fájlt: myFile.close (); Serial.println ("kész"); */} else {// ha a fájl nem nyílt meg, nyomtasson egy hibát: Serial.println ("hiba megnyitása test.txt"); }}

void sdCardRead (String fileName)

{// nyissa meg újra a fájlt olvasáshoz: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // olvasson a fájlból, amíg semmi más nincs benne: while (myFile.available ()) {Serial.write (myFile.read ()); } // zárja be a fájlt: myFile.close (); } else {// ha a fájl nem nyílt meg, nyomtasson egy hibát: Serial.println ("hiba megnyitása test.txt"); }}

void loop () {

// semmi sem történik a beállítás után //Serial.println("test 1.. 2.. 3 "); // delay (1000); }

5. lépés: Android -alkalmazás:

Android -alkalmazás
Android -alkalmazás
Android -alkalmazás
Android -alkalmazás

Az Android alkalmazás Thunkable alkalmazással készült, drag and drop programozással. Az adatokat naplózza a képernyőn megjelenő címkére, és miután megnyomta az Adatok tárolása gombot az AppInventor/Data helyen, a kódnevű fájlnévvel.

A projekt kiterjeszthető a kívánt érzékelőadatok offline tárolására, ha a kívánt érzékelőmodulokra cseréljük, és az alkalmazás kiterjeszthető az adatok lekérésére a tárolóból, és az alkalmazásnak megfelelően manipulálható.

Ajánlott: