Stazione meteo Arduino con display LCD

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

Schema per la costruzione stazione meteo su Arduino Uno con display 1602
Schema per la costruzione stazione meteo su Arduino Uno
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:



  1. nel programma non possono essere utilizzati più di 8 caratteri speciali;
  2. 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.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.