// Definisikan pin untuk sensor ACS712 dan relay
const int sensorPin = A0;
const int relayPin = 7;
// Definisikan tegangan ambang batas untuk pemilihan sumber daya
const float thresholdVoltage = 2.5;
void setup() {
// Inisialisasi serial komunikasi untuk debugging
Serial.begin(9600);
// Inisialisasi pin relay sebagai output
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
}
void loop() {
// Baca nilai analog dari sensor ACS712
int sensorValue = analogRead(sensorPin);
// Konversi nilai analog ke tegangan (asumsi referensi tegangan 5V)
float voltage = sensorValue * (5.0 / 1023.0);
// Cetak tegangan ke Serial Monitor untuk debugging
Serial.print("Voltage: ");
Serial.println(voltage);
// Logika pemilihan sumber daya berdasarkan tegangan
if (voltage > thresholdVoltage) {
// Aktifkan relay jika tegangan melebihi ambang batas
digitalWrite(relayPin, HIGH);
} else {
// Nonaktifkan relay jika tegangan di bawah ambang batas
digitalWrite(relayPin, LOW);
}
// Tunggu selama 1 detik sebelum pembacaan berikutnya
delay(1000);
}