Obsah:
- Krok 1: Co budete potřebovat:
- Krok 2: Připojte Arduino k DHT11
- Krok 3: Stáhněte si Arduino IDE
- Krok 4: Připojte Arduino k počítači
- Krok 5: Načtěte knihovnu
- Krok 6: Získejte kód Arduino
- Krok 7: Načtěte kód do Arduina
- Krok 8: Stažení a instalace zpracování
- Krok 9: Zpracování kódu
- Krok 10: Zpracování souborů kódu
- Krok 11: Písmo ve zpracování
- Krok 12: Dokončení
- Krok 13: Odstraňování problémů
Video: Zobrazení teploty a vlhkosti a sběr dat pomocí Arduina a zpracování: 13 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Úvod: Jedná se o projekt, který využívá desku Arduino, senzor (DHT11), počítač se systémem Windows a program Processing (volně ke stažení) k zobrazení údajů o teplotě, vlhkosti v digitálním a sloupcovém grafu, zobrazení času a data a spuštění počítání. up timer během programu a zaznamenávat všechna data do formátu.csv, když je program ukončen.
Inspirace:
Nejprve MUSÍM říct, že jsem úplný začátečník a hodně jsem se od tohoto projektu naučil. Pokouším se tedy napsat tento Instructable, aby jej mohl přečíst a pochopit úplný začátečník.
Viděl jsem různé projekty Arduino na měření teploty a vlhkosti, ale chtěl jsem program, který:
1) Naměřená teplota a vlhkost
2) Data se zobrazují jak v grafu (vybral jsem sloupcový graf), tak v digitální podobě
3) Má funkci hodin
4) Má odpočítávací časovač „Run Time“
5) Uloží tato data do formátu souboru.csv (excel).
Měl jsem inspiraci z programů vytvořených Sowmith Mandadi, R-B a aaakash3, ale žádný z nich nebyl přesně to, co jsem chtěl. Naučil jsem se tedy napsat nějaký základní kód a udělal si, co jsem chtěl.
Krok 1: Co budete potřebovat:
Části a materiály:*Počítač - Použil jsem operační systém Windows 10
(Jsem si jistý, že lze použít Linux nebo Mac, jen nemám, takže nebudu popisovat, jak tyto operační systémy používat)
*Deska Arduino - Použil jsem desku Arduino Uno, ale každá deska Arduino s USB bude stačit
*USB kabel -USB A/B kabel -stejný jako starý typ „tiskového kabelu“(obvykle se dodává s deskou Arduino)
*Snímač teploty /vlhkosti DHT 11- levný $ 4 až 8
(Poznámka: existují 2 verze, které jsem použil ve verzi se 3 piny, verze se 4 piny bude vyžadovat použití nepájivého pole a 10K odporu, 3pinový má desku s plošnými spoji, která obsahuje odpor 10 K) viz Fritzingova schémata v dalších krocích
*Připojovací vodiče
Dupontovací vodiče (dvojité vnitřní konce), pokud se připojují k 3 pinovému DHT11 bez nepájivého pole
Standardní propojovací M/F vodiče (jeden konec samec jeden konec žena) a M/M propojovací vodiče (oba konce samec) pro připojení 4 pinů DHT11 - viz krok 2 pro více informací
*Arduino IDE - program pro psaní programů Arduino (tzv. Skic) zdarma @
www.arduino.cc/en/Main/Software
*Processing - program pro psaní skic pro zpracování zdarma @
processing.org/download/
* Soubor „DHTLib“-soubor knihovny (jedná se o soubor, který jde do programu Arduino IDE ve složce nazvané „Library“, toto bude nutné přidat do skici Arduino, než bude Arduino moci číst data z DHT11 -viz. krok 5 pro stažení souboru a pokynů
Krok 2: Připojte Arduino k DHT11
Nejprve určete, který DHT11 máte
Použil jsem 3 pin, protože již má potřebný odpor 10K.
Pokud máte 4 pin, budete potřebovat 10K odpor a nepájivou desku
Připojte DHT11 k desce Arduino. Tento program vyžaduje, aby byl signální pin DHT 11 připojen k pinu Arduino #7, pinu Pos (+) připojen k 5V na Arduino a Neg (-) k GND na Arduino.
Viz Diagramy a Fritzingovy diagramy
Krok 3: Stáhněte si Arduino IDE
Stáhněte si Arduino IDE a nainstalujte do počítače
www.arduino.cc/en/Main/Software
Krok 4: Připojte Arduino k počítači
Nejprve nainstalujte Arduino IDE, které obsahuje ovladače pro připojení Arduino USB.
Připojte Arduino k počítači přes USB.
Počkejte, až počítač rozpozná desku Arduino a nainstalujte všechny ovladače.
Otevřete program IDE a zkontrolujte sériové připojení.
Pokud se deska Arduino nezobrazí v portu Nástroje> port (červený kruh), zavřete IDE a znovu otevřete.
* Důležité* jakmile je IDE otevřeno a deska Arduino je připojena přes USB. Deska Arduino musí být připojena ke správnému sériovému portu. Na počítačích se systémem Windows se tomu říká COM port. Chcete -li to provést v IDE, přejděte na Nástroje> Port:> Sériové porty. Jak je vidět na obrázku, sériový port (červený kruh) se musí shodovat s portem uvedeným v pravém dolním rohu programu IDE (žlutý kruh).
Krok 5: Načtěte knihovnu
Načtěte knihovnu pro DHT11. Zpočátku to pro mě bylo matoucí, ale je to opravdu docela jednoduché.
Stáhněte si soubor s názvem „DHTLib“a rozbalte jej. Zkopírujte rozbalený soubor „DHTLib“.
Odkaz na tuto knihovnu lze nalézt na:
playground.arduino.cc/Main/DHTLib
(Napsal to Rob Tillaart na základě práce ostatních)
Najděte v počítači složku Arduino a otevřete ji. (Bude všude tam, kde jste si stáhli IDE a nainstalovali jej do počítače)
Viz diagram
Najděte soubor s názvem „knihovny“, otevřete jej a poté vložte složku „DHTLib“do souboru „knihovny“. Zavřete jej a restartujte IDE.
Viz diagram
Jakmile se IDE znovu otevře, můžete zkontrolovat, zda byla nainstalována knihovna DHT. Skica> Zahrnout knihovnu.
Viz diagram
Poznámka Kliknutím na DHTLib na kartě „zahrnout knihovnu“umístíte knihovnu do kódu Arduino jako „#include dht.h“.
Nemusíte to dělat, protože je to již v kódu, který si stáhnete v dalším kroku.
Krok 6: Získejte kód Arduino
Stáhněte soubor Temp_Hum_Instructable.zip a rozbalte jej. Otevřete Temp_Hum_Instructable.ino pomocí Arduino IDE.
Alternativně se podívejte na následující kód a zkopírujte a vložte nebo zadejte přesně do Arduino IDE:
#zahrnout
dht DHT; #define DHT11PIN 7 // nastaví pin 7 pro připojení signálu DHT11 neplatné nastavení () {Serial.begin (9600); // otevře serial} void loop () {int chk = DHT.read11 (DHT11PIN); // čte DHT11 Serial.print (DHT.temperature, 0); // vytiskne temp v serial Serial.print (","); // vytiskne čárku v sériovém Serial.print (DHT.humidity, 0); // vytiskne vlhkost v sériovém Serial.println (); // zpoždění návratu vozíku (2000); // počkejte 2 sekundy}
Až budete hotovi, mělo by to vypadat jako výše uvedený diagram
Krok 7: Načtěte kód do Arduina
Nejprve uložte skicu na místo a se jménem, které si budete pamatovat, Příklad: Temp_Hum.
Dále musíte načíst skicu na desku Arduino stisknutím tlačítka šipka směřující doprava (nahrát).
Viz diagram
To bude trvat několik sekund; vpravo dole uvidíte ukazatel průběhu.
Poté uvidíte: Dokončeno nahrávání zprávy v levém dolním rohu a bílý text ve spodní části IDE, který vám říká o paměti
Viz diagram
Pokud se zobrazí chybový kód (oranžový text v dolní části IDE), měl by to být jeden z následujících
- Knihovna "DHTlib" nebyla zkopírována správně
- Port COM není správně nastaven
- Senzor nebyl správně připojen
- Kód nebyl správně načten do IDE. Oranžový text lze procházet a poskytne vodítko k tomu, co je špatně. Vraťte se a zkontrolujte, zda je to pravděpodobně jednoduchá chyba.
Jakmile to uděláte, podívejte se pozorně na desku Arduino. Každých pár sekund bude blikat malá LED vedle písmen „TX“. Toto je Arduino, které odesílá informace zpět do počítače. Chcete -li to zkontrolovat, klikněte na malý symbol lupy v pravém horním rohu IDE.
Viz diagram
Tím se otevře sériový monitor a zobrazí se údaje o teplotě a vlhkosti oddělené čárkou. Všimněte si, že údaje o teplotě jsou uvedeny ve stupních Celsia. To je v pořádku, převedeme na Fahrenheit později (nebo ne, pokud jste si vybrali).
Viz diagram
Dále zavřete sériový monitor a poté zavřete IDE. (Nezapomněli jste to uložit, že?). Nyní se znovu podívejte na desku Arduino (neodpojujte ji od USB, kde získává energii, a odesílejte data na sériový port v počítači). Stále bliká? Ano, skvělé. Jakmile je program načten do Arduina, poběží, dokud má energii.
Poznámka ke kódu: když se podíváte na kód Arduino začínající na „void loop ();“. Dalších 5 řádků kódu řekne Arduinu, aby přečetl data z DHT a vytiskl je na sériovou sběrnici oddělenou čárkou. Další řádek „zpoždění (2000);“říká Arduinu, aby počkal 2 sekundy (2 000 milisekund), aby byla data přijímána každé 2 sekundy. Poté se vrátí zpět na „void loop ();“- příkaz, který řekne Arduinu, aby to udělal znovu. Změna hodnoty v řádku zpoždění změní, jak často jsou data přijímána. Příklad: změna na (600000) se změní na 10 minut (600 000 milisekund = 10 minut). Přijímání dat každé 2 sekundy skončí jako spousta dat, takže nyní víte, jak změnit, jak často se data čtou. Nezapomeňte, že pokud hodnotu změníte později, budete je třeba nahrát nový program.
Dobře, posaďte se a nadechněte se, jste více než v polovině cesty. Ano!!
Krok 8: Stažení a instalace zpracování
processing.org/download/
Docela přímočarě vyberte program, který odpovídá vašemu počítači pro Windows 64bit vs. 32 bit. Pokud nevíte, otevřete na počítači Ovládací panel (zobrazení ikon není zobrazení kategorií) a přejděte do systému, tam bude uveden.
Viz diagram
Stáhněte a nainstalujte program.
Při prvním otevření a spuštění zpracování pravděpodobně dostanete bezpečnostní zprávu Java. U soukromých sítí klikněte na „povolit“. Java je počítačový jazyk používaný Processing (a Arduino IDE). Zajímavé je, že jsem nikdy nedostal bezpečnostní zprávu s Arduino IDE, jen Processing.
Krok 9: Zpracování kódu
Nyní OK pro zpracovávací kód.
To byla pro mě nejnáročnější část, ale také největší příležitost pro učení. Zatímco kód Arduino byl 20 řádků, tento kód má +/- 270 řádků v hlavním kódu a dalších 70 + ve třídách.
První věc, na kterou byste se měli zeptat, je „Co jsou to kurzy?“. Dobrá otázka. To se týká objektově orientovaného programování. Stručně řečeno, v hlavním kódu se děje spousta věcí: definování velikosti a barvy displeje, hodiny, časovač, kód pro zobrazení polohy kurzoru, kód pro uložení dat do souboru.csv a několik řádků které se zabývají kódem, který zobrazuje sloupcové grafy. Zatímco Arduino IDE mělo veškerý kód na jedné stránce, tento kód pro zpracování má tři karty. První je hlavní kód a další dva jsou kód, který zobrazuje sloupcové grafy. (Tento kód je ve skutečnosti uložen ve třech samostatných souborech ve složce Zpracovávající kód.) Samostatné karty se nazývají „třídy“a jsou definovány v řádcích 48 a 56 a poté zobrazeny řádky 179-182 hlavního kódu. Lidé, kteří napsali program Processing, nazývají toto objektově orientované programování. (krátký popis viz:
Třídy (Recta1, Recta2) v tomto kódu v zásadě vytvářejí obdélníky, které se pohybují nahoru a dolů na základě dat přijatých z DHT11 přes sériové číslo. Myslete na staromódní teploměr, čím výše rtuť stoupá, tím je teplejší, ale to se děje pomocí dat, nikoli rtuti. Ve skutečnosti třídy vytvářejí čtyři obdélníky, dva statické obdélníky, které představují pozadí teploměru, a dva dynamické obdélníky, které reagují na data a pohybují se nahoru a dolů. Kromě přesouvání obdélníků kód mění barvu dynamického obdélníku a barvu digitálního zobrazení teploty a vlhkosti na základě dat přijímaných sériově.
Krok 10: Zpracování souborů kódu
Jen několik základních informací o zpracování kódu:
Vřele doporučuji přečíst si Make: Getting Started withProcessing od Casey Reas a Ben Fry, zakladatelů Processing.
processing.org/books/#reasfry2
Nebudu se pokoušet vysvětlit všechny aspekty zpracování nebo psaní kódu pro zpracování. Jak jsem řekl dříve, jsem začátečník a myslím si, že existují mnohem lepší lidé, od kterých se lze učit. Rozumím však kódu, který jsem napsal (pokus a omyl jsou dobří učitelé).
1. Nejprve musíte zahrnout knihovny (stejně jako v Arduinu) a deklarovat proměnné (řádky 1-25)
2. Dále nastavte desku displeje (řádky 27–63)
3. Spusťte opakovanou část kódu- mám na mysli to, že tato část kódu se bude opakovat, dokud je program spuštěn. V Arduinu si budete pamatovat „void loop ();“(Krok 6). Ve zpracování je to nyní „void draw ();“(Řádky 65-184)
4. Další je získání dat ze sériového portu a jejich přiřazení proměnným (int, float, String)
int-
plovák-
Tětiva-
(Řádky 185-245)
4. Poslední způsob, jak zavřít program a uložit data (řádky 246-271)
Dobře: Stáhněte si soubor Temp_Hum_F_3_2 (pro Fahrenheit)
Nebo Temp_Hum_C_3_1 (pro Celsia)
a rozbalte soubor. Otevřít zpracováním.
Krok 11: Písmo ve zpracování
Důležité: upozorňuji na linky 36-37
36 font = loadFont ("SourceCodePro-Bold-48.vlw"); // načte písmo uložené v datech
složka 37 textFont (písmo);
Tato knihovna písem "SourceCodePro-Bold-48.vlw" je součástí stahování souborů zpracování a její fungování není třeba měnit.
Chcete-li však změnit písmo na něco jiného, budete muset načíst nové písmo do skici zpracování A nahradit „SourceCodePro-Bold-48.vlw“novým písmem.
. Naštěstí zpracování velmi usnadnilo první část.
Nejprve otevřete skicu a poté klikněte na:
Nástroje> Vytvořit písmo
tím se otevře okno
Viz diagram
Přejděte dolů na požadované nové písmo, klikněte na něj a poté klikněte na OK. Písmo bylo nyní načteno do složky skici.
Dále nahraďte text „SourceCodePro-Bold-48.vlw“přesným názvem nového písma (včetně formátu souboru.vlw)
Pokud se tak nestane, nové písmo se do kódu nenačte a kód způsobí chyby (Stejně jako chyby v Arduinu- v černém rámečku v dolní části programu).
Krok 12: Dokončení
Chcete -li spustit program Processing, klikněte na šipku, může se zobrazit varování Java, Klikněte na: Allow access.
Viz diagram
Dobře, fungoval program? Pokud ano, dostanete zobrazení, jaké vidíte na obrázku.
(Ne? Viz řešení potíží v dalším kroku)
Ano? Nyní zkuste držet DHT11 v zavřené dlani nebo umístit pod proud teplého vzduchu vysoušeče vlasů. Čísla by se měla změnit. Ano? Skvělý. to znamená, že vše funguje dobře.
Chcete -li program zavřít a uložit data, klikněte na pole „Kliknutím sem zavřete a uložíte data“.
Chcete -li nyní najít uložená data, přejděte do složky pro zpracování Temp_Hum_F_3_1 nebo Temp_Hum_C_3_1 (toto byste již měli najít sami), otevřete ji a najděte složku Data. Otevřete toto a měl by se vám zobrazit soubor.csv pojmenovaný podle data a času, kdy jste program ukončili (příklad 1-10-18--22-30-16.csv znamená 10. ledna 2018 22:30:16). Otevřete to v Excelu (nebo ekvivalentu tabulky Open Office). Měli byste vidět něco jako diagram. Sloupce pro datum, čas, čas běhu, teplotu a vlhkost s daty. Data si nyní můžete graficky znázornit pomocí Excelu nebo čehokoli, co s nimi chcete dělat. (Poznámka: pokud se podíváte na první záznam dat, údaje o teplotě a vlhkosti nejsou správné, je to normální a jedná se pouze o chybu při prvním spuštění programu)
Dobře jo !!!!!
Udělal jsi to
Pokud máte nějaké dotazy, napište prosím a já udělám vše pro to, abych odpověděl a pomohl.
Děkujeme, že jste u toho zůstali a hodně štěstí. Doufám, že je to jen začátek ….
Dále pro mě Bluetooth a případně Android….
Krok 13: Odstraňování problémů
Problémy s Arduino
Pokud se zobrazí chybový kód (oranžový text v dolní části IDE), měl by to být jeden z následujícíchKnižnice „DHTlib“nebyla zkopírována správně
Port COM není správně nastaven
Senzor nebyl správně připojen
Kód nebyl správně načten do IDE
Pokud se zdá, že je vše Arduino v pořádku, otevřete sériový monitor a zkontrolujte, zda se zobrazují data
Pokud vidíte správná data, znamená to, že strana Arduino funguje- Nezapomeňte před zahájením zpracování zavřít sériový monitor, pokud je sériový monitor otevřený, zpracování nemůže číst data.
Problémy se zpracováním:
Ty se zobrazí ve spodní části programu Processing.
Pokud se zobrazí chyba popisující „písmo“, vraťte se ke kroku 11 a načtěte písmo podle popisu.
Pokud se zobrazí chyba, která vypadá takto: Chyba, deaktivace serialEvent () pro COM4 null- stačí restartovat skicu zpracování kliknutím na šipku jako v kroku 12
Pokud se zobrazí chyba, která uvádí: Chyba při otevírání sériového portu- zkuste změnit řádky 32-34 na něco jako kde „COM4“odpovídá portu COM ve vaší skice Arduino
myPort = newSerial (this, "COM4", 9600); // Port myPort.bufferUntil ('\ n') // počkejte, až bude mít seriál data
Doporučuje:
Jak vytvořit záznamník vlhkosti a teploty v reálném čase pomocí Arduino UNO a SD karty - Simulace záznamníku dat DHT11 v Proteusu: 5 kroků
Jak vytvořit záznamník vlhkosti a teploty v reálném čase pomocí Arduino UNO a SD karty | Simulace záznamníku dat DHT11 v Proteus: Úvod: Ahoj, toto je Liono Maker, zde je odkaz na YouTube. Vytváříme kreativní projekt s Arduinem a pracujeme na vestavěných systémech. Data-Logger: Data logger (také data-logger nebo data recorder) je elektronické zařízení, které zaznamenává data v průběhu času s
DIY zobrazení teploty na LCD obrazovce pomocí Arduina: 10 kroků
DIY zobrazení teploty na LCD obrazovce pomocí Arduina: V tomto projektu vytvoříme obvod s použitím některých komponent, jako je Arduino, teplotní senzor atd. V tomto obvodu bude stupeň zobrazován nepřetržitě na LCD, je zde zpoždění 100 milisekund mezi pohledem na nový stupeň na
Programování Arduina pomocí jiného Arduina pro zobrazení posouvaného textu bez knihovny: 5 kroků
Programování Arduina pomocí jiného Arduina pro zobrazení posouvaného textu bez knihovny: Sony Spresense nebo Arduino Uno nejsou tak drahé a nevyžadují mnoho energie. Pokud má však váš projekt omezení výkonu, prostoru nebo dokonce rozpočtu, můžete zvážit použití Arduino Pro Mini. Na rozdíl od Arduino Pro Micro, Arduino Pro Mi
Zobrazení termochromické teploty a vlhkosti: 10 kroků (s obrázky)
Termochromní zobrazení teploty a vlhkosti: Na tomto projektu pracuji již nějakou dobu. Původní myšlenka mě napadla po vybudování demonstrátoru regulátoru TEC v práci na veletrhu. Abychom ukázali možnosti vytápění a chlazení TEC, použili jsme termochromní barvu, která
Zobrazení teploty na modulu displeje LED P10 pomocí Arduina: 3 kroky (s obrázky)
Zobrazení teploty na modulu LED displeje P10 pomocí Arduina: V předchozím tutoriálu bylo řečeno, jak zobrazit text na modulu Dot Matrix LED Display P10 pomocí konektoru Arduino a DMD, který můžete zkontrolovat zde. V tomto tutoriálu poskytneme jednoduchý projektový tutoriál s využitím modulu P10 jako zobrazovacího