Помогите перейти на millis
- Войдите на сайт для отправки комментариев
Пт, 16/06/2017 - 23:36
Добрый вечер.
Написал программу для включения фонарей заднего хода, туманок и камеры заднего хода:
byte CamFlag = 0; unsigned long CamFlagCounter = 0; unsigned long CamDelay = 20000; void setup() { pinMode(3, OUTPUT); //выход FOG-R pinMode(4, OUTPUT); //выход FOG-L pinMode(5, OUTPUT); //выход CAM pinMode(9, OUTPUT); //выход FAN pinMode(10, OUTPUT); //выход REAR-L pinMode(11, OUTPUT); //выход REAR-R pinMode(8, INPUT); //вход кнопки FOG pinMode(12, INPUT); //вход кнопки REAR } void loop() { int Fog = digitalRead(8); int Rea = digitalRead(12); if (Fog==HIGH){ //включение туманок digitalWrite(3, HIGH);//левая туманка digitalWrite(4, HIGH);//правая туманка digitalWrite(5, LOW);//камера digitalWrite(9, HIGH);//вентиляторы digitalWrite(10, LOW);//левый зх digitalWrite(11, LOW);//правый зх CamFlag=0; } if (Rea==HIGH){ //включение заднего хода digitalWrite(3, LOW);//левая туманка digitalWrite(4, LOW);//правая туманка digitalWrite(9, HIGH);//вентиляторы digitalWrite(10, HIGH);//левый зх digitalWrite(11, HIGH);//правый зх CamFlag=1; } if (Fog==LOW && Rea==LOW){ //выключаем все digitalWrite(3, LOW);//левая туманка digitalWrite(4, LOW);//правая туманка digitalWrite(9, LOW);//вентиляторы digitalWrite(10, LOW);//левый зх digitalWrite(11, LOW);//правый зх CamFlag=0; } if (CamFlag==1) { CamFlagCounter++; if (CamFlagCounter > CamDelay) digitalWrite(5, HIGH); } else { CamFlagCounter = 0; digitalWrite(5, LOW); } }
Все работает, но если в будущем прикручу туда же еще что-нибудь, то будут проблемы со временем задержки включения камеры. Как вот это:
if (CamFlag==1) { CamFlagCounter++; if (CamFlagCounter > CamDelay) digitalWrite(5, HIGH); } else { CamFlagCounter = 0; digitalWrite(5, LOW); }
первести на millis
Сб, 17/06/2017 - 00:11
#1
Точно. Количество в коде вы написали, осталось написать более качественный код с очень сложной структурой.
Все работает, но если в будущем прикручу туда же еще что-нибудь, то будут проблемы со временем задержки включения камеры.