#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
int red = 32;
int blue = 33;
int buzzpin = 25;
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
DHT dht(23,DHT22);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
if(!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)){
Serial.println(F("oled failed"));
while(1);
};
dht.begin();
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
ledcAttachPin(buzzpin, 0);
}
void loop() {
// put your main code here, to run repeatedly:
delay(1000); // this speeds up the simulation
float t = dht.readTemperature();
float h = dht.readHumidity();
if(t >= 50){
digitalWrite(red, HIGH);
delay(500);
digitalWrite(red, LOW);
digitalWrite(blue, LOW);
ledcWriteNote(0, NOTE_F, 4);
Serial.println("panas");
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 2);
oled.print("Suhu: ");
oled.println(t);
oled.print("Kelembapan: ");
oled.println(h);
oled.display();
}else if(t < 50){
digitalWrite(blue, HIGH);
delay(500);
digitalWrite(red, LOW);
digitalWrite(blue, LOW);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0, 2);
oled.print("Suhu: ");
oled.println(t);
oled.print("Kelembapan: ");
oled.println(h);
oled.display();
ledcWriteNote(0, NOTE_A, 4);
Serial.println("dingin");
}
}