int a = 4;
int b = 5;
int c = 6;
int d = 9;
int e = 10;
int f = 11;
int g = 12;
int merah = 3;
int biru = 2;
String correctPassword = "abangGagah"; // Ganti ini dengan password yang diinginkan
bool isAuthenticated = false; // Status apakah password sudah benar
void setup() {
Serial.begin(9600); // Memulai komunikasi serial
pinMode(merah, OUTPUT);
pinMode(biru, OUTPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
Serial.println("Masukkan password:"); // Minta input password
}
void loop() {
if (!isAuthenticated) {
if (Serial.available() > 0) { // Jika ada data yang dikirim melalui Serial Monitor
String inputPassword = Serial.readStringUntil('\n'); // Baca input password hingga new line
inputPassword.trim(); // Hapus spasi atau karakter kosong dari input
if (inputPassword.equals(correctPassword)) {
isAuthenticated = true;
Serial.println("Password benar. Akses diterima!");
} else {
Serial.println("Password salah. Coba lagi!");
}
}
} else {
// Kedipkan LED merah dan biru secara bergantian
kedipLED(merah, 300);
kedipLED(biru, 300);
// Panggil fungsi seven segment display
sevseg();
}
}
void kedipLED(int pin, int durasi) {
digitalWrite(pin, HIGH);
delay(durasi);
digitalWrite(pin, LOW);
}
void sevseg() {
// Pola 1: Menyalakan segment tertentu
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
delay(90);
// Pola 2: Menyalakan semua segment
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
delay(120);
// Pola 3: Menyalakan segment berbeda
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(130);
// Pola 4: Mematikan semua segment
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(120);
}