//initialisasi awal
int red = 19;
int green = 18;
int blue = 5;
int potensio = 4;
int switch_A = 21;
// membuat void khusus
void mode_A() {
//menentukan variabel red, green, blue atau pin 19, 18, 5 sebagai Output
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
//pembacaan sinyal potensio
int signal = analogRead(potensio);
Serial.print("Kekuatan Signal: "); Serial.println(signal);
analogWrite(red,signal);
analogWrite(green,signal - 1000);
analogWrite(blue,signal -2000);
//untuk mempercepat proses simulasi di wokwi, kata wokwinya
delay(10);
}
void mode_B() {
//menentukan variabel red, green, blue atau pin 19, 18, 5 sebagai Output
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
//pembacaan sinyal potensio
int signal = analogRead(potensio);
//sinyal dari potensio diubah menjadi delay untuk led
int waktu = signal / 10 + 100 ;
Serial.print("Waktu Delay: "); Serial.println(waktu);
//penyalaan led
digitalWrite(red, LOW); digitalWrite(green, LOW); digitalWrite(blue, LOW);
delay(waktu);
digitalWrite(red, HIGH); digitalWrite(green, LOW); digitalWrite(blue, LOW);
delay(waktu);
digitalWrite(red, LOW); digitalWrite(green, HIGH); digitalWrite(blue, LOW);
delay(waktu);
digitalWrite(red, LOW); digitalWrite(green, LOW); digitalWrite(blue, HIGH);
delay(waktu);
}
void setup() {
Serial.begin(115200);
//menentukan variabel potensio, switch_A atau pin 4, 21 sebagai Output
pinMode(potensio, INPUT);
pinMode(switch_A, INPUT);
}
void loop() {
bool mode = digitalRead(switch_A);
if (mode == 0) {
Serial.println("Mode A");
mode_A();
analogWrite(red,0); analogWrite(green,0); analogWrite(blue,0);
} else {
Serial.println("Mode B");
mode_B();
digitalWrite(red, LOW); digitalWrite(green, LOW); digitalWrite(blue, LOW);
}
delay(10);
}