S Arduino, DHT22 senzorom a LCD si môžete vytvoriť gadget na meranie a zobrazovanie teploty a relatívnej vlhkosti.
Vytvorenie vlastného gadgetu na meranie teploty/vlhkosti môže byť zábavným a obohacujúcim zážitkom. Pomocou mikrokontroléra Arduino možno tento svojpomocný projekt použiť na monitorovanie teploty a vlhkosti v miestnosti, najmä v horúcom lete.
Okrem toho vám môže pomôcť vyhodnotiť výkon vašej klimatizácie. Na snímanie teploty a vlhkosti použijeme elektronický senzor, ktorý bude spojený s mikrokontrolérom, ktorý bude získavať dáta zo senzora a prezentovať ich na displeji.
Čo budete potrebovať
Pre tento DIY projekt budeme potrebovať nasledujúce komponenty:
- Mikrokontrolér Arduino Mega
- Spojovacie vodiče
- Kábel USB Type-A na USB Type-B
- Senzor DHT22
- LCD displej 16x2
- Notebook alebo počítač s Softvér Arduino nainštalovaný
- Breadboard (pozrite si nášho sprievodcu pomocou doštičky na krájanie)
- Rezistory alebo potenciometer
Krok 1: Pripojte mikrokontrolér Arduino Mega
Pripojte dosku Arduino k počítaču alebo notebooku pomocou kábla USB. Tento kábel nielen napája modul Arduino a slúži ako jeho napájanie, ale tiež umožňuje počítaču komunikovať s doskou Arduino na vykonávanie kódu a príkazov. Po pripojení cez USB kábel k počítaču Arduino ukáže, že je v prevádzkovom stave, zapnutím jeho LED svetla.
Z panela s ponukami Arduino IDE prejdite na Nástroje kartu a vyberte Arduino Mega z rady možnosti. Podobne vyberte port COM pod tým istým Nástroje tab.
Krok 2: Pripravte snímač a LCD
Projekt využíva snímač teploty/vlhkosti DHT22 a LCD obrazovku 16x2, pre ktoré budete potrebovať príslušné knižnice Arduino IDE.
Senzor DHT22
DHT11 a DHT22 sú elektronické senzory, ktoré merajú teplotu a vlhkosť prostredia. Fungujú na podobných princípoch, líšia sa však rozsahom ich špecifikácií. Pre tento svojpomocný projekt používame snímač DHT 22 (konkrétne káblovú verziu AM2302). DHT22 je lepšia voľba, pokiaľ ide o široký rozsah a presnosť snímania teploty a vlhkosti.
Modul DHT22 / AM2302 má tri kolíky s nasledujúcou konfiguráciou:
Pin |
názov |
Funkcia |
---|---|---|
1 |
Vcc |
+5V napájanie |
2 |
Údaje |
Údaje o vlhkosti a teplote |
3 |
Gnd |
Spoločná zem pre signálovú cestu |
Najjednoduchší spôsob použitia snímačov DHT s mikrokontrolérmi Arduino je inštalácia DHT.h knižnicu, ktorú je možné použiť pre snímače DHT11 aj DHT22. Táto knižnica je zvyčajne predinštalovaná v Arduino IDE. Ak nie je k dispozícii, môžete ho nainštalovať z Správca knižnice pod Nástroje tab.
LCD displej 16x2
Na zobrazenie hodnôt snímača používame LCD 16x2 displej pre Arduino. Tento displej má 16 hardvérových pinov a na ovládanie svojej funkčnosti potrebuje rozhranie mikrokontroléra. Nasledujúca tabuľka zobrazuje hardvérové kolíky LCD a ich funkčnosť.
PIN kód |
názov |
Funkcia |
---|---|---|
1 |
Gnd |
Spoločná pôda |
2 |
Vdd |
+5V DC (napájanie LCD) |
3 |
Vee |
Ovládanie jasu |
4 |
RS |
Registrovať Vyberte |
5 |
R/W |
Čítaj píš |
6 |
EN |
Povoliť zakázať |
7 |
DB0 |
Pin dátovej zbernice 0 |
8 |
DB1 |
Pin dátovej zbernice 1 |
9 |
DB2 |
Pin dátovej zbernice 2 |
10 |
DB3 |
Pin dátovej zbernice 3 |
11 |
DB4 |
Pin dátovej zbernice 4 |
12 |
DB5 |
Pin dátovej zbernice 5 |
13 |
DB6 |
Pin dátovej zbernice 6 |
14 |
DB7 |
Pin dátovej zbernice 7 |
15 |
LED+ |
LED na pozadí (+5V) |
16 |
LED- |
LED na pozadí (spoločný základ) |
16x2 LCD môže zobrazovať buď pomocou štyroch dátových zberníc alebo ôsmich dátových zberníc. Tu používame štyri dátové zbernice z mikrokontroléra na LCD. K Arduinu sú pripojené iba štyri dátové (DB4 až DB7) kolíky LCD 16x2 spolu s kolíkmi RS (Register Select) a EN (Enable).
V 4-bitovom režime sa údaje/príkazy odosielajú v 4-bitovom formáte nibble. Najprv odošle vyššie 4-bitové a potom nižšie 4-bitové dáta/príkaz. Vďaka takýmto pripojeniam môžeme na našom Arduine ušetriť štyri GPIO piny, ktoré je možné použiť pre inú aplikáciu. Všimnite si, že účelom kolíkov 15 a 16 (LED na pozadí) je osvetliť displej, len kvôli lepšej viditeľnosti.
Môžete použiť LiquidCrystal.h Knižnica Arduino na ovládanie 16x2 LCD. Táto knižnica je zvyčajne predinštalovaná. Ak nie je k dispozícii, môžete ho nainštalovať z Správca knižnice pod Nástroje kartu v Arduino IDE.
Krok 3: Zostavte obvod na pripojenie snímača a LCD
Pre tento obvod sa používa nasledujúca schéma zapojenia.
Arduino Mega Pin |
LCD / DHT22 Pin |
---|---|
2 |
D4 LCD |
3 |
D5 LCD |
4 |
D6 na LCD |
5 |
D7 na LCD |
8 |
RS LCD |
9 |
SK LCD |
52 (SCK) |
Pin dátového výstupu DHT22 |
Doska Arduino Mega poskytuje napájacie pripojenie k LCD aj senzoru, pretože ide o moduly s nízkou spotrebou a možno ich jednoducho spravovať prostredníctvom tejto dosky. Na reguláciu jasu LCD používame odporový delič napätia umiestnený tak, že na kolík 3 (VEE) LCD sa privádza okolo 0,1 V až 0,5 V na optimálny jas. Alternatívne je možné namiesto tohto deliča napätia použiť potenciometer. Pin 5 (R/W) LCD je nastavený na uzemnenie pre funkciu len zápisu.
Krok 4: Nahrajte svoj kód do Arduina
Teraz je čas nahrať svoj kód na dosku Arduino Mega, aby ste vykonali požadovanú úlohu, ktorá zahŕňa načítanie údajov snímača z DHT22 a ich zobrazenie na LCD.
Kód pre tento projekt je dostupný tu GitHub repo.
Kód je navrhnutý podľa zapojenia vodičov obvodu zobrazeného v kroku 3. Teraz ho môžete otestovať na vyhodnotenie výkonu.
Testovanie modulu
Aby senzor fungoval správne a detegoval teplotu a vlhkosť, držíme senzor niekoľko palcov nad šálkou horúcej vody (vyžarujúcej horúce výpary). Senzor DHT 22 neponárajte do vody, pretože by to mohlo spôsobiť skrat a trvalé poškodenie senzora! Po niekoľkých sekundách je možné pozorovať zvýšenie teploty a percenta vlhkosti, čo ukazuje, že modul funguje správne.
Postavili ste si vlastný teplomer a vlhkomer
Teraz, keď ste si vytvorili svoj vlastný teplomer a vlhkomer, môžete túto myšlienku ďalej rozšíriť začlenením diaľkového ovládača monitorovanie teploty a vlhkosti prenášaním týchto informácií do iného zariadenia pomocou Wi-Fi alebo Bluetooth adaptér. Údaje snímača z tohto modulu môžete použiť aj na aktiváciu klimatizácie miestnosti alebo výfukového systému sa automaticky zapína a vypína podľa požadovaných nastavení, aby sa udržala teplota/vlhkosť vo vašej miestnosti alebo pracovisko.