uint8_t code[] = {63, 6, 91, 79, 102, 109, 125, 39, 127, 111};
// Символи: "0","1","2","3","4","5","6","7","8","9"
uint8_t segmPin[] = {2, 3, 4, 5, 6, 7, 8, 9};
// Порти сегментів: A, B, C, D, E, F, G
uint8_t groupPin[] = {19, 18, 17, 20};
//БАХ
uint8_t boom[] = {125, 119, 118};
void setup() {
for (uint8_t s = 0; s < 7; s++) {
pinMode(segmPin[s], OUTPUT);
}
for (uint8_t group = 0; group < 4; group++)
pinMode(groupPin[group], OUTPUT);
}
void loop() {
uint8_t displayValue[] = {0,6,3,6};
displayArray(displayValue);
}
void show_segments(uint8_t num){
digitalWrite(segmPin[num], HIGH);
}
void show_numbers(uint8_t num) {
for (uint8_t s = 0; s < 7; s++) {
uint8_t segmState = bitRead(code[num], s);
digitalWrite(segmPin[s], segmState);
}
}
void show_word(uint8_t num) {
for (uint8_t s = 0; s < 7; s++) {
uint8_t segmState = bitRead(boom[num], s);
digitalWrite(segmPin[s], segmState);
}
}
void setGroup(uint8_t newGroup) {
for (uint8_t group = 0; group < 4; group++) {
if (group == newGroup)
digitalWrite(groupPin[group], LOW);
else
digitalWrite(groupPin[group], HIGH);
}
}
void displayArray(uint8_t displayValue[]) {
for (uint8_t group = 0; group < 4; group++) {
clearSegments();
setGroup(group);
show_segments(displayValue[group]);
delay(500);
}
}
void clearSegments() {
for (uint8_t segm = 0; segm < 7; segm++) {
digitalWrite(segmPin[segm], LOW);
}
}