#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define ledM 7
#define ledK 6
#define ledH 5
#define buzz 8
#define DHTPIN 2
LiquidCrystal_I2C lcd(0x27,16,2);
int i=0;
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.init();
lcd.clear();
lcd.backlight();
dht.begin();
pinMode(ledM, OUTPUT);
pinMode(ledK, OUTPUT);
pinMode(ledH, OUTPUT);
pinMode(buzz, OUTPUT);
Serial.begin(9600);
for (i=0; i<5; i++)
{ lcd.setCursor(i,0);
lcd.print("UPGRADING");
lcd.setCursor(i,1);
lcd.print("EMBEDED IOT");
delay(300);
lcd.clear();
}
for (i=3; i>-1; i--)
{ lcd.setCursor(i,0);
lcd.print("UPGRADING");
lcd.setCursor(i,1);
lcd.print("EMBEDED IOT");
delay(300);
lcd.clear();
}
}
void loop() {
float suhuC = dht.readTemperature();
float suhuF = dht.readTemperature(true);
lcd.setCursor(0,0);
lcd.print("Suhu: ");
lcd.print(suhuC);
lcd.setCursor(12,0);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Suhu: ");
lcd.print(suhuF);
lcd.setCursor(12,1);
lcd.print((char)223);
lcd.print("F");
if (suhuC <= 20) {
digitalWrite(ledM, 0);
digitalWrite(ledK, 0);
digitalWrite(ledH, 1);
noTone(buzz);
}
if (suhuC >= 25 && suhuC < 35) {
digitalWrite(ledM, 0);
digitalWrite(ledK, 1);
digitalWrite(ledH, 0);
noTone(buzz);
}
if (suhuC > 35) {
digitalWrite(ledM, 1);
digitalWrite(ledK, 0);
digitalWrite(ledH, 0);
digitalWrite(ledH, 0);
tone(buzz, 100);
delay(100);
noTone(buzz);
delay(100);
}
}