//tes 1 (Andi Susilo)
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include "DHTesp.h"
#define LEBAR_LAYAR 128 //Deklarasi lebar OLED yang digunakan
#define TINGGI_LAYAR 64 //Deklarasi tinggi OLED yang digunakan
#define LEDM 23
#define LEDK 34
#define LEDB 35
#define Buzzer 13
Adafruit_SSD1306 oled(LEBAR_LAYAR, TINGGI_LAYAR, &Wire, -1);
////#include <WiFi.h>
//#include <WiFiClient.h>
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup()
{
Serial.begin(115200);
pinMode(LEDM, OUTPUT);
pinMode(LEDK, OUTPUT);
pinMode(LEDB, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
//OLED
//Debuging untuk mengecek apakah OLED terhubung dengan baik atau tidak
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("failed to start SSD1306 OLED"));
while (1);
}
delay(2000);
oled.clearDisplay(); // Menghapus semua karakter yang ada di OLED
oled.setTextSize(1); // Mengatur ukuran teks
oled.setTextColor(WHITE); // Mengatur warna dari teks
oled.setCursor(0, 10); // Mengatur posisi teks ditampilkan (kolom,baris)
//oled.println("Hello World"); // Teks yang ditampilkan ke OLED
//oled.display();
}
void loop()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
//Sensor DHT22
float t = data.temperature;
if (t <29){
digitalWrite(LEDB,HIGH);
digitalWrite(LEDK,LOW);
digitalWrite(LEDM,LOW);
oled.println("SUHU RENDAH"); // Teks yang ditampilkan ke OLED
oled.display();
}
else if ((t>=29) && (t <=35)){
digitalWrite(LEDK,HIGH);
digitalWrite(LEDB,LOW);
digitalWrite(LEDM,LOW);
oled.println("SUHU CUKUP"); // Teks yang ditampilkan ke OLED
oled.display();
}
else (t >35){
digitalWrite(LEDM,HIGH);
digitalWrite(LEDK,LOW);
digitalWrite(LEDB,LOW);
oled.println("SUHU PANAS"); // Teks yang ditampilkan ke OLED
oled.display();
tone(Buzzer,300);
delay(1); // this speeds up the simulation
noTone(Buzzer);
}
}