La humitat i la temperatura són paràmetres habituals per mesurar les condicions ambientals. En aquest projecte basat en Arduino, mesurarem la temperatura i la humitat ambient i la mostrarem en una pantalla LCD de 16x2. Un sensor combinat de temperatura i humitat DHT11 s’utilitza amb Arduino uno per desenvolupar aquest projecte de mesurament d’humitat a escala tèrmica Celsius i percentual. En un dels meus projectes anteriors, també he desenvolupat un termòmetre digital que utilitza el sensor de temperatura LM35.
Aquest projecte consta de tres seccions: una detecta la humitat i la temperatura mitjançant el sensor DHT11 d’humitat i temperatura. La segona secció llegeix la sortida del mòdul DHTsensor i extreu els valors de temperatura i humitat en un nombre adequat en percentatge i escala Celsius. I la tercera part del sistema mostra humitat i temperatura a la pantalla LCD.

El treball d’aquest projecte es basa en la comunicació en sèrie d’un sol fil. Primer l’arduino envia un senyal d’inici al mòdul DHT i després el DHT dóna un senyal de resposta que conté dades de temperatura i humitat. Arduino recopila i extreu en dues parts: una és la humitat i la segona és la temperatura i després les envieu a un LCD de 16x2.
Aquí, en aquest projecte, hem utilitzat un mòdul sensor DHT11. Aquest mòdul presenta un complex d’humitat i temperatura amb una sortida de senyal digital calibrada que significa que el mòdul de sensor DHT11 és un mòdul combinat per detectar humitat i temperatura que proporciona un senyal de sortida digital calibrat. DHT11 ens proporciona un valor molt precís d’humitat i temperatura i garanteix una alta fiabilitat i estabilitat a llarg termini. Aquest sensor té un component de mesura de la humitat de tipus resistiu i un component de mesura de temperatura de tipus NTC amb un microcontrolador de 8 bits incorporat que té una resposta ràpida i rendible i està disponible en un paquet de 4 pins d’una sola fila.

El mòdul DHT11 funciona en comunicacions en sèrie, és a dir, en comunicacions d’un sol cable. Aquest mòdul envia dades en forma de tren d’impulsos d’un període de temps específic. Abans d’enviar dades a arduino, cal una ordre d’inicialització amb un retard de temps. I tot el temps del procés és d’uns 4 ms. Una transmissió completa de dades és de 40 bits i el format de dades d’aquest procés es mostra a continuació:
Dades RH integrals de 8 bits + Dades RH decimals de 8 bits + Dades integrals de 8 bits T + Dades decimals de 8 bits + Suma de comprovació de 8 bits.
Procés complet
Primer de tot, arduino envia un senyal d’inici d’alta a baixa a DHT11 amb un retard de 18 µs per garantir la detecció de DHT. I, a continuació, arduino extreu la línia de dades i espereu 20-40µs per a la resposta de DHT. Un cop DHT detecti el senyal d'inici, enviarà un senyal de resposta de nivell de baix voltatge a un arduino de retard de temps d'uns 80µs. I, a continuació, el controlador DHT treu la línia de dades i la manté durant 80 µs perquè DHT organitzi l'enviament de dades.
Quan el bus de dades té un nivell de baixa tensió, vol dir que DHT11 envia senyal de resposta. Un cop fet, DHT torna a fer una extracció de la línia de dades durant 80 µs per preparar la transmissió de dades.
El format de dades que envia DHT a arduino per a cada bit comença amb un nivell de baixa tensió de 50 µs i la longitud del senyal de nivell d’alt voltatge determina si el bit de dades és “0” o “1”.

Una cosa important és assegurar-se del valor de la resistència de pujada, ja que si situem el sensor DHT a una distància <20 metres, es recomana la resistència de pujada de 5 k. Si col·loqueu DHT a més de 20 metres, utilitzeu la resistència de tracció del valor adequat.
Diagrama del circuit i explicació

S'utilitza una pantalla de cristall líquid per mostrar la temperatura i la humitat que es connecta directament a arduino en mode de 4 bits. Els pins de la pantalla LCD, RS, EN, D4, D5, D6 i D7 estan connectats al pin digital arduino número 2, 3, 4, 5, 6 i 7. I un mòdul de sensor DHT11 també està connectat al pin digital 12 d’arduino amb un Resistència de tracció de 5 k.
Descripció de la programació
En la programació, farem servir biblioteques predefinides per al sensor DHT11 i el mòdul de pantalla LCD.

A continuació, hem definit els pins per al sensor LCD i DHT i hem inicialitzat totes les coses de la configuració. A continuació, en un bucle mitjançant la funció dht es llegeix el sensor DHT i, a continuació, mitjançant algunes funcions dht, extraiem la humitat i la temperatura i les mostrem a la pantalla LCD.

Aquí es crea el símbol de grau mitjançant el mètode de caràcters personalitzats.

