Cuprins:

Senzor de temperatură și umiditate Arduino: 7 pași
Senzor de temperatură și umiditate Arduino: 7 pași

Video: Senzor de temperatură și umiditate Arduino: 7 pași

Video: Senzor de temperatură și umiditate Arduino: 7 pași
Video: Senzor de parcare cu Arduino [7] 2024, Iulie
Anonim

De Thundertronics Urmăriți mai multe de la autor:

PIC16F877A Convertor analog-digital (ADC)
PIC16F877A Convertor analog-digital (ADC)
PIC16F877A Convertor analog-digital (ADC)
PIC16F877A Convertor analog-digital (ADC)
Interfață LCD cu microcontroler PIC16F877A
Interfață LCD cu microcontroler PIC16F877A
Interfață LCD cu microcontroler PIC16F877A
Interfață LCD cu microcontroler PIC16F877A
Sursă de alimentare pentru bancă modulară DIY
Sursă de alimentare pentru bancă modulară DIY
Sursă de alimentare pentru bancă modulară DIY
Sursă de alimentare pentru bancă modulară DIY

În acest tutorial, voi explica realizarea unui senzor de temperatură și umiditate folosind placa mini Arduino pro cu senzor DHT11 (sau DHT22).

Pasul 1: vizionați videoclipul

Este important să vedeți videoclipul mai întâi înainte de a trece la pasul următor. Videoclipul explică totul și arată cum se face. Cu toate acestea, în această postare, voi scrie mai multe date și detalii tehnice.

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

Pasul 2: Piese necesare

Părțile necesare pentru acest proiect sunt:

1- Placa mini Arduino pro (sau orice Arduino).

2- Senzor de temperatură și umiditate DHT11 (sau DHT22).

Afișaj LCD 3- 16x2.

4- O incintă la alegere, preferabil aceeași cu cea utilizată în videoclip.

Potențiometru 5- 10K.

6- Borne cu șurub.

7- Rezistențe de valori diferite.

Baterie de 8- 9v.

în timp ce instrumentele necesare sunt:

1- burghiu manual ca un Dremil.

2- biți diferiți pentru burghiu, deoarece vom folosi biți de netezire și biți de tăiere.

3- mâini de ajutor.

în plus, instrumentele electronice obișnuite, cum ar fi multimetrul și așa mai departe.

Pasul 3: Proiectare schematică

Proiectare schematică
Proiectare schematică

În acest proiect, am ales să fac un PCB pentru el în loc să-l conectez eu. Așa că am folosit instrumentul online EasyEDA pentru job, ceea ce a fost o experiență plăcută.

Aceasta este pagina proiectului de pe site-ul easyEDA:

Explicația schematică este după cum urmează:

1- Am folosit un adaptor ICSP cu 6 pini pentru a programa Arduino pro mini, deoarece nu vine cu unul la bord. este J2 la schematică.

2- R2 este de 100 ohmi și setează luminozitatea ecranului LCD. Practic, ați putea rezista mai mult de 100R dacă doriți ca lumina de fundal LCD să fie mai slabă. Sau mai bine, obțineți un potențiometru care să acționeze ca o rezistență de serie variabilă.

3- JP1 este doar un conector care are o amprentă de PCB plăcută. Nu am pus niciodată un terminal real, ci am lipit firele. Fă ce vrei.

4- U2 este terminalele de conectare a bateriei. Aici, prefer un terminal cu șurub frumos pentru a obține o conexiune fermă. Ați putea lipi firele, dar asigurați-vă că puneți suficient lipire pentru a face conexiunea suficient de solidă pentru a rezista la orice scuturare.

5- LCD1 este componenta LCD din easyEDA. Are conexiunea de bază la Arduino pro mini. Asigurați-vă că pinii de aici sunt identici cu cei din software.

6- RV1 este un potențiometru de 10K pentru a seta contrastul LCD. Ar trebui să fie utilizat o singură dată și este atunci când porniți LCD-ul pentru prima dată.

Pasul 4: Proiectare PCB

Design PCB
Design PCB
Design PCB
Design PCB

După ce ați terminat proiectarea schematică și ați înțeles ce înseamnă totul, este momentul să creați un PCB pentru acesta.

Ar trebui să apăsați „Convertiți în PCB” în EasyEDA pentru a crea PCB în editorul PCB. Apoi, începeți să plasați piese și să faceți rutare ca de obicei. Vă sugerez să nu folosiți niciodată routerul automat.

Am folosit o mulțime de via-uri pentru a mă deplasa de la stratul de sus în jos, deoarece spațiul este atât de mic.

Pasul 5: Fabricați PCB-ul

