#include <DHT.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include "RGB.h"

#define DHTPIN 11
#define pinRed 3
#define pinGreen 5
#define pinBlue 6
#define pinBuzzer 9

DHT dht(DHTPIN, DHT22);
LiquidCrystal_I2C lcd(0x27,16,2);

float kelembaban, suhu;

void setup() {
  lcd.init();
  lcd.backlight();
  dht.begin();

  pinMode(pinBuzzer, OUTPUT);
}

void loop() {
  suhu = dht.readTemperature();
  kelembaban = dht.readHumidity();

  tampilLCD();
  indikatorSuhu();
}

void tampilLCD(){
  lcd.setCursor(0,0);
  lcd.print("Suhu: ");
  lcd.print(suhu);
  lcd.print(" C");
  lcd.print("    ");
  lcd.setCursor(0,1);
  lcd.print("Lembab: ");
  lcd.print(kelembaban);
  lcd.print(" %");
  lcd.print("    ");
  delay(200);
}


void indikatorSuhu(){
  noTone(pinBuzzer);
  if(suhu <= 13){
    ledRGB(pinRed, pinGreen, pinBlue, 0, 0, 255);
  } else if(suhu > 13 && suhu < 35){
    ledRGB(pinRed, pinGreen, pinBlue, 0, 255, 0);
  } else if (suhu >=35){
    ledRGB(pinRed, pinGreen, pinBlue, 255, 0, 0);
    tone(pinBuzzer, 1500);
  }
}