Бесплатная техническая библиотека ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Усовершенствованный вариант программного обеспечения системы управления. Энциклопедия радиоэлектроники и электротехники Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору Описаны изменения и дополнения, которые автор статьи внес в программное обеспечение "любительской" системы управления "умным домом", описанной им в [Л]. В первую очередь, исправлены ошибки, влияющие на стабильность работы модуля ihsc.exe. Чтобы повысить устойчивость работы всей системы, был создан контролирующий процесс (модуль ihsc_guard.exe), который начинает работать автоматически при запуске ihsc.exe. При сбое основного модуля происходит его автоматический перезапуск. В новой версии программного обеспечения веб-сервер научился принимать информацию от браузера. Атрибут "action" веб-формы должен содержать скрипт, который будет передан серверу и выполнен при нажатии на экранную кнопку на html-странице. Доступ к системе через Интернет производится с помощью андроид-смартфона с браузером Mozilla Firefox. Была обновлена и программа микроконтроллера для универсальных устройств UD. Изменения коснулись компонента системы "Одиночная выходная линия управления". Теперь этот компонент может иметь датчик, контролирующий фактическую подачу напряжения на нагрузку, который может быть собран, например, по схеме, изображенной на рисунке. С помощью него можно контролировать исправность силовой части устройства или плавкой вставки. При создании конфигурации устройства значение поля "Датчик напряжения: Антидребезг 0,1 с * на..." для этого датчика нужно установить равным 30 (3 с), чтобы избежать ложных срабатываний.
В скриптовый язык добавлен оператор exit, останавливающий выполнение текущего скрипта. Приведу пример того, как можно расширить возможности описанного в [Л] устройства № 12, изменив набор скриптов. Его можно загрузить в работающее устройство, открыв на графическом терминале пункт меню "Сервис→Редактор скриптов...". Научим устройство № 12 включать светильник, если в течение минуты после его автоматического выключения сработал датчик движения. Это даст возможность снова включить освещение, например, помахав рукой, если до этого он более 15 мин не был замечен датчиком движения, который и выключил освещение, сочтя, что в комнате никого нет. Набор скриптов, решающих эту задачу, приведен в табл. 1. Таблица 1 Замечу, что проверять текущее состояние датчика движения не приходится. Обычно импульс этого датчика длится всего несколько секунд - любой перепад его уровня принимаем за наличие движения. Рассмотрим еще два примера с использованием датчика движения. Предположим, на входе в дом установлены две двери - наружная и внутренняя. Они расположены на небольшом расстоянии одна от другой, поэтому при входе или выходе из дома существует отрезок времени, в течение которого обе двери открыты одновременно. Над наружной дверью установлен уличный светильник. В прихожей установлены потолочные светильники, управляемые некоторым устройством № 4. Необходимо сделать так, чтобы в темное время суток при выходе из дома включался на несколько минут уличный светильник, а при входе в дом включалось освещение в прихожей. Эту задачу решает набор скриптов, приведенный в табл. 2. Таблица 2 Информацией о текущей освещенности владеет устройство № 10 - домашняя метеостанция, оснащенная датчиком освещенности. Пороги освещенности, при которой нужно включать или выключать светильники, будут разными для улицы и прихожей, поскольку внутри помещения естественная освещенность всегда ниже, чем снаружи. Обычные светильники со встроенными датчиками движения в рассматриваемом случае непригодны, потому что конфигурация помещения и возможные места размещения светильников не позволяют их датчикам срабатывать в процессе открывания двери. Из-за этого возникает дискомфорт: первый шаг приходится делать в темноте, только после этого датчик движения включит свет. А нужно добиться, чтобы он включался еще во время открывания двери. Создаваемому устройству присвоим номер 3. К нему подключим два геркона - это датчики открытых дверей (наружной и внутренней), спрятанные внутри дверной коробки. Еще подключим кнопку звонка. Управлять устройство будет наружным светильником и звонком. Переменная step принимает значение 1, когда устройство предполагает, что человек выходит из дома, или значение 2, когда он входит в дом. Переменная still предназначена для блокировки автоматического включения освещения. Например, если требуется посмотреть в окно в сумерки или не открывать дверь нежелательным гостям. Переменная dark содержит выраженный в условных единицах уровень внешней освещенности. Чем она выше, тем меньше значение этой переменной. Поскольку необходимый порог освещенности выбирают экспериментально, нет никакой необходимости выражать ее в стандартных единицах. Сам датчик представляет собой фоторезистор, подключенный к АЦП. Через 2 мин после запуска устройства переменной dark присваивается значение текущего уровня освещенности, полученное от устройства № 10 (метеостанции). В дальнейшем обновление значения этой переменной происходит через каждые 15 мин. Локальное хранение медленно изменяющегося параметра позволяет ускорить выполнение скрипта, так как не приходится всякий раз тратить время на опрос соседнего устройства. А двухминутная задержка нужна для того, чтобы метеостанция успела измерить освещенность, если питание на все устройства системы подано одновременно. Скрипт 1 устройство выполняет при изменении состояния герконов наружной и внутренней дверей. Направление движения определяется исходя из того, какая дверь открыта раньше. Недостаток этого способа состоит в том, что если дверь забыли закрыть, то принятое решение будет неправильным и освещение автоматически не включится. Скрипт 2 устройство выполняет при нажатии на кнопку звонка. В завершение рассмотрим задачу автоматизации освещения в ванной комнате, туалете или другом подсобном помещении. Набор скриптов для ее решения приведен в табл. 3. По причинам, описанным выше, только одними датчиками движения обойтись не удалось. Потребовалось также установить датчики открытых дверей. Таблица 3 Переменная t принимает значение 0, если дверь в помещение закрыта и там никого нет; значение 1 - если открылась дверь и человек заходит в помещение; значение 2 - если он вошел в помещение и закрыл за собой дверь; значение 3 - если открылась дверь и человек выходит из комнаты. Алгоритм правильно работает, если весь цикл выполняют без ошибок, т. е. дверь не забывают открывать и закрывать. Если же человек выйдет из комнаты и не истечении 6 мин освещение будет выключено, но переменная t останется равной 3 в ожидании, что дверь закроют. Если через некоторое время в открытую дверь войдет человек, сработает датчик движения, и переменной t будет присвоено необходимое значение 1 . Можно усовершенствовать этот алгоритм, обнуляя переменную t, если в течение нескольких минут после закрывания двери в помещении не было зафиксировано движения. Это восстановит нормальную работу устройства после того, как человек оставит открытой дверь, войдя в комнату, а через некоторое время выйдет и закроет за собой дверь. Благодаря датчику открытой двери освещение включается моментально при ее открывании. Но поскольку датчик движения реагирует только на присутствие человека внутри комнаты, освещение не включается при проходе мимо двери, если по какой-либо причине она оставлена открытой. При использовании стандартных светильников со встроенными датчиками движения такого эффекта добиться не удалось. Особенно в ванной комнате и в туалете. Дело в том, что очень трудно задать оптимальную продолжительность работы светильника. Если она слишком мала, человеку приходится постоянно двигаться, чтобы продлить его работу, а если слишком велика, то после выхода из комнаты освещение продолжительное время остается работающим бесполезно. Для проверки скриптов на синтаксические ошибки при загрузке в контроллер можно пользоваться встроенным в графический терминал редактором скриптов ("Сервис→Редактор скриптов...”). Нужно помнить, что переменные создаются при первом использовании в операторе присваивания. Поэтому перед проверкой работы условного оператора, в котором имеются переменные, их нужно создать. А при использовании значений параметров компонентов системы соседних устройств программа предложит ввести значение вручную, имитируя отправку запроса и получение значения нужного параметра. У программы появились также возможности, которые на практике пока не применялись, но доступны для тестирования: - возможность запуска стороннего приложения для синтеза звука. Для этого в поле, где ранее указывали имя wav-файла для проигрывания, нужно ввести командную строку, запускающую стороннее приложение;
Доработанное программное обеспечение можно скачать с ftp://ftp.radio.ru/pub/2017/02/ihsc.zip. Литература
Автор: М. Антонов Смотрите другие статьи раздела Радиолюбителю-конструктору. Читайте и пишите полезные комментарии к этой статье. Последние новости науки и техники, новинки электроники: Искусственная кожа для эмуляции прикосновений
15.04.2024 Кошачий унитаз Petgugu Global
15.04.2024 Привлекательность заботливых мужчин
14.04.2024
Другие интересные новости: ▪ Головастику насыпали соли на хвост ▪ Первый 4K-дисплей для смартфонов ▪ Технология формирования физических клавиш на сенсорных дисплеях ▪ Гаджет, избавляющий от похмелья ▪ Графен в космических кораблях будущего Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Радиоуправление. Подборка статей ▪ статья Гарвей Вильям. Биография ученого ▪ статья Где у змеи сердце? Подробный ответ ▪ статья Горец птичий. Легенды, выращивание, способы применения ▪ статья Универсальная радиосигнализация. Энциклопедия радиоэлектроники и электротехники
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |