Obsah:

Senzor teploty a vlhkosti Arduino: 7 krokov
Senzor teploty a vlhkosti Arduino: 7 krokov

Video: Senzor teploty a vlhkosti Arduino: 7 krokov

Video: Senzor teploty a vlhkosti Arduino: 7 krokov
Video: Arduino - meranie tlaku,teploty,vlhkosti,nadmorskej vyšky (8.7.2014) DHT11 + BMP180 2024, November
Anonim

Od Thundertronics Nasledovať viac od autora:

Analógovo -digitálny prevodník PIC16F877A (ADC)
Analógovo -digitálny prevodník PIC16F877A (ADC)
Analógovo -digitálny prevodník PIC16F877A (ADC)
Analógovo -digitálny prevodník PIC16F877A (ADC)
Rozhranie LCD s mikrokontrolérom PIC16F877A
Rozhranie LCD s mikrokontrolérom PIC16F877A
Rozhranie LCD s mikrokontrolérom PIC16F877A
Rozhranie LCD s mikrokontrolérom PIC16F877A
DIY modulárny stolný napájací zdroj
DIY modulárny stolný napájací zdroj
DIY modulárny stolný napájací zdroj
DIY modulárny stolný napájací zdroj

V tomto návode vysvetlím výrobu snímača teploty a vlhkosti pomocou mini dosky Arduino pro so snímačom DHT11 (alebo DHT22).

Krok 1: Pozrite si video

Pred prechodom na ďalší krok je dôležité najskôr si pozrieť video. Video vysvetľuje všetko a ukazuje, ako sa to robí. V tomto príspevku však napíšem viac technických údajov a podrobností.

www.youtube.com/watch?v=56LKl7Xd770

Krok 2: Potrebné diely

Časti potrebné pre tento projekt sú:

1- Mini doska Arduino pro (alebo akékoľvek Arduino).

2- Snímač teploty a vlhkosti DHT11 (alebo DHT22).

3- 16x2 LCD displej.

4- Príloha podľa vášho výberu, najlepšie rovnaká ako tá, ktorá sa používa vo videu.

5-10K potenciometer.

6- Skrutkové svorky.

7- Rezistory rôznych hodnôt.

8-9v batéria.

pričom potrebné nástroje sú:

1- ručná vŕtačka ako Dremil.

2- rôzne bity pre vŕtačku, pretože použijeme vyhladzovacie bity a rezné bity.

3- pomocné ruky.

plus obvyklé nástroje elektroniky, ako je multimeter a tak ďalej.

Krok 3: Schematický návrh

Schematický dizajn
Schematický dizajn

V tomto projekte som sa rozhodol vyrobiť pre neho DPS namiesto toho, aby som ho zapojil sám. Preto som na prácu použil online nástroj EasyEDA, čo bol pekný zážitok.

Toto je stránka projektu na webovej stránke easyEDA:

Schéma vysvetľuje toto:

1- Na programovanie Arduino pro mini som použil 6-kolíkový adaptér ICSP, pretože sa na palube nenachádza. v schéme je to J2.

2- R2 má 100 ohmov a nastavuje jas LCD. V zásade by ste mohli klásť väčší odpor ako 100R, ak chcete, aby bolo podsvietenie LCD tmavšie. Alebo ešte lepšie, získajte potenciometer, ktorý bude fungovať ako variabilný sériový odpor.

3- JP1 je iba konektor, ktorý má peknú stopu plošných spojov. Nikdy som nedával skutočný terminál, ale namiesto toho spájkoval drôty. Rob ako chceš.

4- U2 sú svorky na pripojenie batérie. Tu dávam prednosť pekným skrutkovým svorkám, aby som dosiahol pevné spojenie. Dráty by ste mohli spájkovať, ale nezabudnite dať dostatok spájky, aby bolo spojenie dostatočne pevné, aby odolalo akýmkoľvek otrasom.

5- LCD1 je komponent LCD v programe easyEDA. Má základné pripojenie k Arduino pro mini. Uistite sa, že kolíky sú tu identické s pinmi v softvéri.

6- RV1 je 10K potenciometer na nastavenie kontrastu LCD. Mal by sa použiť iba raz a je to vtedy, keď prvýkrát zapnete LCD displej.

Krok 4: Návrh DPS

Dizajn DPS
Dizajn DPS
Dizajn DPS
Dizajn DPS

Po dokončení schematického návrhu a pochopení toho, čo všetko znamená, je načase vytvoriť pre neho DPS.

Na vytvorenie DPS v editore DPS by ste mali v programe EasyEDA stlačiť „Previesť na DPS“. Potom začnite umiestňovať diely a vykonávať smerovanie ako obvykle. Odporúčame však nikdy nepoužívať automatický smerovač.

Na presun z hornej do spodnej vrstvy som použil veľa priechodov, pretože priestoru je tak málo.

