#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <SoftwareSerial.h>
#define DHTPIN 10 // Pin GPIO untuk DHT22 pada Arduino
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Inisialisasi SoftwareSerial untuk HC-06
SoftwareSerial BTSerial(2, 3); // RX, TX
LiquidCrystal_I2C lcd(0x27, 20, 4);
float temp;
void setup() {
Serial.begin(9600);
BTSerial.begin(9600); // Baud rate untuk HC-06
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 1);
lcd.print("SISTEM DETEKSI CUACA");
delay(3000);
lcd.clear();
}
void loop() {
temp = dht.readTemperature();
// Tampilkan suhu di LCD
lcd.setCursor(0, 1);
lcd.print("Suhu :");
lcd.setCursor(10, 1);
lcd.print(temp);
lcd.setCursor(19, 1);
lcd.print("C");
// Tampilkan kondisi cuaca di LCD
lcd.setCursor(0, 2);
lcd.print("Cuaca :");
lcd.setCursor(10, 2);
if (temp <= 25) {
lcd.print("Hujan");
} else if (temp > 25 && temp < 35) {
lcd.print("Mendung");
} else if (temp >= 35) {
lcd.print("Panas");
}
// Kirim data suhu melalui Bluetooth
if (BTSerial.available()) {
BTSerial.print("Suhu: ");
BTSerial.print(temp);
BTSerial.println(" C");
}
delay(1000); // Tunggu 1 detik sebelum pembacaan berikutnya
}