#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
int ledW = 13;
int ledB = 18;
int ledR = 5;
int buzzpin = 4;
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 62
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
DHT dht(27,DHT22);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
if(!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)){
Serial.print(F("oled failed"));
while(1);
};
dht.begin();
pinMode(ledR, OUTPUT);
pinMode(ledB, OUTPUT);
ledcAttachPin(buzzpin, 0);
}
void loop() {
delay(1000);
float t = dht.readTemperature();
float h = dht.readHumidity();
if(t <= 15 && h <=10){
digitalWrite(ledW, HIGH);
digitalWrite(ledR, LOW);
digitalWrite(ledB, LOW);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0,2);
oled.println("Suhu: ");
oled.println(t);
oled.println("Kelembapan: ");
oled.println(h);
oled.display();
ledcWriteNote(0, NOTE_F, 4); //channel, note, octave
Serial.println("panas");
} else if(16>=t<=27 && 11>=h<=50){
digitalWrite(ledB, HIGH);
digitalWrite(ledR, LOW);
digitalWrite(ledW, LOW);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0,2);
oled.println("Suhu: ");
oled.println(t);
oled.println("Kelembapan: ");
oled.println(h);
oled.display();
// ledcWriteNote(0, NOTE_A, 4); //channel, note, octave
Serial.println("panas");
} else if(t > 27 && h>=51){
digitalWrite(ledR, HIGH);
digitalWrite(ledB, LOW);
digitalWrite(ledW, LOW);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0,2);
oled.println("Suhu: ");
oled.println(t);
oled.println("Kelembapan: ");
oled.println(h);
oled.display();
}
else{
digitalWrite(ledR, LOW);
digitalWrite(ledB, LOW);
digitalWrite(ledW, LOW);
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(WHITE);
oled.setCursor(0,2);
oled.println("Suhu: ");
oled.println(t);
oled.println("Kelembapan: ");
oled.println(h);
oled.display();
// ledcWriteNote(0, NOTE_A, 4); //channel, note, octave
Serial.println("menyala abangkuu!!!");
}
}