Obsah:

Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania: 13 krokov (s obrázkami)
Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania: 13 krokov (s obrázkami)

Video: Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania: 13 krokov (s obrázkami)

Video: Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania: 13 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, November
Anonim
Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania
Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania

Úvod: Toto je projekt, ktorý používa dosku Arduino, snímač (DHT11), počítač so systémom Windows a program Processing (bezplatne stiahnuteľný) na zobrazenie údajov o teplote, vlhkosti v digitálnom a stĺpcovom grafe, zobrazenie času a dátumu a spustenie počítania. časovač up počas programu a zaznamenávať všetky údaje do formátu.csv, keď je program ukončený.

Inšpirácia:

Najprv MUSÍM povedať, že som úplný začiatočník a veľa som sa z tohto projektu naučil. Preto sa pokúšam napísať tento návod, aby ho prečítal a porozumel mu úplný začiatočník.

Videl som rôzne projekty Arduino na meranie teploty a vlhkosti, ale chcel som program, ktorý:

1) Nameraná teplota a vlhkosť

2) Údaje sa zobrazili v grafe (vybral som stĺpcový graf) aj v digitálnej forme

3) Má funkciu hodín

4) Má odpočítavanie časovača „Run Time“

5) Uloží tieto údaje do formátu súboru.csv (excel).

Inšpiroval som sa programami, ktoré vytvorili Sowmith Mandadi, R-B a aaakash3, ale žiadny z nich nebol presne to, čo som chcel. Naučil som sa napísať nejaký základný kód a vyrobil som si, čo som chcel.

Krok 1: Čo budete potrebovať:

Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať

Časti a materiál:*Počítač - Použil som počítač s operačným systémom Windows Windows 10

(Som si istý, že je možné použiť Linux alebo Mac, ale nemám ani jeden, takže nebudem hovoriť o tom, ako používať tieto operačné systémy.)

*Doska Arduino - Použil som dosku Arduino Uno, ale postačí akákoľvek doska Arduino s USB

*Kábel USB -Kábel USB A/B -rovnaký ako starý „kábel pre tlačiareň“(obvykle sa dodáva s doskou Arduino)

*Snímač teploty /vlhkosti DHT 11- lacný od 4 do 8 dolárov

(Poznámka: Existujú 2 verzie, ktoré som použil s 3 -pinovou verziou, 4 -pinová verzia bude vyžadovať použitie nepájivej dosky a 10K rezistora, 3 -pólový má dosku s plošnými spojmi, ktorá obsahuje 10K odpor) pozri Fritzingove diagramy v ďalších krokoch

*Pripojovacie vodiče

Dupontové vodiče (dvojité vnútorné konce), ak sa pripájajú k 3 -kolíkovému DHT11 bez nepájivej dosky

Štandardné prepojovacie M/F vodiče (jeden koniec samec na jednom konci samica) a M/M prepojovacie káble (oba konce samec) na pripojenie 4 -pinového DHT11 - ďalšie informácie nájdete v kroku 2.

*Arduino IDE - program na písanie programov Arduino (nazývaných náčrty) zadarmo @

www.arduino.cc/en/Main/Software

*Processing - program na písanie skíc na spracovanie zadarmo @

processing.org/download/

* Súbor „DHTLib“-súbor knižnice (je to súbor, ktorý sa vloží do programu Arduino IDE v priečinku s názvom „Knižnica“, ktorý bude potrebné pridať do náčrtu Arduino, aby mohol Arduino čítať údaje z DHT11 -pozri krok 5 pre stiahnutie súboru a pokynov

Krok 2: Pripojte Arduino k DHT11

Pripojte Arduino k DHT11
Pripojte Arduino k DHT11
Pripojte Arduino k DHT11
Pripojte Arduino k DHT11
Pripojte Arduino k DHT11
Pripojte Arduino k DHT11
Pripojte Arduino k DHT11
Pripojte Arduino k DHT11

Najprv zistite, ktorý DHT11 máte

Použil som 3 -pinový, pretože už má potrebný 10K odpor.

Ak máte 4 kolíky, budete potrebovať 10K odpor a nepájivú dosku

Pripojte DHT11 k doske Arduino. Tento program požaduje, aby bol signálny kolík DHT 11 pripojený k pinu Arduino č. 7, pól Pos (+) pripojený k 5V na Arduino a Neg (-) k GND na Arduino.

Pozrite si diagramy a zmrazovacie diagramy

Krok 3: Stiahnite si Arduino IDE

Stiahnite si Arduino IDE
Stiahnite si Arduino IDE

Stiahnite si Arduino IDE a nainštalujte ho do počítača

www.arduino.cc/en/Main/Software

Krok 4: Pripojte Arduino k počítaču

Pripojte Arduino k počítaču
Pripojte Arduino k počítaču

Nainštalujte Arduino IDE, aby malo ovládače pre pripojenie Arduino USB.

Pripojte Arduino k počítaču pomocou USB.

Počkajte, kým počítač nerozpozná dosku Arduino a nainštalujte všetky ovládače.

Otvorte program IDE a skontrolujte sériové pripojenie.

Ak sa doska Arduino nezobrazí v porte Nástroje> (červený kruh), zatvorte IDE a znova ho otvorte.

* Dôležité* akonáhle je IDE otvorené a doska Arduino je pripojená cez USB. Doska Arduino musí byť pripojená k správnemu sériovému portu. Na počítačoch so systémom Windows sa to nazýva COM port. V IDE to urobíte tak, že prejdete na Nástroje> Port:> Sériové porty. Ako je znázornené na obrázku, sériový port (červený kruh) sa musí zhodovať s portom uvedeným v pravom dolnom rohu programu IDE (žltý kruh).

Krok 5: Načítajte knižnicu

Načítajte knižnicu
Načítajte knižnicu
Načítajte knižnicu
Načítajte knižnicu
Načítajte knižnicu
Načítajte knižnicu
Načítajte knižnicu
Načítajte knižnicu

Načítajte knižnicu pre DHT11. Na začiatku to bolo mätúce, ale je to celkom jednoduché.

Stiahnite si súbor s názvom „DHTLib“a rozbaľte ho. Skopírujte rozbalený súbor „DHTLib“.

Referenciu na túto knižnicu nájdete na:

playground.arduino.cc/Main/DHTLib

(Napísal to Rob Tillaart na základe práce ostatných)

Nájdite v počítači priečinok Arduino a otvorte ho. (Bude to kdekoľvek, kde si stiahnete IDE a nainštalujete ho do počítača)

Pozri diagram

Nájdite súbor s názvom „knižnice“, otvorte ho a potom prilepte priečinok „DHTLib“do súboru „knižnice“. Zatvorte ho a potom reštartujte IDE.

Pozri diagram

Keď sa IDE znova otvorí, môžete skontrolovať, či je nainštalovaná knižnica DHT. Skica> Zahrnúť knižnicu.

Pozri diagram

Poznámka Kliknutím na DHTLib na karte „zahrnúť knižnicu“umiestnite knižnicu do kódu Arduino ako „#include dht.h“.

Nemusíte to robiť, pretože je to už v kóde, ktorý si stiahnete v nasledujúcom kroku.

Krok 6: Získajte kód Arduino

Získajte kód Arduino
Získajte kód Arduino

Prevezmite súbor Temp_Hum_Instructable.zip a rozbaľte ho. Otvorte Temp_Hum_Instructable.ino s Arduino IDE.

Alternatívne sa pozrite na nasledujúci kód a skopírujte a prilepte alebo zadajte presne do IDE Arduino:

#zahrnúť

dht DHT; #define DHT11PIN 7 // nastaví pin 7 pre pripojenie signálu DHT11 void setup () {Serial.begin (9600); // otvorí serial} void loop () {int chk = DHT.read11 (DHT11PIN); // číta DHT11 Serial.print (DHT.temperature, 0); // vytlačí temp v serial Serial.print (","); // vytlačí čiarku v sériovom Serial.print (DHT.humidity, 0); // vytlačí vlhkosť v sériovom Serial.println (); // oneskorenie návratu vozíka (2000); // počkajte 2 sekundy}

Keď budete hotoví, malo by to vyzerať ako na obrázku vyššie

Krok 7: Načítajte kód do Arduina

Načítajte kód do Arduina
Načítajte kód do Arduina
Načítajte kód do Arduina
Načítajte kód do Arduina
Načítajte kód do Arduina
Načítajte kód do Arduina
Načítajte kód do Arduina
Načítajte kód do Arduina

Náčrt najskôr uložte na miesto a s názvom, ktoré si zapamätáte, Príklad: Temp_Hum.

Ďalej musíte načítať náčrt na dosku Arduino stlačením tlačidla šípky smerujúceho doprava (nahrať).

Pozri diagram

Bude to trvať niekoľko sekúnd; vpravo dole uvidíte ukazovateľ priebehu.

Potom uvidíte: Odovzdávanie správy v ľavom dolnom rohu a biely text v spodnej časti IDE, ktoré vám hovorí o pamäti, bolo dokončené.

Pozri diagram

Ak dostanete chybový kód (oranžový text v spodnej časti IDE), mal by to byť jeden z nasledujúcich kódov

  1. Knižnica "DHTlib" nebola skopírovaná správne
  2. Port COM nie je správne nastavený
  3. Senzor nebol správne pripojený
  4. Kód nebol správne vložený do IDE. Oranžový text je možné posúvať a poskytne informácie o tom, kde je chyba. Vráťte sa a skontrolujte, či je to pravdepodobne jednoduchá chyba.

Akonáhle to urobíte, pozorne sa pozrite na svoju dosku Arduino. Každých pár sekúnd začne blikať malá dióda LED vedľa písmen „TX“. Toto je Arduino, ktoré odosiela informácie späť do počítača. Ak to chcete skontrolovať, kliknite na malý symbol lupy v pravom hornom rohu IDE.

Pozri diagram

Tým sa otvorí sériový monitor a zobrazia sa údaje o teplote a vlhkosti oddelené čiarkou. Všimnite si toho, že údaje o teplote sú uvedené v stupňoch Celzia. To je v poriadku, neskôr prevedieme na Fahrenheit (alebo nie, ak ste sa rozhodli).

Pozri diagram

Potom zatvorte sériový monitor a potom zatvorte IDE. (Nezabudnite, že ste to uložili, však?). Teraz sa znova pozrite na dosku Arduino (neodpájajte ju od USB, z ktorého napája, a neposielajte údaje na sériový port v počítači). Stále bliká? Áno, skvelé. Akonáhle je program načítaný do Arduina, bude bežať, pokiaľ má napájanie.

Poznámka o kóde: ak sa pozriete na kód Arduino začínajúci na „void loop ();“. Nasledujúcich 5 riadkov kódu oznámi Arduinu, aby prečítal údaje z DHT a vytlačil ich na sériovú zbernicu oddelenú čiarkou. Ďalší riadok „Oneskorenie (2000);“hovorí Arduinu, aby počkal 2 sekundy (2 000 milisekúnd), aby boli údaje prijaté každé 2 sekundy. Potom sa vráti späť na „void loop ();“- príkaz, ktorý povie Arduinu, aby to urobil znova. Zmenou hodnoty v riadku oneskorenia sa zmení frekvencia prijímania údajov. Príklad: zmena na (600000) sa zmení na 10 minút (600 000 milisekúnd = 10 minút). Prijímanie údajov každé 2 sekundy znamená veľa údajov, takže teraz viete, ako zmeniť frekvenciu čítania údajov. Nezabudnite, že ak neskôr zmeníte hodnotu, musíte nahrať nový program.

Dobre, sadnite si a nadýchnite sa, ste viac ako v polovici cesty. Áno !!

Krok 8: Stiahnutie a nainštalovanie spracovania

Stiahnite a nainštalujte spracovanie
Stiahnite a nainštalujte spracovanie
Stiahnite a nainštalujte spracovanie
Stiahnite a nainštalujte spracovanie

processing.org/download/

Celkom rovno zvoľte program, ktorý zodpovedá vášmu počítaču pre Windows 64bit vs. 32 bit. Ak neviete, otvorte na počítači Ovládací panel (zobrazenie ikon, nie zobrazenie kategórií) a prejdite do systému, tam bude uvedený.

Pozri diagram

Stiahnite si a potom nainštalujte program.

Pri prvom otvorení a spustení spracovania pravdepodobne dostanete bezpečnostnú správu Java. Pre súkromné siete kliknite na „povoliť“. Java je počítačový jazyk, ktorý používa Processing (a Arduino IDE). Je zaujímavé, že som nikdy nemal správu o zabezpečení s Arduino IDE, iba spracovanie.

Krok 9: Spracovanie kódu

Spracovateľský kód
Spracovateľský kód

Teraz OK pre spracovávací kód.

Bola to pre mňa najnáročnejšia časť, ale zároveň aj najväčšia príležitosť učiť sa. Kým kód Arduino mal 20 riadkov, tento kód má +/- 270 riadkov v hlavnom kóde a ďalších 70 + v triedach.

Prvá vec, ktorú by ste si mali položiť, je „Čo sú triedy?“. Dobrá otázka. Toto sa týka objektovo orientovaného programovania. Stručne povedané, v hlavnom kóde sa deje veľa vecí: definovanie veľkosti a farby displeja, hodiny, časovač, kód na zobrazenie polohy kurzora, kód na uloženie údajov do súboru.csv a niekoľko riadkov ktoré sa zaoberajú kódom, ktorý zobrazuje stĺpcové grafy. Aj keď Arduino IDE mal všetok kód na jednej stránke, tento kód spracovania má tri karty. Prvý je hlavný kód a ďalšie dva sú kód, ktorý zobrazuje stĺpcové grafy. (Tento kód je v skutočnosti uložený v troch samostatných súboroch v priečinku Processing code.) Jednotlivé karty sa nazývajú „triedy“a sú definované v riadkoch 48 a 56 a potom sú zobrazené v riadkoch 179-182 hlavného kódu. Ľudia, ktorí napísali program Processing, to nazývajú objektovo orientované programovanie. (krátky popis nájdete na

V zásade to, čo triedy (Recta1, Recta2) v tomto kóde robia, je vytváranie obdĺžnikov, ktoré sa pohybujú hore a dole na základe údajov prijatých z DHT11 cez sériové číslo. Myslite na staromódny teplomer, čím vyššia je ortuť, tým je teplejšia, ale to sa robí pomocou údajov, nie ortuti. V skutočnosti triedy vytvoria štyri obdĺžniky, dva statické obdĺžniky, ktoré predstavujú pozadie teplomera, a dva dynamické obdĺžniky, ktoré reagujú na údaje a pohybujú sa hore a dole. Okrem pohybu obdĺžnikov kód tiež mení farbu dynamického obdĺžnika a farbu digitálneho zobrazenia teplôt a vlhkosti na základe údajov, ktoré sú prijímané sériovo.

Krok 10: Spracovanie súborov s kódom

Niekoľko základných informácií o spracovaní kódu:

Vrelo odporúčam prečítať si Make: Getting Started withProcessing od Casey Reas a Ben Fry, zakladateľov Processing.

processing.org/books/#reasfry2

Nebudem sa pokúšať vysvetliť všetky aspekty spracovania alebo písania kódu na spracovanie. Ako som už povedal, som začiatočník a myslím si, že existujú oveľa lepší ľudia, od ktorých sa dá učiť. Rozumiem však kódu, ktorý som napísal (pokus -omyl sú dobrí učitelia).

1. Najprv musíte zahrnúť knižnice (rovnako ako v Arduine) a deklarovať premenné (riadky 1-25)

2. Ďalej nastavte dosku displeja (riadky 27-63)

3. Spustite opakovanú časť kódu- myslím tým, že táto časť kódu sa bude opakovať, pokiaľ je program spustený. V Arduine si budete pamätať „prázdnu slučku ();“(Krok 6). Pri spracovaní je to teraz „neplatné čerpanie ();“(Riadky 65-184)

4. Ďalej je získanie údajov zo sériového portu a ich priradenie k premenným (int, float, String)

int-

plavák-

Reťazec-

(Riadky 185-245)

4. Posledný spôsob, ako ukončiť program a uložiť údaje (riadky 246-271)

Ok: Stiahnite si súbor Temp_Hum_F_3_2 (pre Fahrenheit)

Alebo Temp_Hum_C_3_1 (pre stupne Celzia)

a rozbaľte súbor. Otvoriť pomocou spracovania.

Krok 11: Písmo pri spracovaní

Písmo pri spracovaní
Písmo pri spracovaní

Dôležité: Upozorňujeme na linky 36-37

36 font = loadFont ("SourceCodePro-Bold-48.vlw"); // načíta písmo uložené v dátach

priečinok 37 textFont (písmo);

Táto knižnica písem "SourceCodePro-Bold-48.vlw" je súčasťou sťahovania súborov spracovania a nie je potrebné, aby fungovala.

Ak však chcete zmeniť písmo na niečo iné, budete musieť načítať nové písmo do skice spracovania a nahradiť „SourceCodePro-Bold-48.vlw“novým písmom.

. Našťastie spracovanie urobilo prvú časť veľmi jednoduchou.

Najprv otvorte skicu a potom kliknite na:

Nástroje> Vytvoriť písmo

toto vyvolá okno

Pozri diagram

Prejdite nadol na požadované nové písmo, kliknite naň a potom kliknite na tlačidlo OK. Písmo bolo teraz načítané do priečinka skici.

Potom nahraďte text „SourceCodePro-Bold-48.vlw“presným názvom nového písma (vrátane formátu súboru.vlw)

Ak sa tak nestane, nové písmo sa do kódu nenačíta a kód spôsobí chyby (Rovnako ako chyby v Arduino- v čiernom poli v spodnej časti programu).

Krok 12: Dokončenie

Dokončenie
Dokončenie
Dokončenie
Dokončenie
Dokončenie
Dokončenie
Dokončenie
Dokončenie

Program Processing spustíte kliknutím na šípku, môže sa vám zobraziť upozornenie Java, Kliknite na: Povoliť prístup.

Pozri diagram

OK, fungoval program? Ak je to tak, dostanete zobrazenie, ako je vidieť na diagrame.

(Nie? Pozrite si riešenie problémov v nasledujúcom kroku)

Áno? Teraz skúste držať DHT11 v zatvorenej dlani alebo umiestniť pod prúd teplého vzduchu sušiča vlasov. Čísla by sa mali zmeniť. Áno? Skvelé. to znamená, že všetko funguje dobre.

Ak chcete program zavrieť a uložiť údaje, kliknite na pole „Kliknutím sem zavriete a uložíte údaje“.

Teraz, ak chcete nájsť uložené údaje, prejdite do priečinka na spracovanie Temp_Hum_F_3_1 alebo Temp_Hum_C_3_1 (toto by ste už mali nájsť sami), otvorte ho a nájdite priečinok s údajmi. Otvorte toto a mal by sa vám zobraziť súbor.csv pomenovaný podľa dátumu a času, kedy ste program ukončili (Príklad 1-10-18--22-30-16.csv znamená 10. januára 2018 22:30:16). Otvorte to v programe Excel (alebo v ekvivalente tabuľky Open Office). Mali by ste vidieť niečo ako diagram. Stĺpce pre dátum, čas, čas chodu, teplotu a vlhkosť s údajmi. Teraz môžete údaje graficky znázorniť v programe Excel alebo v čomkoľvek, čo s nimi chcete robiť. (Poznámka: Ak sa pozriete na prvý údaj, údaje o teplote a vlhkosti nie sú správne, je to normálne a ide len o chybu pri prvom spustení programu.)

Dobre áno !!!!!!

Urobil si to

Ak máte akékoľvek otázky, pošlite mi ich, pokúsim sa vám pomôcť a pomôcť.

Ďakujem, že ste pri tom zostali a veľa šťastia. Dúfam, že je to len začiatok ….

Ďalej pre mňa Bluetooth a prípadne Android….

Krok 13: Riešenie problémov

Riešenie problémov
Riešenie problémov
Riešenie problémov
Riešenie problémov

Problémy s Arduino

Ak dostanete chybový kód (oranžový text v spodnej časti IDE), mal by to byť jeden z nasledujúcichKnižnica „DHTlib“nebola skopírovaná správne

Port COM nie je správne nastavený

Senzor nebol správne pripojený

Kód nebol správne načítaný do IDE

Ak sa zdá, že všetko Arduino je v poriadku, otvorte sériový monitor a skontrolujte, či sa zobrazujú údaje

Ak vidíte správne údaje, znamená to, že strana Arduino funguje- Pamätajte si, že pred spustením spracovania zatvorte sériový monitor, ak je sériový monitor otvorený, spracovanie nemôže čítať údaje.

Problémy so spracovaním:

Tie sa zobrazia v spodnej časti programu Processing.

Ak sa zobrazí chyba pri popise „písma“, vráťte sa ku kroku 11 a načítajte písmo podľa popisu.

Ak sa zobrazí chyba, ktorá vyzerá takto: Chyba, deaktivácia serialEvent () pre COM4 null- reštartujte skicu spracovania kliknutím na šípku ako v kroku 12.

Ak sa zobrazí chyba, ktorá uvádza: Chyba pri otváraní sériového portu- skúste zmeniť riadky 32-34 na niečo, kde sa „COM4“zhoduje s portom COM vo vašej skici Arduino

myPort = newSerial (this, "COM4", 9600); // Port myPort.bufferUntil ('\ n') // počkajte, kým seriál obsahuje údaje

Odporúča: