#include <dht.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); //inicializácia classy lcd
dht DHT; //deklaracia classy DHT
#define DHT22_PIN 2 //makro na oznacenie pinu pre DHT sendzor
#define ledPin0 3 //makro na oznacenie pinu pre led
#define ledPin1 4 //makro na oznacenie pinu pre led
#define ledPin2 5 //makro na oznacenie pinu pre led
#define ledPin3 6 //makro na oznacenie pinu pre led
void setup() {
pinMode(ledPin0, OUTPUT); //inicializacia pinov na arduine
pinMode(ledPin1, OUTPUT); //inicializacia pinov na arduine
pinMode(ledPin2, OUTPUT); //inicializacia pinov na arduine
pinMode(ledPin3, OUTPUT); //inicializacia pinov na arduine
lcd.init(); //inicializacia a spustenie lcd displeja
lcd.backlight(); //zapnutie podsvietenia
}
void loop() {
DHT.read22(DHT22_PIN); //precitanie údajov z DHT22 senzora
if(DHT.temperature >= 20 && DHT.temperature <= 40){ //podmienka na urcenie kedy sa majú zasvietit LEDky podla teploty
digitalWrite(ledPin0, HIGH); //zapnutie ledky
}
else{
digitalWrite(ledPin0, LOW); //vypnutie ledky
}
if(DHT.temperature < 20){ //podmienka na urcenie kedy sa majú zasvietit LEDky podla teploty
digitalWrite(ledPin1, HIGH); //zapnutie ledky
}
else{
digitalWrite(ledPin1, LOW); //vypnutie ledky
}
if(DHT.temperature > 40){ //podmienka na urcenie kedy sa majú zasvietit LEDky podla teploty
digitalWrite(ledPin2, HIGH); //zapnutie ledky
}
else{
digitalWrite(ledPin2, LOW); //vypnutie ledky
}
if(DHT.humidity > 50){ //podmienka na urcenie kedy sa majú zasvietit LEDky podla vlhkosti
digitalWrite(ledPin3, HIGH); //zapnutie ledky
}
else{
digitalWrite(ledPin3, LOW); //vypnutie ledky
}
zobraz(DHT.humidity,DHT.temperature); //vypis teploty a vlhkosti na lcd display
}
void zobraz(float humidity, float temperature){
lcd.setCursor(0,0); //nastavenie kde sa ma zacat pisat na lcd diplay-i
lcd.print("Teplota: "); //vypis textu
lcd.setCursor(8,0); //nastavenie kde sa ma zacat pisat na lcd diplay-i
lcd.print(temperature,1); //vypis nameranych hodnôt
lcd.setCursor(13,0); //nastavenie kde sa ma zacat pisat na lcd diplay-i
lcd.print("C"); //vypis znaku urcujuceho typ hodnoty
lcd.setCursor(0,1); //nastavenie kde sa ma zacat pisat na lcd diplay-i
lcd.print("Vlhkost: "); //vypis textu
lcd.setCursor(8,1); //nastavenie kde sa ma zacat pisat na lcd diplay-i
lcd.print(humidity,1); //vypis nameranych hodnôt
lcd.setCursor(13,1); //nastavenie kde sa ma zacat pisat na lcd diplay-i
lcd.print("%"); //vypis znaku urcujuceho typ hodnoty
}