Pir датчик
- Войдите на сайт для отправки комментариев
Втр, 05/02/2019 - 19:23
Мучаю датчик...
Нашёл на одном из сайтов подсказку такую. Скетч написал простой. При всех комбинациях перемычки, даже и без неё сюжет такой: нет движения-пишет "покой", есть краткое шевеление - выскакивает две серии по 4-5 надписи "движение", между "покой" раз 8-15. При непрерывном перемещении эти серии повторяются ("словесная синусоида"). Вопрос- добиваться адекватной реакции от датчика бесполезно? (машем рукой - "движение", сидим тихо - "покой").
const int Pir = 4; void setup() { pinMode(Pir, INPUT); Serial.begin(9600); } void loop() { if (digitalRead(Pir) == true) { Serial.println("ДВИЖЕНИЕ"); } else {Serial.println("ПОКОЙ");} delay(300); }
Так там-же линза Френеля и хитрый ИК датчик. На каждый перелом импульс выдает, нет переломов, нет импульсов.
H/L режим работы задает, по-моему - импульс на каждое движение или продолжать импульс при детектировании.
Спасибо за код :)
Конструкции скетча мне не понятны, где можно почитать (если не сложно подсказать) подобное с комментариями? Динамика происходящего правда не видна - есть череда стабильная двух слов "покой-движение". Видимо датчик изначально не может реагировать на изменения быстрее пары секунд.
H/L режим работы задает, по-моему - импульс на каждое движение или продолжать импульс при детектировании.
Да, видимо я не въезжаю в смысл работы до конца.
И, да - посмотрите осциллографом на пациента - это наглядней, чем через delay(). Mне кажется, что Вы хотите от него не то, для чего он создан.
Когда датчик засекает движение, выдает сигнал на выход, на время, которое вы можете установить подстроечным резистором, потом в любом случае выключится на секунду-две, даже если вы перед ним прыгаете. И так по кругу. Это его нормальный режим работы.
И, да - посмотрите осциллограффом на пациента - это наглядней, чем через delay(). Mне кажется, что Вы хотите от него не то, для чего он создан.
Вот!, видимо это я и недопонял, а режимы H/L наверно разделяют варианты: дёрнулся-пошёл отсчёт до выключения независимо от дальнейших движений или недвижений или выключится спустя время отсчёта от последнего движения.
Именно поэтому в охранных ИК датчиках стоит микроконтроллер с анализирующей программой. Хотя соглашусь с предыдущими ораторами и спрошу - а что Вы от него хотите получить?
И, да - посмотрите осциллографом на пациента - это наглядней, чем через delay(). Mне кажется, что Вы хотите от него не то, для чего он создан.
Да в принципе вроде хочу ожидаемого. Есть замысел сделать игрушку-тренера. Смартфон-рожица командует: руку вверх-вниз-в сторону и т.д. Правильность отслеживает УЗ датчик. А вот что игрок уже убёг и некому командовать хотел ПИР датчиком фиксировать (ну чтоб сразу :)
Вот тут я и погорячился.
не знаю как тут. а в обчных охранных датчиках H - высокая чувствительность, когда сработка выдается по пересечению одного луча,
L - низкая, нужно пересечь несколько лучей, чтобы произошла сработка.
Пока наэкспериментировал следующие: внятно переменником можно выставить 12-13 секунд, меньше не получается. В режиме L - дёрнулся раз, пошёл отсчёт "движение" на 12-13 секунд, после обязательно выключится на несколько секунд . В режиме H- выключится через 12-13 секунд после последнего движения.
Вообщем смартфон будет ещё командовать после побега 12-13 секунд минимум.
А скоко надо ?
А скоко надо ?
Да в принципе терпимо (6-8 секунд в самый раз), просто потенциометр позволяет накрутить меньше, но что-то "меньше" срывается.
http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-sensor-tutorial/