#include <LedControl.h>
const int DIN = 12;
const int CS = 11;
const int CLK = 10;
LedControl lc = LedControl(DIN, CLK, CS, 0);
const int buttonIncrementPin = 2; // Tombol untuk menambah bilangan
const int buttonDecrementPin = 3; // Tombol untuk mengurangi bilangan
int number = 0; // Nilai awal bilangan
const byte mirroredDigits[10][8] = {
{0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x7E, 0x00}, // 0 (Di-mirror secara horizontal)
{0x00, 0x00, 0xFF, 0x02, 0x04, 0x00, 0x00, 0x00}, // 1 (Di-mirror secara horizontal)
{0x00, 0x00, 0x86, 0x89, 0x91, 0xA1, 0xC2, 0x00}, // 2 (Di-mirror secara horizontal)
{0x00, 0x00, 0x76, 0x89, 0x89, 0x81, 0x42, 0x00}, // 3 (Di-mirror secara horizontal)
{0x00, 0x00, 0x10, 0xFF, 0x12, 0x14, 0x18, 0x00}, // 4 (Di-mirror secara horizontal)
{0x00, 0x00, 0x71, 0x89, 0x89, 0x89, 0x4F, 0x00}, // 5 (Di-mirror secara horizontal)
{0x00, 0x00, 0x71, 0x89, 0x89, 0x89, 0x7E, 0x00}, // 6 (Di-mirror secara horizontal)
{0x00, 0x00, 0x01, 0x09, 0xF1, 0x01, 0x01, 0x00}, // 7 (Di-mirror secara horizontal)
{0x00, 0x00, 0x76, 0x89, 0x89, 0x89, 0x76, 0x00}, // 8 (Di-mirror secara horizontal)
{0x00, 0x00, 0x7E, 0x91, 0x91, 0x91, 0x4E, 0x00} // 9 (Di-mirror secara horizontal)
};
void setup() {
lc.shutdown(0, false);
lc.setIntensity(0, 15);
pinMode(buttonIncrementPin, INPUT_PULLUP);
pinMode(buttonDecrementPin, INPUT_PULLUP);
}
void loop() {
if (digitalRead(buttonIncrementPin) == LOW) {
incrementNumber();
delay(200); // Debounce
}
if (digitalRead(buttonDecrementPin) == LOW) {
decrementNumber();
delay(200); // Debounce
}
displayNumber();
}
void incrementNumber() {
if (number < 9) {
number++;
}
}
void decrementNumber() {
if (number > 0) {
number--;
}
}
void displayNumber() {
lc.clearDisplay(0);
for (int i = 0; i < 8; i++) {
lc.setRow(0, i, mirroredDigits[number][i]);
}
}