Как сделать таймер который будет запускаться от условия ?

FanTime
Offline
Зарегистрирован: 08.05.2020

Всем привет.Я новичок  в arduino и хотел бы узнать, как сделать таймер который будет запускаться от условия, на пример датчик огня подал сигнал и включается таймер 5 секунд  и горит светодиод, после 5 секунд светодиод сам гаснет.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

завести переменную-флаг - активен ли таймер или нет. По изменению условий - включать таймер, взводить флаг. Если флаг взведён - отсчитывать интервал, как интервал вышел - сбрасывать флаг.

FanTime
Offline
Зарегистрирован: 08.05.2020

Здравствуйте а пример можете скинуть если не сложно.

 

Kakmyc
Offline
Зарегистрирован: 15.01.2018

С примерами сложно.
Обычно такие напальцы/непалки отсылаются в раздел "Ищу исполнителя".
Там тоже их больно то не жалуют, студентов пинавших МПХ, но хотя бы помогают за вознаграждение.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Ну как-то так:

byte flag=0; // объявили флаг
byte pinLed; // пин с диодом
byte pindat; // объявили пин с датчиком
// хз что у вас за датчик, пусть будет так:
int data; // сюда данные считываются
unsigned long timing; // переменная для отсчета нужного времени времени

void setup()
{
  pinMode(pindat, INPUT); 
}
 
void loop () {

  data = digitalRead (pindat); 
  if (/* ваше условие выполняется*/) {
     timing = millis();
     digitalWrite (pinLed, HIGHT);
     flag = 1;
  }
  if ( /* если прошло нужное время и флаг поднят */ ) {
     digitalWrite (pinLed, LOW); // выключаем диод
     flag = 0; // сбрасываем флаг
  }
// можем при этом еще что-то делать 
}



 

b707
Offline
Зарегистрирован: 26.05.2017

FanTime пишет:

Здравствуйте а пример можете скинуть если не сложно.

гугль -> "ардуино светодиод по условию"

гугль -> "ардуино включение светодиода на некоторое время"