Запуск и остановка через определенное время

Deadpool
Deadpool аватар
Offline
Зарегистрирован: 05.05.2011

С помощью контроллера необходимо запускать некий механизм через каждые 20 минут (20 минут работает, 20 нет). Как это организовать с помощью С? Причем, ни Windows, ни какой другой системы при работе контроллера не будет.

Modular
Offline
Зарегистрирован: 05.03.2011

 Насчет как организовать с помощью C не очень понял, а если с помощью самого arduino, то если 20 минут совсем ничего не далеат, то можно просто delay(1200000). А если все же что-то делает (например, датчики считывает, обенивается с компьютером данными), то как в примере с мигающим светодиодом

LEVV2006
LEVV2006 аватар
Offline
Зарегистрирован: 15.04.2011

Это должно помочь!!!!!
Механизм работает постоянно или ты его будешь отключать от сети раз в месяц хотя бы?
Немного адоптировал под твой случай

int ledPin =  13; 
int ledState = HIGH;             
long previousMillis = 0;        
long interval=0;
long minut = 1;           // интервал между включение/выключением светодиода (В минутах)
 
void setup() {
  pinMode(ledPin, OUTPUT);  
  interval=minut*60*1000;
}
 
void loop()
{
  unsigned long currentMillis = millis();
  if(currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis; 
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW; 
  }
  digitalWrite(ledPin, ledState);
}

 

Deadpool
Deadpool аватар
Offline
Зарегистрирован: 05.05.2011

Ок, спс) Пойду пробовать

sitromon
Offline
Зарегистрирован: 13.12.2012

извените а если в ваш скетч добавить концевую кнопку, нажал - светодиод включился на 20 мин, нажал еще раз - светодиод отключился до следущего нажатия?