Obsah:

Snímač teploty a vlhkosti Arduino: 7 kroků
Snímač teploty a vlhkosti Arduino: 7 kroků

Video: Snímač teploty a vlhkosti Arduino: 7 kroků

Video: Snímač teploty a vlhkosti Arduino: 7 kroků
Video: Arduino návody | Senzor teploty a vlhkosti HTU21D I2C 2024, Červenec
Anonim

Autor: Thundertronics

Analogově digitální převodník PIC16F877A (ADC)
Analogově digitální převodník PIC16F877A (ADC)
Analogově digitální převodník PIC16F877A (ADC)
Analogově digitální převodník PIC16F877A (ADC)
Rozhraní LCD s mikrokontrolérem PIC16F877A
Rozhraní LCD s mikrokontrolérem PIC16F877A
Rozhraní LCD s mikrokontrolérem PIC16F877A
Rozhraní LCD s mikrokontrolérem PIC16F877A
DIY modulární stolní napájecí zdroj
DIY modulární stolní napájecí zdroj
DIY modulární stolní napájecí zdroj
DIY modulární stolní napájecí zdroj

V tomto tutoriálu vysvětlím výrobu snímače teploty a vlhkosti pomocí mini desky Arduino pro mini se snímačem DHT11 (nebo DHT22).

Krok 1: Podívejte se na video

Je důležité nejprve vidět video, než přejdete k dalšímu kroku. Video vše vysvětluje a ukazuje, jak se to dělá. V tomto příspěvku však napíši více technických údajů a podrobností.

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

Krok 2: Potřebné součásti

Díly potřebné pro tento projekt jsou:

1- Mini deska Arduino pro (nebo jakékoli Arduino).

2- Čidlo teploty a vlhkosti DHT11 (nebo DHT22).

3- LCD displej 16x2.

4- Příloha podle vašeho výběru, nejlépe stejná jako ta, která je použita ve videu.

5-10K potenciometr.

6- Šroubové svorky.

7- Rezistory různých hodnot.

8-9v baterie.

zatímco potřebné nástroje jsou:

1- ruční vrtání jako Dremil.

2- různé bity pro vrták, protože použijeme vyhlazovací bity a řezné bity.

3- pomocné ruce.

plus obvyklé elektronické nástroje, jako je multimetr atd.

Krok 3: Schematický návrh

Schematický návrh
Schematický návrh

V tomto projektu jsem se rozhodl pro něj vyrobit desku plošných spojů místo toho, abych ji zapojoval sám. Pro práci jsem tedy použil online nástroj EasyEDA, což byl pěkný zážitek.

Toto je stránka projektu na webu easyEDA:

Vysvětlení schématu je následující:

1- K programování Arduino pro mini jsem použil 6pinový adaptér ICSP, protože na desce není žádný. ve schématu je to J2.

2- R2 má 100 ohmů a nastavuje jas LCD. V zásadě byste mohli klást větší odpor než 100R, pokud chcete, aby podsvícení LCD bylo tlumenější. Nebo ještě lépe, získejte potenciometr, který bude fungovat jako variabilní sériový odpor.

3- JP1 je jen konektor, který má pěknou stopu PCB. Nikdy jsem nedával skutečný terminál, ale místo toho jsem připájel dráty. Dělej, jak myslíš.

4- U2 jsou svorky pro připojení baterie. Zde dávám přednost hezkým šroubovým svorkám, abych získal pevné spojení. Dráty byste mohli pájet, ale nezapomeňte dát dostatek pájky, aby bylo spojení dostatečně pevné, aby odolalo jakýmkoli otřesům.

5- LCD1 je komponenta LCD v easyEDA. Má základní připojení k Arduino pro mini. Ujistěte se, že piny zde jsou stejné jako v softwaru.

6- RV1 je 10K potenciometr pro nastavení kontrastu LCD. Měl by být použit pouze jednou a je to při prvním zapnutí displeje LCD.

Krok 4: Návrh DPS

Návrh DPS
Návrh DPS
Návrh DPS
Návrh DPS

Po dokončení schematického návrhu a pochopení toho, co všechno znamená, je nyní čas na výrobu desky plošných spojů.

Pro vytvoření DPS v editoru DPS byste měli v EasyEDA stisknout „Převést na PCB“. Poté začněte pokládat součásti a provádět směrování jako obvykle. Doporučuji však nikdy nepoužívat automatický router.

