Электронная мишень.

Алекс Балу
Offline
Зарегистрирован: 29.04.2018

boolean butt_flag = 0;
boolean butt;
boolean led_flag = 0;
unsigned long last_press;
byte LEDcounter = 4;
void setup() {
  pinMode(2, INPUT_PULLUP);   // сюда подключена кнопка
  Serial.begin(9600);
  pinMode(4, OUTPUT);        // сюда подключен светодиод
  pinMode(5, OUTPUT);        // сюда подключен светодиод
  pinMode(6, OUTPUT);        // сюда подключен светодиод
  pinMode(7, OUTPUT);        // сюда подключен светодиод
  pinMode(8, OUTPUT);        // сюда подключен светодиод
  pinMode(9, OUTPUT);        // сюда подключен светодиод
  digitalWrite(4, 0);
  digitalWrite(5, 0);
  digitalWrite(6, 0);
  digitalWrite(7, 0);
  digitalWrite(8, 0);
  digitalWrite(9, 0);

}

void loop() {
  butt = !digitalRead(2); // считать текущее положение кнопки

  if (digitalRead(9) == LOW && butt == 1 && butt_flag == 0 && millis() - last_press > 100) {
    butt_flag = 1;
    Serial.println("Button pressed");
    digitalWrite(LEDcounter, 1);     // включить светодиод с текущим номером
    LEDcounter++;                    // увеличить номер для следующего включения
    last_press = millis();
  }

  else if (digitalRead(9) == HIGH && butt == 1 && butt_flag == 0 && millis() - last_press > 100) {
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    last_press = millis();
  }

  if (butt == 0 && butt_flag == 1) {
    butt_flag = 0;
    Serial.println("Button released");
    last_press = millis();
  }
  }

 

 

Путем нажатия зажигаются светодиоды, которые потом одним нажатием все гасятся. Не могу зациклить этот процесс. Чтобы зажечь все светодиоды, погасить и поновой начать зажигать. Приходиться перезупаскать ардуино.

Может кто подскажет как зациклить эту вещь?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так Вы напишите на конпке "погасить", а она на самом деле пусть ардуину ресетит, вот проблема и решена :)

Алекс Балу
Offline
Зарегистрирован: 29.04.2018

Так она у меня зажигает и гасит.но потом три нажатия и на Ардуино загорается светодиод L. Чтобы по новой начать запускать светодиоды, приходится перезапускать Ардуино.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так сделайте, что по нажатии она сама и перехапускалась