Считать импульсы с выхода сигнализации
- Войдите на сайт для отправки комментариев
Пнд, 07/08/2017 - 12:26
Добрый день. Подскажите как организовать считывание импульсов с выхода автосигнализации на "колокол".
Как я понимаю, 1 импульс - поставить,2 им.-снять,три-забыл закрыть дверь,длинный импульс-тревога.
Использовать функцию attachInterrupt и считывать число прерываний? Но тогда при закрытии/открытии машины будет пауза перед оповещением
да есть аж миль0н способов, все зависит от фантазии! например вот один из извращенных способов
Соберу, померю длину, спасибо.
Мучался с измерением длины импульсов, не понял как ы итоге вывести их количество..
Вот так вроде всё правильно работает:
https://youtu.be/Lx2f9U1gjYI
int flag,zn=0; void setup() { Serial.begin(9600); Serial.println("Start"); attachInterrupt(0, read, CHANGE); pinMode(2, INPUT); } void loop(){ if (zn==1){ delay(1500);//Пауза перед проверкой числа импульсов(подбирается путём теста) switch (flag) { case 2:Serial.println("Zakruto");break;//Один импульс - поставил на сигнализацию case 4:Serial.println("Otrruto");break;//Два импульса - снял с сигнализации case 6:Serial.println("Vnimanie");break;//Три импульса - внимание (не закрыта одна из дверей) default: if (digitalRead(2)==1){ Serial.println("Trevoga");//Тревога (т.е. значение поменялось только с 0 на 1) }else{ Serial.println("Stop trevoga");//Выключил тревогу (т.е. значение поменялось только с 1 на 0) } } zn=0; flag=0; } } void read(){ sei(); if (flag==0){ zn=1; } flag++; }https://www.drive2.ru/b/472434034127929745/
renoshnik спасибо.
Я забыл про "предупреждения", когда есть небольшие удары по машине и т п