// Pin untuk sensor suhu
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
// Pin untuk motor servo
Servo feederServo;
// Pin untuk relay
const int relayPin = 8;
// Pin untuk sensor pH
const int pHSensorPin = A0;
// Variabel untuk menyimpan nilai pH
float pHValue = 0.0;
// Inisialisasi LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C biasanya 0x27, bisa berbeda tergantung modul
void setup() {
Serial.begin(9600);
// Inisialisasi sensor suhu
sensors.begin();
// Inisialisasi motor servo
feederServo.attach(9);
// Inisialisasi relay
pinMode(relayPin, OUTPUT);
// Inisialisasi sensor pH
pinMode(pHSensorPin, INPUT);
// Inisialisasi LCD
lcd.init(); // Memulai LCD
lcd.backlight(); // Menghidupkan lampu latar LCD
lcd.print("Inisialisasi...");
delay(2000); // Menunggu 2 detik
lcd.clear(); // Membersihkan layar LCD
}
void loop() {
// Membaca suhu
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
Serial.print("Suhu: ");
Serial.println(temperatureC);
// Mengontrol relay berdasarkan suhu
if (temperatureC > 25) {
digitalWrite(relayPin, HIGH); // Menghidupkan relay (pompa air atau lampu)
} else {
digitalWrite(relayPin, LOW); // Mematikan relay
}