#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2); // Alamat I2C LCD mungkin berbeda
int digitPins[] = {}; // Pin untuk 7-segment display digit
int segmentPins[] = {22, 23, 24, 25, 26, 27, 28, 29}; // Pin untuk 7-segment display segment
int currentDigit = 0; // Digit saat ini (dari 0 hingga 3)
int count = 0; // Angka yang akan ditampilkan
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
}
void loop() {
// Tampilkan angka di 7-segment display
displayNumber(count);
// Tampilkan angka di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("👍 "); // Icon jempol
lcd.setCursor(6, 0);
lcd.print("Malkan"); // Ganti dengan nama Anda
lcd.setCursor(0, 1);
lcd.print("Count: " + String(count));
// Tampilkan angka di Serial Monitor
Serial.println("Count: " + String(count));
count = (count + 1) % 4; // Cycle dari 0 hingga 10
// Pindah ke digit berikutnya
digitalWrite(digitPins[currentDigit], HIGH);
currentDigit = (currentDigit ) % 4;
digitalWrite(digitPins[currentDigit], LOW);
delay(1000); // Tunggu 1 detik
}
void displayNumber(int number) {
const byte numbers[4] = {
B00111111, // 0
B00000111, // 7
B01001111, // 3
B01001111 // 3
};
byte displayData = numbers[number];
for (int i = 0; i < 7; i++) {
if (bitRead(displayData, i)) {
digitalWrite(segmentPins[i], HIGH);
} else {
digitalWrite(segmentPins[i], LOW);
}
}
}