/*
• Mikrokontroler generira naključna števila od 0 do vključno 4; uporabi tudi funkcijo randomSeed().
Naključno število se generira samo enkrat in sicer ob zagonu mikrokrmilnika.
• Generirana vrednost naj se izpiše na LED prikazovalniku, ki je priključen na pine PORTA D (PD0 do PD6).
• S pomočjo tipke, ki je priključena na PORT B (PD8), generirano vrednost z
vsakim pritiskom na tipko povečamo za 1. Število lahko povečujemo do vrednosti 9.
Nova vrednost se izpiše na LED prikazovalniku. S tipko, ki je priključena na PD7 pa vrednost ponastavimo na nič.
• Nalogo reši s pomočjo registrov.
*/
char digit2[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
char digit[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66};
int pin[] = {0,1,2,3,4,5,6};
int pinButton = 8;
int pinButton2 = 7;
int stRandom;
int count;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
randomSeed(analogRead(A0));
int rndStevilka = random(0,5);
Serial.println(rndStevilka);
pinMode(8, INPUT_PULLUP);
for (int y = 0; y < 7; y++) {
pinMode(pin[y], OUTPUT);
}
count = random(0,9);
}
void loop() {
// put your main code here, to run repeatedly:
int rndStevilka = random(0,5);
int stevilka = digit[rndStevilka];
for (int x = 0; x < 7; x++) {
int temp = stevilka & 0x01;
digitalWrite(stevilka, HIGH);
stevilka = stevilka >> 1;
}
/*
int k = digit[count];
if (digitalRead(8) == LOW && count < 9) {
count ++;
delay(300);
}
for (int x = 0; x < 7; x++) {
int temp = k & 0x01;
digitalWrite(pin[x], temp);
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
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
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2
r7:1
r7:2
r8:1
r8:2
r9:1
r9:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r