Acum, designul PCB-ului este terminat. Am verificat totul și nu s-a găsit nicio problemă. Trebuie să trimitem fișierele de proiectare (gerber-urile) către firma de fabricare a PCB-ului la alegerea noastră, astfel încât să o poată face pentru noi.

Compania mea la alegere este JLCPCB. Acestea sunt cele mai bune pentru astfel de proiecte și prototipuri și oferă doar 2 $ din preț pentru o întreagă 10 piesă de design!

Deci, acum facem clic pe (…) și alegem JLCPCB. Suntem direcționați către site-ul web JLCPCB, deoarece sunt parteneri cu EasyEDA. Acum completați totul și plasați comanda. Acum, așteptați până când sosesc PCB-urile.

Merită menționat faptul că JLCPCB nu numai că le-a asociat EasyEDA, dar au și un mare magazin de componente! Avantajul aici este ca ambele comenzi PCB și comanda componentelor să fie livrate împreună! Da, nu este nevoie să așteptați ca 2 pachete să sosească separat, dar vin în schimb combinate într-un singur pachet. Vă recomand cu drag să utilizați acest lucru.

Pasul 6: Asamblare

Avem PCB-urile singure cu toate acum. Este timpul să asamblați totul împreună.

În primul rând, trebuie să lipim electronica conform schemei. Este o sarcină ușoară pentru acest proiect.

După ce ați terminat lipirea, tăiați acum găurile necesare în carcasa din plastic, apoi fixați PCB-ul cu alte componente bine în interior cu ajutorul pistolului de adeziv fierbinte.

Acum ar trebui să utilizați potențiometrul pentru a regla contrastul LCD-ului, în timp ce alegeți supapa de rezistență necesară pentru luminozitate, am ales 100R.

Pasul 7: Cod

Codul pentru acest proiect este atașat la acest pas, iar explicația este următoarea:

// includeți codul bibliotecii: #include #include "DHT.h" // setați codul DHT #define DHTPIN 2

Includeți bibliotecile necesare și definiți pinul 2 al Arduino pro mini ca pinul de date pentru senzor. Asigurați-vă că instalați aceste biblioteci dacă nu le aveți.

// inițializați biblioteca cu numerele pinilor de interfață LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Acum inițializați biblioteca LCD cu acești pini conform schemei în sine. De asemenea, utilizați biblioteca DHT și alegeți DHT11 ca senzor de utilizat, deci dacă aveți DHT22, atunci ar trebui să îl modificați.

Ultima linie spune că avem senzor DHT11 și pinul său de date este la pinul "DHTPIN", care este pinul 2 așa cum l-am definit anterior.

void setup () {// configurați numărul LCD de coloane și rânduri: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatură și"); lcd.setCursor (0, 1); lcd.print ("senzor de umiditate"); întârziere (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print („Hossam Moghrabi”); întârziere (3000); }

Acum este timpul de configurare! și iată ce se întâmplă:

Ecranul LCD este de tip 16 pe 2.

Porniți comanda DHT pentru a obține valori.

Imprimați „Senzor de temperatură și umiditate” pe cele 2 linii.

Întârziere 3 secunde.

Afișaj clar

Tipăriți „THUNDERTRONICS” la prima linie, apoi tipăriți „Hossam Moghrabi” la a doua linie.

Întârziere 3 secunde.

^ Am făcut acest lucru ca un ecran de bun venit care durează aproximativ 6 secunde înainte ca valorile să fie afișate.

void loop () {// citit umiditate int h = dht.readHumidity (); // citit temperatura în c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("EROARE"); întoarcere; }

Acum suntem în bucla noastră eternă care se va repeta.

Păstrați valorile de umiditate în variabila „h” și valorile de temperatură în variabila „t”.

Apoi, avem o declarație if. Acesta este, în principiu, returnează un mesaj de eroare atunci când există o eroare. Lasă-l fără să-l schimbi.

Acum avem toate valorile de care avem nevoie.

lcd.setCursor (0, 0); lcd.print ("Temp. ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Umiditate ="); lcd.print (h); lcd.print ("%"); // lcd.print („Hossam Moghrabi”); întârziere (2000);

În cele din urmă, afișăm aceste valori pe ecranul LCD. Puteți să-l modificați așa cum doriți, deoarece este pur și simplu să imprimați valori în variabilele „h” și „t”. Punerea unei întârzieri de 2 secunde este cam opțională, dar nu veți beneficia prea mult dacă o faceți mai repede, deoarece senzorul în sine nu este atât de rapid și chiar dacă este, valorile fizice nu se schimbă niciodată atât de repede. Deci, 2 secunde sunt foarte foarte rapide pentru job!

Aia este!

Recomandat: