Obsah:
- Krok 1: Čo budete potrebovať:
- Krok 2: Pripojte Arduino k DHT11
- Krok 3: Stiahnite si Arduino IDE
- Krok 4: Pripojte Arduino k počítaču
- Krok 5: Načítajte knižnicu
- Krok 6: Získajte kód Arduino
- Krok 7: Načítajte kód do Arduina
- Krok 8: Stiahnutie a nainštalovanie spracovania
- Krok 9: Spracovanie kódu
- Krok 10: Spracovanie súborov s kódom
- Krok 11: Písmo pri spracovaní
- Krok 12: Dokončenie
- Krok 13: Riešenie problémov
Video: Zobrazenie teploty a vlhkosti a zber údajov pomocou Arduina a spracovania: 13 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Ú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ť:
Č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
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 a nainštalujte ho do počítača
www.arduino.cc/en/Main/Software
Krok 4: 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 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
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
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
- Knižnica "DHTlib" nebola skopírovaná správne
- Port COM nie je správne nastavený
- Senzor nebol správne pripojený
- 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
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
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í
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
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
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:
DIY zobrazenie teploty na LCD obrazovke pomocou Arduina: 10 krokov
DIY zobrazenie teploty na LCD obrazovke pomocou Arduina: V tomto projekte urobíme obvod s použitím niektorých komponentov, ako je Arduino, teplotný senzor, atď. V tomto obvode sa bude stupeň zobrazovať nepretržite na LCD, je tam 100 milisekundové oneskorenie medzi pohľadom na nový stupeň na
Programovanie Arduina pomocou iného Arduina na zobrazenie posúvajúceho sa textu bez knižnice: 5 krokov
Programovanie Arduina pomocou iného Arduina na zobrazenie posúvajúceho sa textu bez knižnice: Sony Spresense alebo Arduino Uno nie sú také drahé a nevyžadujú veľa energie. Ak má však váš projekt obmedzenie výkonu, priestoru alebo dokonca rozpočtu, mali by ste zvážiť použitie Arduino Pro Mini. Na rozdiel od Arduino Pro Micro, Arduino Pro Mi
Flappy Bird pomocou Arduina a spracovania: 5 krokov
Flappy Bird pomocou Arduina a spracovania: Ahoj všetci !!! Vitajte v novom projekte založenom na Arduine. Všetci sme raz v živote hrali hru flappy bird. Ako to, že ho hráme na počítači PC a ovládame ho pomocou nášho Arduina ?? Postupujte podľa všetkých nižšie uvedených krokov a do konca tohto tutoriálu
Zobrazenie údajov senzora pomocou obrazovky LCD: 5 krokov
Zobrazenie údajov senzora pomocou obrazovky LCD: V tomto projekte musíme zobraziť údaje z 2 senzorov na obrazovke s Arduino. Aplikácia tohto projektu je monitorovanie vlhkosti a teploty v skleníku
Zobrazenie teploty na LED displeji modulu P10 pomocou Arduina: 3 kroky (s obrázkami)
Teplota displeja na LED displeji modulu P10 pomocou Arduina: V predchádzajúcom tutoriáli bolo povedané, ako zobrazovať text na module Dot Matrix LED Display P10 pomocou konektora Arduino a DMD, ktorý môžete skontrolovať tu. V tomto návode poskytneme jednoduchý návod k projektu s využitím modulu P10 ako zobrazovacieho