Krok 5: Vyrobte DPS

Teraz je návrh DPS dokončený. Skontrolovali sme všetko a nenašli sme žiadny problém. Musíme poslať návrhové súbory (Gerbery) výrobnej spoločnosti na výrobu DPS podľa nášho výberu, aby to mohla urobiť za nás.

Moja zvolená spoločnosť je JLCPCB. Sú najlepšie pre takéto projekty a prototypy a ponúkajú cenu iba 2 $ za celých 10 kusov vášho návrhu!

Teraz teda klikneme (….) A zvolíme JLCPCB. Sme presmerovaní na webovú stránku JLCPCB, pretože sú partnermi so spoločnosťou EasyEDA. Teraz vyplňte všetko a zadajte objednávku. Teraz počkajte, kým nedôjde k PCB.

Stojí za zmienku, že k JLCPCB je nielen spojená EasyEDA, ale majú aj veľký obchod s komponentmi! Výhodou je, že sa objednávka PCB a objednávka komponentov dodajú spoločne! Áno, nie je potrebné čakať na príchod 2 balíkov oddelene, ale namiesto toho sa balia v jednom balíku. Vrelo odporúčam použiť toto.

Krok 6: Zostavenie

Teraz máme DPS sami so všetkým. Je načase dať všetko dohromady.

Najprv musíme podľa schémy spájkovať elektroniku. Je to pre tento projekt jednoduchá úloha.

Po dokončení spájkovania teraz vyrežte potrebné otvory v plastovom kryte a potom dosku plošných spojov s ostatnými súčasťami dobre zafixujte pomocou horúcej lepiacej pištole.

Teraz by ste mali pomocou potenciometra nastaviť kontrast LCD, pričom pri výbere požadovaného odporového ventilu pre jas som vybral 100R.

Krok 7: Kód

K tomuto kroku je priložený kód tohto projektu a vysvetlenie je nasledujúce:

// zahrňte kód knižnice: #include #include "DHT.h" // nastavte DHT pin #definujte DHTPIN 2

Zahrňte potrebné knižnice a definujte pin 2 Arduino pro mini ako dátový pin pre senzor. Ak tieto knižnice nemáte, určite ich nainštalujte.

// inicializácia knižnice číslami pinov rozhrania LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Teraz inicializujte knižnicu LCD s týmito kolíkmi podľa samotnej schémy. Tiež použite knižnicu DHT a ako snímač použite DHT11, takže ak máte DHT22, mali by ste to zmeniť.

Posledný riadok hovorí, že máme snímač DHT11 a jeho dátový pin je na kolíku „DHTPIN“, čo je pin 2, ako sme ho definovali predtým.

void setup () {// nastavenie počtu stĺpcov a riadkov na LCD: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print („Teplota a“); lcd.setCursor (0, 1); lcd.print („snímač vlhkosti“); oneskorenie (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print („Hossam Moghrabi“); oneskorenie (3000); }

Teraz je čas na nastavenie! a tu sa deje:

LCD je typ 16 x 2.

Ak chcete získať hodnoty, spustite príkaz DHT.

Vytlačte „Snímač teploty a vlhkosti“na 2 riadky.

Meškajte 3 sekundy.

Prehľadný displej

Vytlačte „THUNDERTRONICS“v prvom riadku a potom vytlačte „Hossam Moghrabi“v druhom riadku.

Meškajte 3 sekundy.

^Urobil som to ako uvítaciu obrazovku, ktorá trvá približne 6 sekúnd, kým sa zobrazia hodnoty.

void loop () {// čítanie vlhkosti int h = dht.readHumidity (); // čítanie teploty v c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("ERROR"); návrat; }

Teraz sme vo vnútri našej večnej slučky, ktorá sa bude stále opakovať.

Hodnoty vlhkosti uložte do premennej "h" a hodnoty teploty do premennej "t".

Ďalej tu máme vyhlásenie if. V zásade ide o vrátenie chybového hlásenia v prípade chyby. Nechajte to bez zmeny.

Teraz máme všetky hodnoty, ktoré potrebujeme.

lcd.setCursor (0, 0); lcd.print ("Teplota ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Vlhkosť ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); oneskorenie (2000);

Nakoniec tieto hodnoty zobrazíme na LCD displeji. Môžete ho zmeniť tak, ako chcete, pretože jednoducho tlačí hodnoty do premenných „h“a „t“. Uvedenie oneskorenia 2 sekundy je trochu voliteľné, ale nebudete mať veľký prospech z toho, ak to urobíte rýchlejšie, pretože samotný snímač nie je taký rýchly, a aj keď áno, fyzické hodnoty sa nikdy tak rýchlo nemenia. 2 sekundy sú teda na prácu veľmi rýchle!

Toto je to!

Odporúča: