/* a
_____
| |
f | | b
| g |
_____
| |
e | | c
| |
_____
d
// prvo število je lahko 1 ali 0, ni važno, ampak popravi hexadec zapis
/ g f e d c b a| rez | stev
0 0 1 1 1 1 1 1| 0x3F | 0
0 0 0 0 0 1 1 0| 0x06 | 1
0 1 0 1 1 0 1 1| 0x5B | 2
0 1 0 0 1 1 1 1| 0x4F | 3
0 1 1 0 0 1 1 0| 0x66 | 4
0 1 1 0 1 1 0 1| 0x6D | 5
0 1 1 1 1 1 0 1| 0x7D | 6
0 0 0 0 0 1 1 1| 0x07 | 7
0 1 1 1 1 1 1 1| 0x7F | 8
0 1 1 0 0 1 1 1| 0x67 | 9
// common pin v 7 segment display
skupna anoda - anoda vseh ledic (+)
skupna catoda - catoda vseh ledic (-)
*/
char digits[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67};
char pin[] = {9, 10, 2, 3, 4, 8, 7};
void setup() {
for (int x = 0; x < 7; x++){
pinMode(pin[x], OUTPUT);
}
}
void loop() {
/* // check if its wired correctly
for (int x = 0; x < 7; x++){
digitalWrite(x, HIGH);
delay(500);
}*/
static int y = 0;
int i = digits[y];
for (int x = 0; x < 7; x++){
int temp = i & 0x01; // iz hexadec nam vrne izpis zadnjega bita iz hexadec stevila v digits (i)
digitalWrite(pin[x], temp);
i = i >> 1; // izpiše
// 0 1 1 0 0 0 0 1 - i & 0x01 -> 1
// i >> 1
// 0 0 1 1 0 0 0 0 - i & 0x01 -> 0
// i >> 1
// 0 0 0 1 1 0 0 0 - i & 0x01 -> 0
// i >> 1
// 0 0 0 0 1 1 0 0 - i & 0x01 -> 0
// i >> 1
// 0 0 0 0 0 1 1 0 - i & 0x01 -> 0
// i >> 1
// 0 0 0 0 0 0 1 1 - i & 0x01 -> 1
// i >> 1
// 0 0 0 0 0 0 0 1 - i & 0x01 -> 1
}
int m = sizeof(digits) / sizeof(digits[0]); // Število elementov seznama
y ++;
if (y > m - 1) y = 0;
delay(500);
}
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
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2
r7:1
r7:2