5151+ reviews
Order by 16:00 for same day shipping
14 days return
EN
Individual
Business
In this Arduino project you will learn how to make a weather station yourself. You do this using a DHT11 temperature & humidity sensor and a LDR. The temperature, humidity and light intensity are displayed on a 16×2 LCD display.
This manual covers:
/*
In deze code maken we een weerstation.
Dit weerstation zal je laten zien wat de temperatuur is in "°C",
de luchtvochtigheid in "%" en de verlichting in "LUX".
Deze waarden worden weergegeven op een I2C LCD Display.
*/
//Deze library's zijn voor de I2C LCD Display
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//Deze library is voor de DHT11 Temperatuur/Luchtvochtigheid sensor
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
//Hier definiëren we de LCD
const int i2c_addr = 0x3F; //Hier zet je het I2C addres neer. Deze moet je eerst uitzoeken voordat je begint.
const int Kolommen = 16; //Hier zet je het aantal kolommen neer
const int Rijen = 2; //Hier zet je het aantal rijden van je display neer
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(i2c_addr,Kolommen,Rijen); //Hier maken we een LCD die de eigenschappen die je net geschreven hebt aan
//Nu definiëren we de DHT sensor
#define DHTPIN 2
#define DHTTYPE DHT11
DHT_Unified dht(DHTPIN,DHTTYPE);
void setup() {
Serial.begin(9600);
lcd.init(); //Hier starten we de LCD
lcd.backlight();
lcd.clear(); //Vanaf hier doen we een eenmalige "testprint" om te kijken of jou LCD werkt
lcd.setCursor(0,0);
lcd.print("Starting: ");
delay(500);
for(int i = 1; i <= 16; i++){
lcd.setCursor(10,0);
lcd.print((i*100)/16);
lcd.print("%");
lcd.setCursor(i-1,1);
lcd.print("=");
delay(100);
}
delay(400);
lcd.clear();
//hier starten we de sensor
dht.begin();
//hier testen we de sensor
sensor_t sensor;
dht.temperature().getSensor(&sensor);
dht.humidity().getSensor(&sensor);
pinMode(A5,INPUT);
}
void loop() {
//Hier starten we de LCD opnieuw op
lcd.init();
//Hier lezen we de sensor temperatuur
sensors_event_t event;
dht.temperature().getEvent(&event);
//En zorgen dat deze op de LCD te zien is
lcd.setCursor(0,0);
lcd.print("Temp.: ");
lcd.print(event.temperature - 5);
lcd.print("C");
//Hier lezen we de luchtvochtigheid
dht.humidity().getEvent(&event);
//En zorgen dat deze op de LCD te zien is
lcd.setCursor(0,1);
lcd.print("Vochtig.: ");
lcd.print(event.relative_humidity);
lcd.print("%");
delay(1000);
//Hier lezen we de LDR uit en zetten we de waarde om naar LUX
int Vout = ((analogRead(A5)*5)/1023);
int RLDR = (((5-Vout)*10000)/Vout);
lcd.init();
lcd.print("Licht: ");
lcd.print(RLDR);
lcd.print(" LUX");
delay(1000);
}