![]() |
Строим вместе! |
|
|
|
#11 или 139873 |
|
Член Совета
|
У меня планируются электрические полотенцесушители - встал вопрос, как ими управлять. Просто механический переключатель в санузле - не то (даже с учетом того, что выключение может быть организовано по программируемому таймеру). Уже и датчик влажности хотел прикрутить в зону полотенцесушителя и датчик движения (пироэлектрический) установить. И температуру отслеживать и вес - все это баловство.
Начал смотреть в сторону сенсорных кнопок (чтобы никакой механики) - родилась бредовая идея сделать сенсором сам корпус полотенцесушителя. Бредовая, потому что его корпус может быть заземлен, а подключать общую землю напрямую к микроконтроллеру - глупо. Но идею не оставил, т.к. сами полотенцесушители еще не преобрел - может у них и нет заземления. Но повествование вобщем-то не об этом. Как оказалось сенсорный выключатель на Ардуино - вещь несложная. Подключил в виде сенсора датчик протечки (см. выше), скачал библиотеку - работает! Насчет библиотеки - важно скачать правильную версию - на верху страницы висит правильная, четвертая версия, а внизу, именно там где пример использования - третья - ее я и скачал исначала. А в примере - четвертая... Целый час убил, на разбор кода и правку (в разных версиях имена функция разные, да еще имя главной функции отличается от имени конструктора только тем, что первая буква - заглавная) - но заработало! Сижу балуюсь - коснусь сенсора - релюшка включается, а через минуту выключается. Прикладывал сенсор к металлической полке (к трубе) - тоже работает. Но тут выплыл чисто технический нюанс (два нюанса, и еще третий, вытекающий из первых двух) - датчик - это не тумблер, он не запоминает свое положение, а в системе у меня два десятка датчиков - пауза между опросами сенсора может достигать нескольких секунд. Потом я вспомнил, что таких сенсоров мне нужно несколько, а код библиотеки реализован так, что руками пришлось бы создавать столько экземляров класса, сколько нужно - глупо, расточительно, нерасширяемо. У той-же DHT-библиотеки - создается один экземпляр класса, а параметром в управляющую функцию передается только нога, на которой висит конкретных датчик. Так-как в библиотеке я уже покопался - на переписывание и оптимизацию кода ушло всего пару часов. А насчет задержки в опросе сенсора - тут только прерывания по таймеру. Пришлось изучать прерывания Ардуино. Изучил. Потом еще пару часов со оптимизацию кода (как библиотечного, так и моего) - работает! Причем в обработчике прерывания, за один такт обрабатывается один датчик. Туда-же прикрутил опрос датчиков протечки (они-же тоже должны сразу реагировать, а не через пять секунд после потопа). Доволен как слон! Задумался о защите - сенсор - как оголенный мозг. А статическое электричество, оно такое коварное. Вот здесь нашел аппаратное решение (не сложное). К тому-же сенсор прекрасно срабатывает и через миллиметровое оргстекло. Что помимо прочего раскрывает горизотны в оформлении этого сенсора. Статическое электричество, кстати через это оргстекло не пробивается, во всяком случае ощутимо. Долго эксперементировал. ![]() Теперь о грустном. Сенсорные кнопки замечательно работают, но у меня проблемы с длинными проводами - полуметровый кусок моножилы 0.5 мм.кв. - стабильно срабатывает в 100% случаев (даже через оргстекло), а пятиметровый кусок ПВС 2х1 мм.кв. - не работает. Десятиметровый кусок моножилы - тоже не стабильно работает. Датчик-то емкостный, а я в электроннике не контингент... Вот и получается, что рядом с контроллером - хоть сенсорную клавиатуру организовывай, а раскидать по дому - не получается (а такие планы были ). Пичалька.Помогайте. |
|
|
|
| Опции темы | |
| Опции просмотра | Оценка этой темы |
|
|
| Умный дом на Ардуино Рейтинг:5.00 из 5 на основе 4 оценок. |
Дом СоветовЪ,
Беларусь,
Минск
Раздаём плюшки!
Старт:
Получи бонус!
Старт:
Получаем скидки!
Старт:
|
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |