Obsah:

Data o teplotě a vlhkosti z Arduina na telefon Android s modulem karty SD přes Bluetooth: 5 kroků
Data o teplotě a vlhkosti z Arduina na telefon Android s modulem karty SD přes Bluetooth: 5 kroků

Video: Data o teplotě a vlhkosti z Arduina na telefon Android s modulem karty SD přes Bluetooth: 5 kroků

Video: Data o teplotě a vlhkosti z Arduina na telefon Android s modulem karty SD přes Bluetooth: 5 kroků
Video: Scentroid's CTAir Continuous Urban Air Quality Monitor Seminar A 12.08.2020 (Subtitled) 2024, Listopad
Anonim
Datalogger teploty a vlhkosti z Arduina na telefon Android s modulem karty SD přes Bluetooth
Datalogger teploty a vlhkosti z Arduina na telefon Android s modulem karty SD přes Bluetooth

Dobrý den, toto je můj vůbec první Instructable, doufám, že pomůžu komunitě tvůrců, protože mi to prospělo.

V našich projektech často používáme senzory, ale najít způsob, jak data sbírat, ukládat a přenášet je okamžitě telefony a jiná zařízení a bezdrátově, to nebyl hotový proces. Tento Instructable vás provede

  • Získávání dat ze senzoru (DHT 11) - snímač teploty a vlhkosti.
  • Ukládání získaných dat na kartu SD pomocí modulu karty SD.
  • Bezdrátový přenos dat pomocí Bluetooth do vlastní aplikace pro Android.
  • Uložení přijatých hodnot senzorů jako textový soubor (soubor.txt).

Krok 1: Seznam komponent

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

Pojďme dolů, abychom shromáždili vojáky a vytvořili tento úžasný projekt.

  • Arduino Uno (vhodné bude i jakékoli jiné arduino)
  • modul karty micro SD.
  • Modul karty SD (ten, který používám, je 8 GB, doporučujeme použít> = 32 GB)
  • HC05 - Bluetooth modul
  • DHT11 (snímač teploty a vlhkosti)
  • Banda propojek.
  • Telefon s Androidem

Krok 2: Připojení:

Připojení
Připojení

Sestavení a připojení komponent je v polovině projektu hotové. Uvedené produkty jsou snadno dostupné ve většině maloobchodních elektronických obchodů a online webů, jako je Amazon.

Připojení Arduino - HC05 (Bluetooth):

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

Připojení modulu Arduino - SDcard:

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

Připojení Arduino - HC05 (Bluetooth):

  • +5V - Vcc
  • Gnd - Gnd
  • Pin A0 - signál

Krok 3: Postup

Postup
Postup

Propojte všechny části, jak je uvedeno v předchozím kroku, pomocí kterého můžeme do Arduino Ide napsat kód, abychom dosáhli svého cíle.

Druhou částí našeho projektu je nechat aplikaci pro Android zaznamenat hodnoty senzorů, zobrazit hodnoty a uložit je do souboru v mobilu. Použil jsem Thunkable k vytvoření aplikace pro Android a také jsem poskytl apk a aia.

Krok 4: Arduino kód:

Kód Arduino byl uveden a vysvětlen níže.

Arduino kód je většinou samozřejmý s knihovnou karet SD a knihovnou DHT11. Bluetooth používá hardwarové sériové číslo, které je pin0 a pin1 arduina, a proto se přenos bluetooth děje pomocí funkcí Serial print (), které využívají protokol I2C a modul karty SD využívá protokol SPI pro komunikaci s ním.

/*

* SD karta připojená ke sběrnici SPI následovně:

** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 (pro MKRZero SD: SDCARD_SS_PIN) * * Připojení modulu HC 05: ** TX - pin 0 (výchozí) [může být změněno, pokud je používán Softwareserial] ** RX - pin 1 (výchozí) [lze změnit, pokud je používán Softwareserial]

*/

#zahrnout

#include #include

Soubor myFile;

dht DHT; #define DHT11_PIN A0

neplatné nastavení () {

// Otevřete sériovou komunikaci a počkejte, až se port otevře: Serial.begin (9600); Serial.println ("Typ, / tStatus, / tVlhkost (%), / tTeplota (C)"); while (! Serial) {; // počkejte, až se připojí sériový port. Potřebné pouze pro nativní port USB} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

zrušit DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Sériový tisk (DHT. Vlhkost, 1); Serial.print (", / t"); Serial.print (DHT.teplota, 1); zpoždění (2000); }

void sdCardWrite (řetězec fileNameStr)

{Serial.println ("Inicializace karty SD"); if (! SD.begin (4)) {Serial.println ("Inicializace se nezdařila."); vrátit se; } Serial.println („Inicializace dokončena!“); // otevřete soubor. všimněte si, že současně lze otevřít pouze jeden soubor, // takže před otevřením dalšího musíte tento zavřít. myFile = SD.open (fileNameStr, FILE_WRITE); // pokud se soubor otevřel v pořádku, napište do něj: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.vlhkost, 1); myFile.print (", / t"); myFile.print (DHT.temperature, 1); myFile.close (); Serial.println („hotovo!“); zpoždění (200); /*Serial.print("Writing to test.txt … "); myFile.println ("testování 1, 2, 3."); // zavřete soubor: myFile.close (); Serial.println („hotovo“); */} else {// pokud se soubor neotevřel, vytiskněte chybu: Serial.println ("chyba při otevírání test.txt"); }}

void sdCardRead (řetězec název souboru)

{// znovu otevřete soubor pro čtení: myFile = SD.open (název_souboru); if (myFile) {Serial.println ("test.txt:"); // číst ze souboru, dokud v něm není nic jiného: while (myFile.available ()) {Serial.write (myFile.read ()); } // zavřete soubor: myFile.close (); } else {// pokud se soubor neotevřel, vytiskněte chybu: Serial.println ("chyba při otevírání test.txt"); }}

prázdná smyčka () {

// po nastavení se nic neděje //Serial.println("test 1.. 2.. 3 "); // zpoždění (1000); }

Krok 5: Aplikace pro Android:

Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android

Aplikace pro Android byla vytvořena s aplikací Thunkable s programováním drag and drop. Zaznamená data na štítek na obrazovce a po stisknutí tlačítka Uložit data na umístění AppInventor/Data s názvem souboru, kterému byl přidělen kód.

Projekt lze rozšířit tak, aby měl offline úložiště libovolných dat senzorů, které chceme, výměnou za požadované senzorové moduly a aplikaci lze rozšířit o načítání dat z úložiště a manipulaci tak, aby vyhovovaly aplikaci.

Doporučuje: