CONTENUTO ►
La stazione meteo basata su Arduino con display 1602 e DHT11 (DHT22) è uno dei progetti più popolari per i principianti su Arduino. Vediamo come realizzare una stazione meteorologica domestica con uscita di temperatura, umidità e pressione su schermo LCD con modulo I2C. Lo sketch utilizzerà uno speciale simbolo di grado per la visualizzazione; tutte le librerie necessarie per il progetto possono essere scaricate su questa pagina.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- display LCD 1602 i2c
- sensore DHT11 / DHT22
- breadboard
- cavi di collegamento
- libreria LiquidCrystal_I2C.h
Stazione meteo Arduino con DHT11 e display LCD 16×2
Se si dispone di un modulo Bluetooth HC-06, è possibile farlo lampeggiare e ricevere i dati dalla stazione meteorologica sul proprio smartphone. Questo modulo può fornire una trasmissione del segnale fino a 30 metri, sufficiente per piccoli appartamenti e case private. Un esempio di stazione meteorologica di questo tipo con un sensore DHT11 è illustrato in dettaglio in un altro progetto Meteostation su Arduino Uno e Android.
Schema per la costruzione di stazione metereologica Arduino
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 |
Il sensore e il display sono collegati ad Arduino Nano e Uno utilizzando lo stesso circuito – la piedinatura e il collegamento sono già stati discussi sul nostro sito web, quindi non ci soffermeremo su questo punto. Le informazioni provenienti dal sensore DHT11 saranno inviate alla porta seriale dell’IDE Arduino e al display LCD 1602a. Costruire una stazione meteorologica con il display 1602 e dht11 come mostrato nel diagramma precedente.
Programma Arduino per stazione metereologica con LCD 1602
#include "Wire.h" #include "LiquidCrystal_I2C.h" LiquidCrystal_I2C lcd(0x27,20,2); #include "DHT.h" DHT dht(2, DHT11); byte degre[8] = { 0b01100,0b10010,0b10010,0b01100,0b00000,0b00000,0b00000,0b00000 }; void setup() { Serial.begin(9600); lcd.init(); lcd.backlight(); lcd.createChar(1, degre); } void loop() { byte h = dht.readHumidity(); byte t = dht.readTemperature(); Serial.print("Temperature: "); Serial.println(t); Serial.print("Humidity: "); Serial.println(h); Serial.println(""); lcd.setCursor(0,0); lcd.print("Température: "); lcd.print(t); lcd.print(char(1)); lcd.setCursor(2,0); lcd.print("Humidité: "); lcd.print(h); lcd.print("%"); delay(1000); // attendere 1 secondo }
Spiegazione del codice per metereologica stazione con LCD 1602 e DHT11:
- nel programma non possono essere utilizzati più di 8 caratteri speciali;
- la velocità di aggiornamento dei dati sostituirla con il valore richiesto.
Conclusioni. Abbiamo visto come realizzare una semplice stazione meteorologica domestica su Arduino LCD 1602 i2c con un sensore di temperatura e umidità DHT11. Questo progetto può essere ulteriormente sviluppato aggiungendo altri sensori al circuito per analizzare le condizioni meteorologiche. È anche possibile realizzare una stazione meteorologica wireless su Arduino Uno utilizzando moduli bluetooth o radio per trasmettere informazioni a distanza.
Lascia un commento