/*const int ledhijau = 4;
const int ledkuning = 3;
const int ledmerah = 2;
const int potensio =A0;
void setup() {
pinMode(potensio, INPUT);
pinMode(ledkuning, OUTPUT);
pinMode(ledhijau, OUTPUT);
pinMode(ledmerah, OUTPUT);
Serial.begin(115200);
}
void loop(){
int value = analogRead(A0);
if (value <= 341){
digitalWrite(ledhijau, HIGH);
digitalWrite(ledkuning, LOW);
digitalWrite(ledmerah, HIGH);
delay(100);
}
else if (value <= 682){
digitalWrite(ledhijau, LOW);
digitalWrite(ledkuning, HIGH);
digitalWrite(ledmerah, LOW);
delay(100);
}
else if (value <=1023) {
digitalWrite(ledkuning, LOW);
digitalWrite(ledmerah, LOW);
digitalWrite(ledhijau, HIGH);
delay(100);
}
Serial.println(value);
delay(100);
}
*/
class LedController {
private:
int ledHijauPin;
int ledKuningPin;
int ledMerahPin;
int potensioPin;
public:
LedController(int hijau, int kuning, int merah, int potensio) {
ledHijauPin = hijau;
ledKuningPin = kuning;
ledMerahPin = merah;
potensioPin = potensio;
pinMode(ledHijauPin, OUTPUT);
pinMode(ledKuningPin, OUTPUT);
pinMode(ledMerahPin, OUTPUT);
pinMode(potensioPin, INPUT);
}
void updateLedStatus() {
int value = analogRead(potensioPin);
if (value <= 341) {
digitalWrite(ledHijauPin, LOW);
digitalWrite(ledKuningPin, LOW);
digitalWrite(ledMerahPin, HIGH); // Only red LED is ON
}
else if (value <= 682) {
digitalWrite(ledHijauPin, LOW);
digitalWrite(ledKuningPin, HIGH); // Only yellow LED is ON
digitalWrite(ledMerahPin, LOW);
}
else {
digitalWrite(ledHijauPin, HIGH); // Only green LED is ON
digitalWrite(ledKuningPin, LOW);
digitalWrite(ledMerahPin, LOW);
}
Serial.println(value);
delay(100);
}
};
LedController* controller; // Membuat pointer untuk LedController
void setup() {
Serial.begin(115200);
controller = new LedController(4, 3, 2, A0); // Inisialisasi controller dengan pin yang sesuai
}
void loop() {
controller->updateLedStatus(); // Memanggil fungsi untuk memperbarui status LED
}