#include <OneWire.h>
#include <DallasTemperature.h>
// Koneksi Sensor Hujan
const int rainSensorPin = 34; // Pin untuk membaca nilai analog
const int threshold = 2000; // Nilai threshold untuk mendeteksi hujan
// Koneksi Sensor Suhu
#define ONE_WIRE_BUS 22 // Pin untuk sensor suhu
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
// Inisialisasi sensor suhu
sensors.begin();
Serial.println("Sistem Sensor Hujan dan Suhu Siap!");
Serial.println("Pastikan koneksi pin:");
Serial.println("- VCC sensor hujan -> 3.3V ESP32");
Serial.println("- GND sensor hujan -> GND ESP32");
Serial.println("- AOUT sensor hujan -> GPIO34 ESP32");
Serial.println("- Data wire sensor suhu -> GPIO22 ESP32");
}
void loop() {
// Baca nilai dari sensor hujan
int rainValue = analogRead(rainSensorPin);
// Tampilkan nilai sensor hujan
Serial.print("Nilai Sensor Hujan: ");
Serial.println(rainValue);
// Cek kondisi hujan
if(rainValue < threshold) {
Serial.println("Status: Hujan Terdeteksi!");
} else {
Serial.println("Status: Tidak Hujan");
}
// Baca nilai dari sensor suhu
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
// Tampilkan nilai suhu
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
// Delay antara pembacaan
delay(1000);
}