#include <LiquidCrystal.h>
#include <DHT.h>
#include <Adafruit_Sensor.h>
#define DHTPIN 2
#define DHTTYPE DHT11
const int rs = 8, en = 9, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
DHT dht(DHTPIN, DHTTYPE);
byte termometr[8] = {
0b00100,
0b00110,
0b00100,
0b00110,
0b00100,
0b01110,
0b01110,
0b00000
};
byte kropla[8] = {
0b00100,
0b00100,
0b01110,
0b01110,
0b10111,
0b10111,
0b01110,
0b00000
};
byte stopnie[8] = {
0b00010,
0b00101,
0b00010,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup() {
lcd.begin(16, 2);
lcd.print("Czekaj...");
lcd.createChar(0, termometr);
lcd.createChar(1, kropla);
lcd.createChar(2, stopnie);
dht.begin();
Serial.begin(9600);
}
void loop() {
delay(2000);
float temp = dht.readTemperature();
float wilg = dht.readHumidity();
if (isnan(temp) || isnan(wilg)) {
lcd.home();
lcd.print("Blad odczytu");
Serial.println("Blad odczytu");
return;
}
lcd.home();
lcd.write((byte)0);
lcd.print(" ");
lcd.print(temp);
lcd.print(" ");
lcd.write((byte)2);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.write((byte)1);
lcd.print(" ");
lcd.print(wilg);
lcd.print(" %");
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" C, Wilgotnosc: ");
Serial.print(wilg);
Serial.println(" %");
}