Инфракрасный выключатель освещения

AVR версия программы

Инфракрасный выключатель освещения

Сообщение laser_62 (laser_62) » 15 мар 2018, 13:26

Всем привет! Прошу помощи у знатоков, (из-за нехватки знаний) не могу сообразить как правильно дописать код.
Немного пред истории (кому не интересно можете пропустить).
Длится сие уже много лет. В ванную комнату необходим какой нить автоматический выключатель света (частный дом, хозяйство - грязные руки и т.д.). Сначала присобачил датчик ИК-движения с необходимой обвязкой и задержкой
на выключение. Приходилось раз в три минуты шевелиться что-бы горел свет. Дальше нашел в инете такую разработку; http://www.getchip.net/posts/094-datchi ... -attiny13/, триггер вкл/выкл. света, но он не
умеет считать людей, заходит второй человек и начинаем махать перед датчиком руками. Неудобно жуть, хотя работает стабильно. Нашел еще три разработки: 1.https://geektimes.ru/post/270140/; 2. http://nice.artip.ru/avtomaticheskiy-vy ... eshcheniya ; 3. https://chipmk.ru/index.php/8-bytovye-p ... dalnomerov, но каждая имеет свои недостатки.
Первая - подключается к Arduino, хотя позаимствовал ик-датчики E18-D80NK.
Во второй - датчик и светодиод нужно крепить на разных сторонах дверной коробки (работает на разрыв луча). У меня стоит над дверной коробкой (работает на отражение) и если не заходить в черной кепке-работает как часики.Я так-же подозреваю что некорректно прописано прохождение человека через лучи (это видно в третьей ссылке). Ну и демо версия с ограничениями опять-же.
В третьей - (по моему самой простой и оригинальной) некорректно прописан процесс прохождения через датчики, а именно: если человек перекрыл два датчика, но потом передумал заходить в комнату, то свет включится, т.к. включение
происходит по второму датчику, первый уже не учитывается. Просмотрев всю эту информацию решил сваять что-то среднее, только ума у нас не хватает дописать код, поэтому и прошу помощи. :headbang: ПЛИЗ..... :)
Р.S. Набросал в протеусе схемку к третей ссылке, посмотреть работу, файл прошивки можно там скачать.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: laser_62
Имя: laser_62
(Киев)
Новичок
Новичок
Информация о пользователе

Re: Инфракрасный выключатель освещения

Сообщение laser_62 (laser_62) » 15 мар 2018, 18:46

Привет всем!
Теперь ближе к теме. Не судите строго.
Для уменьшения кода хочу применить максимально дополнительные устройства, а именно: готовые ИК-датчики Е18-D80NK -2 шт.; схемку на одном транзисторе день/ночь (день - на порту МК лог.1, ночь- лог.0).
Что планируется:
1. При входе первого человека - включить свет, при выходе последнего - выключить.
2. Подсчет людей (с использованием внутренней памяти мк), счет до 15, по возможности использовать семисегментный индикатор, цифры от 1 до 9 и буква Р (переполнение).
3.Датчик освещенности (есть проверенная несложная схема-работает на ура).
4. Триггер - управление освещением в ручном режиме (например - выключить освещение при сбое, или включить освещение днем).
5.Опция - выключить освещение через определенное время при бездействии датчиков (ну если свет включен по какой то причине и в комнате никого нет).

Что я попытался сделать (взято опять же из примеров); не знаю правильно или нет.
- Сработка датчика и индикация его сработки светодиодом;
- Кнопка включения/отключения освещения (триггер), независима от день/ночь;
- Режим день/ночь - под вопросом? :hlp:

Не знаю как правильно прописать проход человека через датчики. Алгоритм должен выглядеть так: 11-01-00-10-11 - человек вошел в комнату, добавилась +1.Выход наоборот -1.
Первая цифра - это первый датчик, вторая цифра - второй датчик. "1" - нет препятствия, "0" - видимость препятствия.

В схеме по ссылке №3, которую ранее выкладывал, условие (10) не соблюдаеся, тоесть нет прохода в комнату, в дверях развернулся, в комнату не зашел, а свет зажегся.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: laser_62
Имя: laser_62
(Киев)
Новичок
Новичок
Информация о пользователе

Re: Инфракрасный выключатель освещения

Сообщение Yushik (Андрей) » 15 мар 2018, 21:07

Не навязываю, но как предложение у товарища в квартире в туалете (туалет стандартный 1.15х0.90) стоит моя разработка. Работает так зашел свет зажегся, пока сидиш думаеш свет горит, вышел проходит секунд 10 свет погас, плюсы простота и надёжно, минус подходит только для маленьких помещений (туалетов). Вначале стоял обычный датчик HC-SR04 но он от влаги загнулся быстро, потом поставили JSN-SR04T, работает уже почти год.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Продвинутый
Продвинутый
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение laser_62 (laser_62) » 16 мар 2018, 09:48

Добрый день!
Андрей, спасибо за предложение, но у меня несколько лет стоит что то подобное (я в первом посту писал), но я хочу со счетом количества вошедших-вышедших людей, так как это создает некоторые неудобства. Опять же хотелось
подчерпнуть какие нибуть знания по этому вопросу у тех, кто с Фловкодом на ТЫ. Для меня это проблема, для тех кто умеет - 20 минут потраченного времени. Тем более, что сегодня должны прийти заказанные датчики. :)
Ник: laser_62
Имя: laser_62
(Киев)
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение Yushik (Андрей) » 17 мар 2018, 07:36

Тот алгоритм что вы хотите использовать называется "код грея" а датчики которые его выдают энкодер, только тут придётся использовать подавление длительного дребезга. Алгоритм обработки кнопок подавляет дребезг от 5 до 50 мс., а здесь придётся подавлять дребезг датчиков в несколько секунд на случай если человек будет меньжеваться на входе или размахивать другими частями тела. В моём городе уже стоит моих несколько контроллеров автоматической подсветки ступеней лестниц, но там нету алгоритма подсчета количества людей вошедших на лестницу, поэтому интерес к такому алгоритму у меня есть. Вечером я гляну ваши изыскания, довольно неплохо разжевали эту тему здесь viewtopic.php?f=9&t=132&hilit=обработчик+Энкодера ещё нплохой на прерываниях алгоритм на прерываниях давал Enigm но он от дребезга не защищен.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Продвинутый
Продвинутый
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение laser_62 (laser_62) » 19 мар 2018, 07:56

Yushik писал(а):Тот алгоритм что вы хотите использовать называется "код грея" а датчики которые его выдают энкодер, только тут придётся использовать подавление длительного дребезга. Алгоритм обработки кнопок подавляет дребезг от 5 до 50 мс., а здесь придётся подавлять дребезг датчиков в несколько секунд на случай если человек будет меньжеваться на входе или размахивать другими частями тела.

Да, я согласен, по поводу кода Грея, он практически подходит к этому делу, а вот по поводу задержек в несколько секунд нет. Нужно придумать так, что бы программа крутилась (может быть в цикле, или по другому.....), пока датчики
активны, например перекрыты два датчика, программа ждет что последует дальше, то есть сработал первый а потом второй, или наоборот. И тут с секундами не угадаешь. Может человек стал в дверной коробке анекдот рассказать, а потом развернулся и пошел назад.
Ник: laser_62
Имя: laser_62
(Киев)
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение Yushik (Андрей) » 19 мар 2018, 21:30

Я паузы и задержки сейчас в основном цикле не использую, стараюсь делать на инкрементных счетчиках. Я имел в ввиду если при появлении человека фронт должен смениться с 0 на 1, но при этом в течении 2-3 сек. на любом из датчиков код сменился с 0 на 1, один и более раз то программой это должно восприниматься как изменение с 0 на 1. типа тот же дребезг как у кнопок только сильно растянут по времени. Это на тот случай если человек размахивает руками, медленно покачиваясь из стороны в сторону ходит и т. д. В противном случае могут быть ошибки при обработке алгоритма и подсчете людей, я конечно могу ошибаться пусть другие участники форума изложат свои домыслы.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Продвинутый
Продвинутый
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение laser_62 (laser_62) » 20 мар 2018, 07:36

laser_62 писал(а):Это на тот случай если человек размахивает руками, медленно покачиваясь из стороны в сторону ходит и т. д.

Ну датчики и ставятся на определенной высоте, что бы максимально исключить размахивание руками. В моем случае, (в устройстве, которое работает в данный момент), датчик установлен сверху дверной коробки. Плюсы, не нужно
сверлить дверную коробку. Минус - если заходишь в черной кепке , не всегда срабатывает. Но это по моему везде будет так, все таки черный цвет, одежда тоже бывает черной. Получил ИК дальномеры - выдают на выходе 3,4V, регулируются на дальность обнаружения препятствия. Не знаю почему (в ссылке №3, первый пост), в схеме сделали усилители на транзисторах, с дополнительной регулировкой сигнала - видно слабые дальномеры. В моем случае - выход сразу можно вешать на ножку МК. На днях постараюсь опробовать этот вариант в железе.
Ник: laser_62
Имя: laser_62
(Киев)
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение laser_62 (laser_62) » 05 апр 2018, 10:13

Добрый день!!! Господа, никто реально не может помочь по выше изложенному вопросу? :hlp:
Пробовал разные варианты, у меня не получается правильно это дописать.......что бы работало как задумано :headbang:
ПЛИЗ......если Вас не сильно побеспокою (или гиганты мысли тут уже не тусуются)?
Ник: laser_62
Имя: laser_62
(Киев)
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: Инфракрасный выключатель освещения

Сообщение Yushik (Андрей) » 05 апр 2018, 18:07

Честно с удовольствием хотелось бы помочь, реально месяца через два получиться. Я в доме ремонт затеваю, основной комп разобрал, текущие проекты приостановил.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Продвинутый
Продвинутый
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей