bool pin_flag[3] = {false, false, false};
long tmr;
int point = 0;
bool digits[4][7] = {
{1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 0, 0, 0, 0},
{1, 1, 0, 1, 1, 0, 1},
{1, 1, 1, 1, 0, 0, 1}
};
void setup() {
//индикатор
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
//общение с пистолетом
pinMode(7, OUTPUT);
pinMode(13, INPUT);
//фоторезисторы
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
//зуммер
pinMode(12, OUTPUT);
digitalWrite(7, LOW);
digitalWrite(12, LOW);
}
void print_digit(int x){
for(int i = 0; i < 7; i++){
digitalWrite(i, (digits[x][i] ? HIGH : LOW));
}
}
void loop() {
if(!point){
print_digit(0);
}
if(!digitalRead(9) && !pin_flag[0]){
point++;
pin_flag[0] = true;
print_digit(point);
}
if(!digitalRead(10)&&!pin_flag[1]){
point++;
pin_flag[1] = true;
print_digit(point);
}
if(!digitalRead(8) && !pin_flag[2]){
point++;
pin_flag[2] = true;
print_digit(point);
}
if(point == 3){
point = 0;
print_digit(3);
pin_flag[0] = pin_flag[1] = pin_flag[2] = false;
digitalWrite(7, HIGH);
digitalWrite(12, HIGH);
delay(450);
digitalWrite(12, LOW);
digitalWrite(7, LOW);
}
if(digitalRead(13)){
point = 0;
}
}