Как сделать задержку

Yakush

✩✩✩✩✩✩✩
31 Май 2021
4
0
Оформи код соответствующим тэгом
Помогите решить вопрос или направьте в нужную сторону.
Есть вот такой скетч
C++:
#define LAMPA_POV 5

#define SIGNAL_POV 6

boolean pov;

void setup() {

  pinMode(LAMPA_POV, OUTPUT); // объявляем пин 5 как выход

  pinMode(SIGNAL_POV, INPUT); // объявляем пин 6 как вход



}



void loop() {

  pov = digitalRead(SIGNAL_POV);



  if (pov == 0) {

    digitalWrite(LAMPA_POV, HIGH);

  } else {

    while (pov == 1) {

      pov = digitalRead(SIGNAL_POV);

      digitalWrite(LAMPA_POV, HIGH);

      if (pov == 0) {

        for (int i = 0; i < 2000; i++)

        { digitalWrite(LAMPA_POV, LOW);

          if (pov == 1 ) break;

          delay(1);

        }

      }

       pov = digitalRead(SIGNAL_POV);

      //if (pov == 0) continue;

    }

  }

  digitalWrite(LAMPA_POV, LOW);

}
Возможно абсолютно бесполезный😁
Какая задача
Хочу сделать ходовые огни из поворотников на ардуино
Лампа поворота обычная с одной нитью
Что должно быть реализовано:
1.При включении габарита миктроконтролер должен включать лампу чтобы она горела на постоянной основе
2.Режим поворотника то есть чем вообще и должен заниматься поворотник
Как в моём понимании это должно работать
Включаешь габариты микроконтролер зажигает лампу поворота и паралельно проверяет не появился ли сигнал с пина поворота
Появляется сигнал поворота то есть логическое один с сигнала поворота но при появлении первого сигнала поворота лампа не должна гаснуть так как тогда она будет работать в разнобой с другими лампами поворота в машине
При первой вспышке сигнала поворотников микроконтролер должен заходит либо в цикл,либо в какую-то функцию поворота в которой он будет в течении какого-то времени ждать повторного сигнала поворота и если его нет,то зажигать лампу в режиме габарита.
Основной вопрос в чём:
Как сделать задержку по времени так,чтобы если время этой задержки ещё не прошло но допустим появился какой-то сигнал микроконтролер вышел из режима ожидания?
Через апаратные прерывания возможно?
Или как-то проще можно?
 

Вложения

Изменено:

Nikanor

★★✩✩✩✩✩
1 Окт 2020
178
51
поворотники - это безопасность.
нифига не разбираешься, а лезешь рисковать своей и чужой жизнью.
 
  • Лойс +1
Реакции: poty и bort707

bort707

★★★★★★✩
21 Сен 2020
3,056
910
Yakush, попробуйте изложить задачу нормальным связным языком. Это абсолютно необходимый этап, если вы не можете сформулировать алгоритм даже на родном языке - вы никогда не напишите правильную программу.

Модератор, чуть побольше внимания к своей работе. Предудущее цитирование было необходимым.