#include <DHTesp.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define LED_M 2
#define LED_K 4
#define LED_B 5
#define Buzzer 15
#define DHTPIN 13
const int DHT_PIN = 13;
DHTesp dhtSensor;
Adafruit_SSD1306 display(128, 64, &Wire, -1);
void setup() {
pinMode(LED_M, OUTPUT);
pinMode(LED_K, OUTPUT);
pinMode(LED_B, OUTPUT);
pinMode(Buzzer, OUTPUT);
Serial.begin(9600);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(1);
display.setTextSize(1);
display.display();
}
void loop()
{
float temp = dhtSensor.getTemperature();
display.clearDisplay();
display.setCursor(30,10);
display.print("Suhu: ");
display.print(temp);
display.print(" C");
if(temp <29)
{
digitalWrite(LED_M, LOW);
digitalWrite(LED_K, LOW);
digitalWrite(LED_B, HIGH);
display.setCursor(10,30);
display.print("Suhu terlalu rendah");
}
else if(temp>=29 && temp <=35)
{
digitalWrite(LED_M, LOW);
digitalWrite(LED_K, HIGH);
digitalWrite(LED_B, LOW);
display.setCursor(30,30);
display.print("Suhu normal");
}
else
{
digitalWrite(LED_M, HIGH);
digitalWrite(LED_K, LOW);
digitalWrite(LED_B, LOW);
display.setCursor(10,30);
display.print("Suhu terlalu tinggi");
tone(Buzzer, 500, 200);
delay(200);
tone(Buzzer, 1000, 200);
delay(200);
}
display.display();
}