/*
// Mikrokontroler generira naključno število med 1 in 10.
// Generirana vrednost naj se izpiše na prikazovalniku
// S pomočjo tipke, priključeno na PD7, lahko zmanjšujemo henerirano naključno število za .
// Število lahko zmanjšujemo toliko časa dokler se na zaslonu ne  izpiše vrednost 0
// Nalogo reši s pomočjo regidtrov
// Nalogo reši s pomočjo funkcije pinMode
*/

// DO 9 SO ŠTEVILKE V 16 SISTEMU
//    0 a b c  d e f g
//0:  0 1 1 1  1 1 1 0    0x7E
//1:  0 0 1 1  0 0 0 0    0x30
//2:  0 1 1 0  1 1 0 1    0x6D
//3:  0 1 1 1  1 0 0 1    0x79
//4:  0 0 1 1  0 0 1 1    0x33
//5:  0 1 0 1  1 0 1 1    0x5B
//6:  0 1 0 1  1 1 1 1    0x5F
//7:  0 1 1 1  0 0 0 0    0x70
//8:  0 1 1 1  1 1 1 1    0x7F
//9:  0 1 1 1  1 0 1 1    0x7B


int digit[] = {0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B};
int stRandom;
int count;
int pin[] = {0,1,2,3,4,5,6,7,8,9};

void setup() {
  // put your setup code here, to run once:
  pinMode(7, INPUT_PULLUP);
  for (int x = 0; x < 7; x++) {
    pinMode(x, OUTPUT);
  }
  randomSeed(analogRead(A0));
  count = random(1, 10);
}

void loop() {
  // put your main code here, to run repeatedly:
  int k = digit[count];
  if (digitalRead(7) == LOW && count > 0) {
    count --;
    delay(300);
  }

  for (int x = 0; x < 7; x++) {
    int temp = k & 0x01;
    digitalWrite(pin[x], temp);
    k = k >> 1;
  }

}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
sevseg1:COM.1
sevseg1:COM.2
sevseg1:A
sevseg1:B
sevseg1:C
sevseg1:D
sevseg1:E
sevseg1:F
sevseg1:G
sevseg1:DP
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r6:1
r6:2
r7:1
r7:2
r8:1
r8:2