Taula de continguts:

Sensor de temperatura i humitat Arduino: 7 passos
Sensor de temperatura i humitat Arduino: 7 passos

Vídeo: Sensor de temperatura i humitat Arduino: 7 passos

Vídeo: Sensor de temperatura i humitat Arduino: 7 passos
Vídeo: Sensor de Temperatura e Umidade + Display LCD - Arduino 2024, Juliol
Anonim

Per Thundertronics Segueix-ne més per l'autor:

PIC16F877A Convertidor analògic a digital (ADC)
PIC16F877A Convertidor analògic a digital (ADC)
PIC16F877A Convertidor analògic a digital (ADC)
PIC16F877A Convertidor analògic a digital (ADC)
Interfície LCD amb microcontrolador PIC16F877A
Interfície LCD amb microcontrolador PIC16F877A
Interfície LCD amb microcontrolador PIC16F877A
Interfície LCD amb microcontrolador PIC16F877A
Font d'alimentació de banc modular de bricolatge
Font d'alimentació de banc modular de bricolatge
Font d'alimentació de banc modular de bricolatge
Font d'alimentació de banc modular de bricolatge

En aquest tutorial, explicaré la fabricació d’un sensor de temperatura i humitat mitjançant la mini placa Arduino pro amb sensor DHT11 (o DHT22).

Pas 1: mireu el vídeo

És important veure el vídeo primer abans de passar al següent pas. El vídeo ho explica tot i demostra com es fa. No obstant això, en aquest post, escriuré més dades tècniques i detalls.

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

Pas 2: peces necessàries

Les parts necessàries per a aquest projecte són:

1- Mini placa Arduino pro (o qualsevol Arduino).

2- Sensor de temperatura i humitat DHT11 (o DHT22).

Pantalla LCD de 3- 16x2.

4- Un recinte que trieu, preferiblement el mateix que el que s’utilitza al vídeo.

Potenciòmetre de 5-10K.

6- Terminals de cargol.

7- Resistències de diferents valors.

Bateria de 8- 9v.

mentre que les eines necessàries són:

1- trepant manual com un Dremil.

2- bits diferents per a la broca, ja que utilitzarem bits de suavitzat i de tall.

3- mans ajudants.

a més, les eines electròniques habituals, com ara el multímetre, etc.

Pas 3: Disseny esquemàtic

Disseny esquemàtic
Disseny esquemàtic

En aquest projecte, he triat fer-ne un PCB en lloc de cablejar-lo jo mateix. Per tant, he utilitzat l'eina en línia EasyEDA per a la feina, que va ser una experiència agradable.

Aquesta és la pàgina del projecte al lloc web easyEDA:

L’explicació de l’esquema és la següent:

1- He utilitzat un adaptador ICSP de 6 pins per programar l'Arduino pro mini, ja que no inclou cap. és J2 en esquema.

2- R2 és de 100 ohms i estableix la brillantor de la pantalla LCD. Bàsicament, podeu resistir més de 100R si voleu que la il·luminació de la pantalla LCD sigui més feble. O millor encara, obtingueu un potenciòmetre que actuï com una resistència de sèrie variable.

3- JP1 és només un connector que té una bona petjada de PCB. Mai he posat un terminal real, sinó que he soldat els cables. Feu com vulgueu.

4- U2 són els terminals de connexió de la bateria. Aquí prefereixo uns terminals de cargol agradables per obtenir una connexió ferma. Podeu soldar els cables, però assegureu-vos de posar suficient soldadura per fer que la connexió sigui prou sòlida com per suportar qualsevol sacseig.

5- LCD1 és el component LCD de easyEDA. Té la connexió bàsica a Arduino pro mini. Assegureu-vos que els pins aquí són idèntics als del programari.

6- RV1 és un potenciòmetre de 10K per configurar el contrast de la pantalla LCD. S'ha d'utilitzar només una vegada i és quan s'encén la pantalla LCD per primera vegada.

Pas 4: disseny de PCB

Disseny de PCB
Disseny de PCB
Disseny de PCB
Disseny de PCB

Després d’acabar el disseny esquemàtic i entendre què significa tot, ara és hora de fer-ne un PCB.

Haureu de prémer "Converteix a PCB" a EasyEDA per crear el PCB a l'editor de PCB. A continuació, comenceu a col·locar peces i a fer enrutaments com de costum. Us suggereixo que no utilitzeu mai l’encaminador automàtic.

He utilitzat moltes vies per desplaçar-me de la capa superior a la inferior, ja que l’espai és molt reduït.

Pas 5: fabricar el PCB

Ara, el disseny del PCB està acabat. Ho hem comprovat tot i no s'ha trobat cap problema. Hem d’enviar els fitxers de disseny (els gerbers) a l’empresa de fabricació de PCB que triem perquè ho pugui fer per nosaltres.

La meva empresa escollida és JLCPCB. Són els millors per a aquest tipus de projectes i prototipatge i ofereixen només 2 $ de preu per a 10 peces senceres del vostre disseny.

Per tant, ara fem clic a (…) i triem JLCPCB. Ens dirigeixen al lloc web de JLCPCB, ja que són socis d'EasyEDA. Ara empleneu-ho tot i feu la comanda. Ara només espereu fins que arribin els PCB.

Val a dir que JLCPCB no només té EasyEDA associat, sinó que també té una gran botiga de components. L’avantatge és que tant la comanda de PCB com la comanda de components s’envien junts. Sí, no cal esperar que arribin dos paquets per separat, sinó que vénen combinats en un paquet. Us recomano utilitzar-lo.

Pas 6: Muntatge

Ara tenim els PCB sols amb tot. És hora de muntar-ho tot junts.

En primer lloc, hem de soldar l'electrònica segons l'esquema. És una tasca fàcil per a aquest projecte.

Després d'acabar la soldadura, ara talla els forats necessaris al recinte de plàstic i, a continuació, fixa bé el PCB amb altres components a l'interior amb una pistola de cola calenta.

Ara hauríeu d’utilitzar el potenciòmetre per ajustar el contrast de la pantalla LCD, mentre que trieu la vàlvula de resistència necessària per a la brillantor, he triat 100R.

Pas 7: Codi

El codi d’aquest projecte s’adjunta amb aquest pas i l’explicació és la següent:

// inclou el codi de la biblioteca: #include #include "DHT.h" // estableix el PIN DHT #define DHTPIN 2

Incloeu les biblioteques necessàries i definiu el pin 2 d'Arduino pro mini com a pin de dades per al sensor. Assegureu-vos d’instal·lar aquestes biblioteques si no en teniu.

// inicialitzeu la biblioteca amb els números dels pins de la interfície LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Ara inicialitzeu la biblioteca LCD amb aquests pins segons el propi esquema. Utilitzeu també la biblioteca DHT i trieu DHT11 com a sensor a utilitzar, de manera que si teniu DHT22, hauríeu de canviar-lo.

L'última línia diu que tenim un sensor DHT11 i que el seu pin de dades es troba al pin "DHTPIN", que és el pin 2 tal com el vam definir anteriorment.

void setup () {// configureu el nombre de columnes i files de la pantalla LCD: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatura i"); lcd.setCursor (0, 1); lcd.print ("sensor d'humitat"); retard (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); retard (3000); }

Ara és el moment de la configuració. i això és el que està passant:

La pantalla LCD és de 16 per 2.

Inicieu l'ordre DHT per obtenir valors.

Imprimiu "Sensor de temperatura i humitat" a les 2 línies.

Retarda 3 segons.

Visualització neta

Imprimiu "THUNDERTRONICS" a la primera línia i després imprimiu "Hossam Moghrabi" a la segona línia.

Retarda 3 segons.

^ Ho he fet com a pantalla de benvinguda que dura aproximadament uns 6 segons abans que es mostrin els valors.

bucle buit () {// llegir humitat int h = dht.readHumidity (); // temperatura de lectura en c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("ERROR"); tornar; }

Ara estem dins del nostre bucle etern que seguirà repetint-se.

Emmagatzemeu les lectures d'humitat dins de la variable "h" i les lectures de temperatura dins de la variable "t".

A continuació, tenim una afirmació if. Això bàsicament retorna un missatge d'error quan hi ha un error. Deixeu-lo sense canviar-lo.

Ara tenim tots els valors que necessitem.

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 ("Humitat ="); lcd.print (h); lcd.print ("%"); // lcd.print ("Hossam Moghrabi"); endarreriment (2000);

Finalment, mostrem aquests valors a la pantalla LCD. Podeu canviar-lo de la manera que vulgueu, perquè simplement imprimeix valors dins de les variables "h" i "t". Posar un retard de 2 segons és una mica opcional, però no se’n beneficiarà gaire si ho fa més ràpid, ja que el sensor en si no és tan ràpid i, encara que sigui, els valors físics no canvien mai tan de pressa. Per tant, 2 segons són molt ràpids per al treball.

Això és!

Recomanat: