int ledPin[8] = {32, 33, 25, 26, 27, 22, 23}; // Pin LED
int buttonPin = 2; // Tombol untuk mengganti mode
int DIG1 = 21;
int DIG2 = 19;
int DIG3 = 18;
int DIG4 = 17;
bool c, data[8] = {0, 0, 0, 0, 0, 0, 1}; // Data untuk Mode 1
int md = 0; // Mode awal
int mamam;
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
for (int x = 0; x < 8; x++) {
pinMode(ledPin[x], OUTPUT); // Atur pin LED sebagai output
}
pinMode(buttonPin, INPUT_PULLUP); // Tombol menggunakan mode PULLUP
}
void loop() {
mode(md); // Jalankan mode saat ini
// Cek tombol untuk mengganti mode
if (digitalRead(buttonPin) == 0) {
while (digitalRead(buttonPin) == 0); // Tunggu tombol dilepas
md++; // Ganti ke mode berikutnya
if (md == 2) // Jika mode di atas 2, kembali ke 0
md = 0;
Serial.print("Mode: ");
Serial.println(md);
delay(500); // Debounce tombol
}
}
void mode(int m) {
if (m == 0) {
// Mode 0: Semua LED mati
for (int x = 0; x < 8; x++) {
digitalWrite(ledPin[x], LOW);
}
} else if (m == 1) {
digitalWrite(DIG1, HIGH);
digitalWrite(DIG2, LOW);
digitalWrite(DIG3, LOW);
digitalWrite(DIG4, LOW);
// Huruf F
digitalWrite(ledPin[0], HIGH); // Segmen A
digitalWrite(ledPin[1], LOW); // Segmen B
digitalWrite(ledPin[2], LOW); // Segmen C
digitalWrite(ledPin[3], LOW); // Segmen D
digitalWrite(ledPin[4], HIGH); // Segmen E
digitalWrite(ledPin[5], HIGH); // Segmen F
digitalWrite(ledPin[6], HIGH); // Segmen G
delay(100);
for(int i = 0; i < 7;i++){
digitalWrite(ledPin[i], LOW);
}
delay(100);
digitalWrite(DIG1, LOW);
digitalWrite(DIG2, HIGH);
digitalWrite(DIG3, LOW);
digitalWrite(DIG4, LOW);
// Huruf A
digitalWrite(ledPin[0], HIGH); // Segmen A
digitalWrite(ledPin[1], HIGH); // Segmen B
digitalWrite(ledPin[2], HIGH); // Segmen C
digitalWrite(ledPin[3], LOW); // Segmen D
digitalWrite(ledPin[4], HIGH); // Segmen E
digitalWrite(ledPin[5], HIGH); // Segmen F
digitalWrite(ledPin[6], HIGH); // Segmen G
delay(100);
for(int i = 0; i < 7;i++){
digitalWrite(ledPin[i], LOW);
}
delay(100);
digitalWrite(DIG1, LOW);
digitalWrite(DIG2, LOW);
digitalWrite(DIG3, HIGH);
digitalWrite(DIG4, LOW);
// Huruf I
digitalWrite(ledPin[0], LOW); // Segmen A
digitalWrite(ledPin[1], LOW); // Segmen B
digitalWrite(ledPin[2], LOW); // Segmen C
digitalWrite(ledPin[3], LOW); // Segmen D
digitalWrite(ledPin[4], HIGH); // Segmen E
digitalWrite(ledPin[5], HIGH); // Segmen F
digitalWrite(ledPin[6], LOW); // Segmen G
delay(100);
for(int i = 0; i < 7;i++){
digitalWrite(ledPin[i], LOW);
}
delay(100);
digitalWrite(DIG1, LOW);
digitalWrite(DIG2, LOW);
digitalWrite(DIG3, LOW);
digitalWrite(DIG4, HIGH);
// Huruf Z
digitalWrite(ledPin[0], HIGH); // Segmen A
digitalWrite(ledPin[1], HIGH); // Segmen B
digitalWrite(ledPin[2], LOW); // Segmen C
digitalWrite(ledPin[3], HIGH); // Segmen D
digitalWrite(ledPin[4], HIGH); // Segmen E
digitalWrite(ledPin[5], LOW); // Segmen F
digitalWrite(ledPin[6], HIGH); // Segmen G
delay(100);
for(int i = 0; i < 7;i++){
digitalWrite(ledPin[i], LOW);
}
// delay(100);
// // Huruf A
// digitalWrite(ledPin[0], HIGH); // Segmen A
// digitalWrite(ledPin[1], HIGH); // Segmen B
// digitalWrite(ledPin[2], HIGH); // Segmen C
// digitalWrite(ledPin[3], LOW); // Segmen D
// digitalWrite(ledPin[4], HIGH); // Segmen E
// digitalWrite(ledPin[5], HIGH); // Segmen F
// digitalWrite(ledPin[6], HIGH); // Segmen G
// delay(100);
// for(int i = 0; i < 7;i++){
// digitalWrite(ledPin[i], LOW);
// }
// delay(100);
// // Huruf L
// digitalWrite(ledPin[0], LOW); // Segmen A
// digitalWrite(ledPin[1], LOW); // Segmen B
// digitalWrite(ledPin[2], LOW); // Segmen C
// digitalWrite(ledPin[3], HIGH); // Segmen D
// digitalWrite(ledPin[4], HIGH); // Segmen E
// digitalWrite(ledPin[5], HIGH); // Segmen F
// digitalWrite(ledPin[6], LOW); // Segmen G
// delay(100);
// for(int i = 0; i < 7;i++){
// digitalWrite(ledPin[i], LOW);
// }
delay(500);
}
}