int katodaLED[] = {22, 23, 24, 25, 26, 27, 28, 29};
int anodaLED[] = {37, 36, 35, 34, 33, 32, 31, 30};
int jeda = 200;
int pinSeg[] = {13, 12, 11, 10, 9, 8, 7, 6};
int numbers[][8] = {
{1, 1, 0, 1, 1, 0, 1, 0}, // 2
{0, 0, 0, 0, 0, 0, 0, 0}, // mati
{1, 1, 0, 1, 1, 0, 1, 0}, // 2
{0, 0, 0, 0, 0, 0, 0, 1}, // titik
{0, 1, 1, 0, 0, 0, 0, 0}, // 1
{0, 0, 0, 0, 0, 0, 0, 0}, // mati
{0, 1, 1, 0, 0, 0, 0, 0}, // 1
{0, 0, 0, 0, 0, 0, 0, 1}, // titik
{0, 1, 1, 0, 0, 1, 1, 0}, // 4
{1, 1, 1, 0, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1, 0}, // 8
{1, 1, 1, 1, 0, 0, 1, 0} // 3
};
void setup() {
for (int nmr = 0; nmr < 8; nmr++) {
pinMode(katodaLED[nmr], OUTPUT);
pinMode(anodaLED[nmr], OUTPUT);
}
for (int i = 0; i < 8; i++) {
pinMode(pinSeg[i], OUTPUT);
}
}
void loop(){
PORTA=B11111110;PORTC=B00000000;delay(jeda);
PORTA=B11111101;PORTC=B01100110;delay(jeda);
PORTA=B11111011;PORTC=B01100110;delay(jeda);
PORTA=B11110111;PORTC=B00000000;delay(jeda);
PORTA=B11101111;PORTC=B00000000;delay(jeda);
PORTA=B11011111;PORTC=B10000001;delay(jeda);
PORTA=B10111111;PORTC=B01000010;delay(jeda);
PORTA=B01111111;PORTC=B00111100;delay(jeda);
for (int i = 0; i < 12; i++) {
// Matikan semua katodaLED
for (int j = 0; j < 8; j++) {
digitalWrite(katodaLED[j], HIGH);
}
// Aktifkan katodaLED sesuai dengan digit NIM
digitalWrite(katodaLED[i], LOW);
// Aktifkan segmen-segmen sesuai dengan digit NIM
for (int j = 0; j < 12; j++) {
digitalWrite(pinSeg[j], numbers[i][j]);
}
delay(300);
}
}