// Definisi Pin Sensor
const int S1 = 12; // Kiri Luar
const int S2 = 13; // Kiri Dalam
const int S3 = 15; // Tengah
const int S4 = 14; // Kanan Dalam
const int S5 = 2; // Kanan Luar
// Definisi Pin Motor
const int ML = 4; // Motor Kiri
const int MR = 16; // Motor Kanan
void setup() {
Serial.begin(115200);
pinMode(S1, INPUT_PULLUP);
pinMode(S2, INPUT_PULLUP);
pinMode(S3, INPUT_PULLUP);
pinMode(S4, INPUT_PULLUP);
pinMode(S5, INPUT_PULLUP);
pinMode(ML, OUTPUT);
pinMode(MR, OUTPUT);
Serial.println("Simulasi Robot Line Follower ESP32-CAM Siap!");
}
void loop() {
// Membaca status switch (Simulasi Sensor)
// Di Wokwi, switch ke kanan biasanya bernilai HIGH
int val1 = digitalRead(S1);
int val2 = digitalRead(S2);
int val3 = digitalRead(S3);
int val4 = digitalRead(S4);
int val5 = digitalRead(S5);
if (val3 == HIGH) { // Garis di tengah
Serial.println("MAJU");
digitalWrite(ML, HIGH);
digitalWrite(MR, HIGH);
}
else if (val1 == HIGH || val2 == HIGH) { // Garis di kiri
Serial.println("BELOK KIRI");
digitalWrite(ML, LOW);
digitalWrite(MR, HIGH);
}
else if (val4 == HIGH || val5 == HIGH) { // Garis di kanan
Serial.println("BELOK KANAN");
digitalWrite(ML, HIGH);
digitalWrite(MR, LOW);
}
else {
Serial.println("BERHENTI / MENCARI GARIS");
digitalWrite(ML, LOW);
digitalWrite(MR, LOW);
}
delay(100);
}