Použil jsem spoustu průchodů pro pohyb z horní do spodní vrstvy, protože prostor je tak malý.

Krok 5: Vyrobte DPS

Nyní je návrh DPS hotový. Zkontrolovali jsme vše a nenašli jsme žádný problém. Potřebujeme zaslat návrhové soubory (Gerbery) společnosti na výrobu DPS podle našeho výběru, aby to mohla udělat za nás.

Moje vybraná společnost je JLCPCB. Jsou nejlepší pro takové projekty a prototypování a nabízejí pouze 2 $ ceny za celých 10 kusů vašeho návrhu!

Nyní tedy klikneme na (….) A zvolíme JLCPCB. Jsme přesměrováni na web JLCPCB, protože jsou partnery EasyEDA. Nyní vše vyplňte a proveďte objednávku. Nyní jen počkejte, až dorazí PCB.

Stojí za zmínku, že s JLCPCB je nejen spojena EasyEDA, ale mají také velký obchod s komponenty! Výhodou je, že se objednávka PCB i objednávka součástek dodají společně! Ano, není třeba čekat, až 2 balíčky dorazí samostatně, ale místo toho se spojí v jeden balíček. Vřele doporučuji použít toto.

Krok 6: Sestavení

Nyní máme PCB samotné se vším. Je na čase dát dohromady všechno.

Nejprve musíme podle schématu pájet elektroniku. Pro tento projekt je to snadný úkol.

Po dokončení pájení nyní vyřízněte potřebné otvory v plastovém pouzdře a poté zafixujte desku plošných spojů s ostatními součástmi dobře uvnitř pomocí horké lepicí pistole.

Nyní byste měli pomocí potenciometru upravit kontrast LCD, přičemž při výběru požadovaného odporového ventilu pro jas jsem zvolil 100R.

Krok 7: Kód

K tomuto kroku je připojen kód pro tento projekt a vysvětlení je následující:

// zahrnout kód knihovny: #include #include "DHT.h" // nastavit DHT pin #define DHTPIN 2

Zahrňte potřebné knihovny a definujte pin 2 Arduino pro mini jako datový pin senzoru. Pokud tyto knihovny nemáte, nezapomeňte je nainstalovat.

// inicializace knihovny čísly pinů rozhraní LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Nyní inicializujte knihovnu LCD s těmito piny podle samotného schématu. Také použijte knihovnu DHT a jako senzor použijte DHT11, takže pokud máte DHT22, měli byste jej změnit.

Poslední řádek říká, že máme snímač DHT11 a jeho datový pin je na pinu „DHTPIN“, což je pin 2, jak jsme ho definovali dříve.

void setup () {// nastavení počtu sloupců a řádků 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“); zpoždění (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print („Hossam Moghrabi“); zpoždění (3000); }

Nyní je čas nastavení! a tady se děje:

LCD je typu 16 na 2.

Chcete -li získat hodnoty, spusťte příkaz DHT.

Na 2 řádky vytiskněte „Snímač teploty a vlhkosti“.

Zpoždění 3 sekundy.

Přehledný displej

Vytiskněte „THUNDERTRONICS“na první řádek a poté vytiskněte „Hossam Moghrabi“na 2. řádek.

Zpoždění 3 sekundy.

^Udělal jsem to jako uvítací obrazovku, která trvá přibližně 6 sekund, než se zobrazí hodnoty.

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

Nyní jsme uvnitř naší věčné smyčky, která se bude stále opakovat.

Naměřené hodnoty vlhkosti ukládejte do proměnné "h" a hodnoty teploty do proměnné "t".

Dále máme příkaz if. V zásadě se v případě chyby vrací chybová zpráva. Nechte to beze změny.

Nyní máme všechny hodnoty, které potřebujeme.

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 ("Vlhkost ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); zpoždění (2000);

Nakonec tyto hodnoty zobrazujeme na LCD displeji. Můžete to změnit, jak chcete, protože to je jednoduše tisk hodnot uvnitř proměnných „h“a „t“. Zadání zpoždění 2 sekundy je trochu volitelné, ale nebudete moc těžit z toho, že to uděláte rychleji, protože samotný snímač není tak rychlý, a i když ano, fyzické hodnoty se nikdy tak rychle nemění. 2 sekundy jsou tedy pro tuto práci velmi rychlé!

To je ono!

Doporučuje: