Нужна помощь с delay, как его заменить на millis
- Войдите на сайт для отправки комментариев
Ср, 09/05/2018 - 10:14
int BAT = A2; //Вход напряжения аккумулятора машины +12 int ACC = 2; //Вход звжигания int KNOP = 8; //Вход кнопки вкл. на панели int POWER = 13; //Выход вкл. батареи планшета int HUB = 4 ; //Выход вкл. хаба int REM = 5; //Выход вкл. усилителя и доп. устройств int TILT = 9; //Выход кнопки вкл. планшета int MEDIA = 0; //Переменная 0-планшет выключен 1-включен int FIRST = 1; //Переменная 1-первый старт устройства 0-уже запущен float VOLT ; //Переменная текущего напряжения акку. машины int BAT_VOLT ; //Переменная напряжения int ACCstate ; //Переменная текущего состояния ACC зажигания 0-выкл. 1-вкл. // Установки при запуске: Назначаем пины. void setup() { pinMode(BAT, INPUT); pinMode(ACC, INPUT_PULLUP); pinMode(KNOP, INPUT); pinMode(POWER, OUTPUT); pinMode(HUB, OUTPUT); pinMode(REM, OUTPUT); pinMode(TILT, OUTPUT); } // Повторяющийся цикл: void loop() { ACCstate = !digitalRead(ACC); //Считываем положение ACC зажигания BAT_VOLT = analogRead(BAT); //Считываем напряжение аккум. машины VOLT = BAT_VOLT * (18.000 / 1023); //Пересчитываем значения в вольты if (VOLT > 11.1 && VOLT < 14.8 && ACCstate == 1 && MEDIA == 0 //Если напряжение больше 11,2 и меньше 14,8 и зажигание включено и устройство вЫключено && FIRST == 1) // и переменная FIRST-1 первый старт {digitalWrite(POWER, HIGH); //Подаем питание на вкл. батареи планшета delay(500); //Задержка digitalWrite(HUB, HIGH); //Вкл. питание на хаб delay(1000); //Задержка на 1 сек. digitalWrite(REM, HIGH); //Включаем усилитель и доп. устройства delay(2000); //Задержка на 2 сек. digitalWrite(TILT, HIGH); //Нажимаем кнопку вкл. устройства delay(3000); //Зажимаем на 3 сек. digitalWrite(TILT, LOW); //Отпускаем кнопку вкл. delay(80000); //Задержка вкл. на полную загрузку устройства MEDIA = 1; //Переменная MEDIA-1 устройство вклЮчено FIRST = 0;} //Переменная FIRST-0 устройство уже запущено if (VOLT > 11.2 && VOLT < 14.8 && ACCstate == 1 && MEDIA == 0 //Если напряжение больше 11,2 и меньше 14,8 и зажигание включено и устройство вЫключено && FIRST == 0) // и переменная FIRST-0 устройство уже запущено {digitalWrite(HUB, HIGH); //Вкл. питание на хаб delay(1000); //Задержка на 1 сек. digitalWrite(REM, HIGH); //Включаем усилитель и доп. устройства delay(2000); //Задержка на 2 сек. digitalWrite(TILT, HIGH); //Нажимаем кнопку вкл. устройства delay(1000); //Зажимаем на 1 сек. digitalWrite(TILT, LOW); //Отпускаем кнопку вкл. MEDIA = 1;} //Переменная MEDIA-1 устройство вклЮчено if (VOLT > 11.2 && VOLT < 14.8 && ACCstate == 0 && MEDIA == 1) //Если напряжение больше 11,2 и меньше 14,8 и зажигание вЫключено и устройство включено {digitalWrite(REM, LOW); //ВЫключаем усилитель и доп. устройства delay(500); //Задержка digitalWrite(TILT, HIGH); //Нажимаем кнопку вкл. устройства delay(1000); //Зажимаем на 1 сек. digitalWrite(TILT, LOW); //Отпускаем кнопку вкл. delay(1000); //Задержка 1 сек. digitalWrite(HUB, LOW); //Выключаем хаб MEDIA = 0; } //Переменная MEDIA-0 устройство вЫключено if (VOLT <= 11.1 ) //Если напряжение меньше 11.0 вольт {digitalWrite(REM, LOW); //ВЫключаем все delay(1000); digitalWrite(HUB, LOW); //ВЫключаем все delay(2000); digitalWrite(POWER, LOW); //ВЫключаем все MEDIA = 0; //Переменная MEDIA-0 устройство вЫключено FIRST = 1;} //Переменная FIRST-1 первый старт }
Для начала нужно понять, чего вы хотите добиться заменой delay() на millis().
Делей убираете, а миллис вставляете, делов-то. Вот видео как раз на эту тему.
сейчас на макетке вроде все работает, но боюсь глюков и зависаний из-за delay !
Понятное делло. Делэй он такой. Может пригласить попа, чтобы бесов из него изгнал? Глядишь, менее глюкавым станет.
Делей убираете, а миллис вставляете, делов-то. Вот видео как раз на эту тему.
спасибо помог, да и видео супер, наверно ты бог в кодировании, куда нам начинающим до тебя, так классно все показал да рассказал !!!
спасибо помог
Не за что, обращайтесь ещё.
Понятное делло. Делэй он такой. Может пригласить попа, чтобы бесов из него изгнал? Глядишь, менее глюкавым станет.
видимо придется попа приглашать, от шибко умных чтоб избавил...
видимо придется попа приглашать, от шибко умных чтоб избавил...
Бабки возьмёт, но не избавит - не советую.
delay он такой, без бабок не избавляется. Труд он должен приность и деньги а не только тупой расход времени.