Sadržaj:

Arduino osjetnik temperature i vlažnosti: 7 koraka
Arduino osjetnik temperature i vlažnosti: 7 koraka

Video: Arduino osjetnik temperature i vlažnosti: 7 koraka

Video: Arduino osjetnik temperature i vlažnosti: 7 koraka
Video: КАК ИЗМЕРИТЬ ТЕМПЕРАТУРУ И ВЛАЖНОСТЬ. ДАТЧИКИ DHT11 И DHT22 [Уроки Ардуино #13] 2024, Srpanj
Anonim

Autor ThundertronicsSlijedi Više od autora:

PIC16F877A Analogno -digitalni pretvarač (ADC)
PIC16F877A Analogno -digitalni pretvarač (ADC)
PIC16F877A Analogno -digitalni pretvarač (ADC)
PIC16F877A Analogno -digitalni pretvarač (ADC)
LCD sučelje s mikrokontrolerom PIC16F877A
LCD sučelje s mikrokontrolerom PIC16F877A
LCD sučelje s mikrokontrolerom PIC16F877A
LCD sučelje s mikrokontrolerom PIC16F877A
DIY modularno napajanje za klupu
DIY modularno napajanje za klupu
DIY modularno napajanje za klupu
DIY modularno napajanje za klupu

U ovom ću vodiču objasniti izradu senzora temperature i vlažnosti zraka pomoću Arduino pro mini ploče s senzorom DHT11 (ili DHT22).

Korak 1: Pogledajte video

Prije prelaska na sljedeći korak važno je prvo pogledati videozapis. Video objašnjava sve i pokazuje kako se to radi. Međutim, u ovom postu ću napisati više tehničkih podataka i pojedinosti.

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

Korak 2: Potrebni dijelovi

Dijelovi potrebni za ovaj projekt su:

1- Arduino pro mini ploča (ili bilo koji Arduino).

2- Senzor temperature i vlažnosti DHT11 (ili DHT22).

3- 16x2 LCD zaslon.

4- Kućište po vašem izboru, po mogućnosti isto kao ono koje se koristi u videu.

Potenciometar 5-10K.

6- Vijčani spojevi.

7- Otpornici različitih vrijednosti.

Baterija 8-9v.

dok su potrebni alati:

1- ručna bušilica poput Dremila.

2- različita nastavka za bušilicu, budući da ćemo koristiti zaglađivanje i rezanje.

3- ruke koje pomažu.

plus, uobičajeni elektronički alati poput multimetra i tako dalje.

Korak 3: Shematski dizajn

Shematski dizajn
Shematski dizajn

U ovom sam projektu odabrao izradu PCB -a umjesto da ga sam ožičim. Stoga sam za posao koristio EasyEDA mrežni alat koji je bio lijepo iskustvo.

Ovo je stranica projekta na web stranici easyEDA:

Objašnjenje sheme je sljedeće:

1- Koristio sam 6-pinski ICSP adapter za programiranje Arduino pro mini budući da ne dolazi s jednim na ploči. to je J2 na shematski.

2- R2 je 100 ohma i postavlja svjetlinu LCD-a. U osnovi, mogli biste staviti veći otpor od 100R ako želite da pozadinsko osvjetljenje LCD -a bude slabije. Ili još bolje, navedite potenciometar da djeluje kao promjenjivi serijski otpor.

3- JP1 je samo konektor koji ima lijep otisak na PCB-u. Nikada nisam stavio pravi terminal, već sam lemio žice. Učinite kako želite.

4- U2 su priključci za povezivanje baterije. Ovdje više volim lijepe vijčane stezaljke da biste dobili čvrstu vezu. Mogli biste lemiti žice, ali svakako stavite dovoljno lemljenja da veza bude dovoljno čvrsta da podnese bilo kakvo podrhtavanje.

5- LCD1 je LCD komponenta u easyEDA-i. Ima osnovnu vezu s Arduino pro mini. Budite sigurni da su pinovi ovdje identični onima u softveru.

6- RV1 je 10K potenciometar za postavljanje LCD kontrasta. Treba ga koristiti samo jednom, a to je kada prvi put napajate LCD.

Korak 4: Dizajn PCB -a

Dizajn PCB -a
Dizajn PCB -a
Dizajn PCB -a
Dizajn PCB -a

Nakon što ste dovršili shematski dizajn i razumjeli što sve znači, sada je vrijeme za izradu PCB -a za njega.

Trebali biste pritisnuti "Pretvori u PCB" u EasyEDA -i za stvaranje PCB -a u uređivaču PCB -a. Zatim počnite postavljati dijelove i usmjeravati kao i obično. Predlažem da nikada ne koristite auto-usmjerivač.

Koristio sam mnogo vija za kretanje od vrha do dna sloja jer je prostora tako malo.

Korak 5: Izradite PCB

Sada je dizajn PCB -a gotov. Sve smo provjerili i problem nije pronađen. Moramo poslati datoteke dizajna (gerberi) tvrtki za izradu PCB -a po našem izboru kako bi to mogla učiniti umjesto nas.

Moja tvrtka za odabir je JLCPCB. Oni su najbolji za takve projekte i izradu prototipova i nude samo 2 USD cijene za čitavih 10 komada vašeg dizajna!

Dakle, sada kliknemo (….) I odaberemo JLCPCB. Upućeni smo na web stranicu JLCPCB jer su oni partneri s EasyEDA -om. Sada ispunite sve i pošaljite narudžbu. Sada samo pričekajte dok ne stignu PCB -i.

Vrijedno je spomenuti da JLCPCB ne samo da je EasyEDA povezana s njima, već imaju i veliku trgovinu komponentama! Prednost je u tome što se narudžba PCB -a i narudžba komponenti isporučuju zajedno! Da, ne morate čekati da 2 paketa stignu zasebno, već se oni kombiniraju u jednom paketu. Toplo preporučujem korištenje ovoga.

Korak 6: Montaža

Sad imamo samo PCB -e sa svime. Vrijeme je da sve sastavite zajedno.

Prvo moramo lemiti elektroniku prema shemi. Lak je zadatak za ovaj projekt.

Nakon završetka lemljenja, sada izrežite potrebne rupe u plastičnom kućištu, a zatim učvrstite PCB s drugim komponentama iznutra pomoću pištolja za vruće ljepilo.

Sada biste trebali koristiti potenciometar za podešavanje kontrasta LCD -a, dok sam za odabir potrebnog otporničkog ventila za svjetlinu odabrao 100R.

Korak 7: Kodirajte

Kôd za ovaj projekt priložen je uz ovaj korak, a objašnjenje je sljedeće:

// uključuje kôd knjižnice: #include #include "DHT.h" // postavlja DHT pin #define DHTPIN 2

Uključite potrebne knjižnice i definirajte pin 2 Arduino pro mini kao pin podataka za senzor. Svakako instalirajte ove knjižnice ako ih nemate.

// inicijalizira knjižnicu brojevima pinova sučelja LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Sada inicijalizirajte LCD knjižnicu s ovim pinovima prema samoj shemi. Također koristite DHT biblioteku i odaberite DHT11 kao senzor za upotrebu, pa ako imate DHT22, trebate ga promijeniti.

Zadnji redak kaže da imamo DHT11 senzor i njegov pin za podatke je na pinu "DHTPIN" koji je pin 2 kako smo ga prethodno definirali.

void setup () {// postavlja broj LCD stupaca i redaka: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatura i"); lcd.setCursor (0, 1); lcd.print ("senzor vlažnosti"); kašnjenje (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); kašnjenje (3000); }

Sada je vrijeme za postavljanje! i evo što se događa:

LCD je tipa 16 x 2.

Pokrenite naredbu DHT da biste dobili vrijednosti.

Ispišite "Senzor temperature i vlažnosti" na 2 retka.

Odgoda 3 sekunde.

Jasan prikaz

Ispišite "THUNDERTRONICS" u prvom retku, a zatim ispišite "Hossam Moghrabi" u drugom retku.

Odgoda 3 sekunde.

^Učinio sam to kao zaslon dobrodošlice koji traje oko 6 sekundi prije prikazivanja vrijednosti.

void loop () {// čitanje vlažnosti int h = dht.readHumidity (); // očitavanje temperature u c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("POGREŠKA"); povratak; }

Sada smo unutar naše vječne petlje koja će se stalno ponavljati.

Očuvajte očitanja vlažnosti unutar "h" varijable, a očitanja temperature unutar "t" varijable.

Zatim imamo if naredbu. Ovo u osnovi vraća poruku o pogrešci kada dođe do pogreške. Ostavite bez mijenjanja.

Sada imamo sve vrijednosti koje su nam potrebne.

lcd.setCursor (0, 0); lcd.print ("Temp. ="); lcd.tisak (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Vlažnost ="); lcd.tisak (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); odgoda (2000);

Konačno, te vrijednosti prikazujemo na LCD zaslonu. Možete ga promijeniti kako želite jer jednostavno ispisuje vrijednosti unutar varijabli "h" i "t". Odlaganje od 2 sekunde pomalo je neobavezno, ali nećete imati puno koristi ako to učinite brže jer sam senzor nije tako brz, pa čak i ako jest, ipak se fizičke vrijednosti nikada ne mijenjaju tako brzo. Dakle, 2 sekunde su jako brze za posao!

To je to!

Preporučeni: