CONTENUTO ►
Vediamo come collegare un sensore di temperatura e umidità a un microcontrollore Arduino e analizziamo il design e le caratteristiche del sensore DHT11. Il primo esempio di programma invierà i dati dal modulo DHT11 al monitor della porta seriale. Nel secondo esempio, utilizzeremo i dati inviati al modulo LCD 1602 utilizzando il bus I2C. Per lavorare con il sensore di temperatura e umidità di Arduino, è necessario installare la libreria DHT.h.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensore di temperatura e umidità DHT11
- display LCD 1602 i2c
- cavi di collegamento
- libreria DHT.h e LiquidCrystal_I2C.h
Sensore di temperatura e umidità DHT11 datasheet, pinout
Il sensore di temperatura e umidità DHT11 è montato su scheda e dispone di un connettore a tre pin. Il modulo DHT11 è un sensore digitale composto da un termistore e da un sensore di umidità capacitivo. Oltre al costo contenuto, il DHT11 presenta le seguenti caratteristiche: alimentazione da 3,5 a 5 Volts, rilevamento della temperatura da 0 a 50 gradi con una precisione di 2 gradi, rilevamento dell’umidità da 20 a 95 % con una precisione del 5 %.
Caratteristiche del sensore di temperatura DHT11 Arduino:
- Tensione di alimentazione: 3,5 – 5 V
- Humidité (relative %): 20 ~ 80%
- Précision (humidité): +/- 5%
- Température: 0 ~ +50°C
- Précision (température): +/- 2°C
- Fréquence mesure max: 1Hz (1 mesure par seconde)
- Stabilité à long terme: +/- 1% par an
Un termistore è un dispositivo la cui resistenza varia con la temperatura, cioè un aumento della temperatura determina una diminuzione della resistenza. In sostanza, un termistore è una termoresistenza in ossido di metallo. Appartiene alla tecnologia di misura e può essere utilizzato per la misurazione automatica della temperatura in vari ambienti.
Un sensore di umidità capacitivo è un condensatore a capacità variabile. Il condensatore è incapsulato in una guaina impermeabile rivestita da uno strato essiccante. Quando le particelle d’acqua entrano in contatto con questo strato, la sua costante dielettrica cambia, determinando una variazione della capacità del condensatore.
Come collegare sensore di temperatura e umidità DHT11 Arduino
Per prima cosa vedremo come ottenere le misure da questo sensore utilizzando un microcontrollore Arduino. Il codice per ottenere informazioni dal sensore di umidità DHT11 non è complicato, ma richiede un po’ di lavoro. La cosa più semplice è utilizzare le librerie fornite da Arduino o da altri utenti del programma. Queste librerie possono essere trovate su vari siti web, ma soprattutto su GitHub, una piattaforma per la condivisione di link.
Programma Arduino per sensore di temperatura e umidità DHT11
#include "DHT.h" DHT dht(2, DHT11); void setup() { dht.begin(); Serial.begin(9600); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); Serial.print("Humidity: "); Serial.println(h); Serial.print("Temperature: "); Serial.println(t); delay(1000); }
Spiegazione del codice per sensore di temperatura e umidità DHT11 Arduino:
- per collegare il sensore al microcontrollore Arduino Uno / Nano è possibile utilizzare qualsiasi pin generico, specificandolo nel codice;
- Serial.print(); invia informazioni alla porta seriale senza avanzamento di riga, Serial.println(); invia informazioni con avanzamento di riga.
Come collegare del sensore di temperatura DHT11 e LCD 1602
LCD 1602 i2c | Arduino Uno | Arduino Nano | Arduino Mega |
GND | GND | GND | GND |
VCC | 5V | 5V | 5V |
SDA | A4 | A4 | 20 |
SCL | A5 | A5 | 21 |
Si noti che la piedinatura dei moduli sensore DHT11 può variare da produttore a produttore. Se l’alimentazione è collegata in modo errato, il sensore potrebbe non funzionare correttamente. Il display LCD 1602 è collegato al bus i2c del microcontrollore, sui pin SDA (A4) e SCL (A5) delle schede Arduino Uno e Nano. Quando si lavora con la scheda Arduino Mega 2560, il display è collegato all’interfaccia i2c sui pin SDA (20) e SCL (21).
Programma Arduino per sensore DHT11 e display LCD 1602 i2c
#include "Wire.h" #include "LiquidCrystal_I2C.h" #include "DHT.h" LiquidCrystal_I2C LCD(0x27,16,2); DHT dht(2, DHT11); void setup() { LCD.init(); LCD.backlight(); dht.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); LCD.setCursor(0,0); LCD.print("Humidity: "); LCD.print(h); LCD.setCursor(0,1); LCD.print("Temperature: "); LCD.print(t); delay(1000); LCD.clear(); }
Spiegazione del codice per sensore DHT11 e display LCD 1602 i2c Arduino:
- la funzione LCD.clear(); del programma cancella lo schermo LCD 1602 che visualizza le registrazioni per emettere i nuovi valori dal sensore di umidità Arduino DHT11.
Conclusioni. In questa recensione abbiamo esaminato come collegare il DHT11 ad Arduino. Abbiamo fornito due esempi con schemi e programmi per trasferire le informazioni dal sensore digitale alla porta seriale dell’IDE Arduino e al display 1602. Esistono molti progetti di stazioni meteorologiche Arduino con il sensore di temperatura e umidità DHT11, che potete costruire voi stessi studiando attentamente le informazioni contenute in questa pagina.
Lascia un commento