Попалась мне как-то на глаза статья про самодельный драйвер сенсорной клавиатуры. Суть работы есть в статье, по-этому сюда плодить информацию не буду. Конечно я сделал себе эту плату, запрограммил, побаловался и забыл. Да, идея прикольная, вполне рабочая, можно делать неплохие панели управления.
И вот с выходом контроллера подсветки лестницы я опять вернулся к тач-сенсорам.
Возникла идея, а чем собственно нажатие пальцем на пластину через диэлектрик отличается от наступания ногой на лестницу ? Если, скажем, пластину скрытно установить под ступенькой ? Правильно, отличается толщиной этого диэлектрика, причем весьма существенно.
Если бы я смог определить момент наступания ногой на ступеньку — не нужны никакие датчики расстояния или движения. Причем расположив сенсоры под первой и второй ступенькой, однозначно можно сделать вывод о направлении движения. А это уже пахнет подсчетом людей на лестнице и совсем другие алгоритмы работы подсветки. Есть где развернуться. Хм…
Ни одна микросхема (TTP223, AT42QT1011) не работают с толстыми материалами. Кстати, тот контроллер на ATtiny2313 я заставил работать через закаленное 6мм стекло. Размер пятачка при этом 2*2см. Но 6мм меня не устраивает, мне надо 60 🙂
И я сделал свой двухканальный сенсорный драйвер с преферансом и куртизанками… (размер платы 27.64*15.24мм)
Меньше по размерам сделать, простите, не получилось 🙂
Хотя нет, вру, убрав 3.81мм клеммники и сделав 2.54мм отверстия под штырьки, можно добиться размера 23.83*15.24мм, что уже можно просто прятать в термоусадочную трубку. Такие платы тоже есть.
В основу драйвера лег все тот же принцип изменения времени «заряда» ножки микроконтроллера через высокоомный резистор при добавлении «в цепь» емкости в виде человека. В кавычках, поскольку непосредственного контакта с пластиной не будет и 6 сантиметров дальность срабатывания — это не предел 🙂
2 основных фактора, которые помогли реализовать эту идею:
- микроконтроллер именно PIC18F46K80
- свой алгоритм обработки и интерпретации данных
Состояние «0» и состояние «1»:
Протокол UART свой, ничего сложного. Посылка в модуль и ответ из модуля состоят из двух байт. Первый байт обозначает команду, второй аргумент.
Итак, список возможностей железки:
- До 60мм срабатывание. Через дерево/гипсокартон/бетон.
- 2 режима работы драйвера:
- UART-режим для настройки драйвера и передачи в цифровом виде какой сенсор сработал. Вывод информации в другой микроконтроллер/компьютер.
- TTL-режим, когда выходы драйвера соответствуют состоянию тач-сенсоров. (0-не сработал/1-сработал) Прямое управление нагрузкой.
- 3 режима работы сенсоров:
- Две раздельных «кнопки» (без фиксации)
- Два раздельных выключателя (с фиксацией)
- Скользащий выключатель (когда должен сработать сначала первый сенсор, потом второй, или наоборот)
Подключение:
Чтобы подключить сенсорный модуль к компьютеру, необходим UART-USB переходник. Подойдет любой:
Но можно и саму Arduino Nano (из комплекта подсветки лестницы) использовать в виде такого переходника:
Джампер замыкает Reset на землю. Arduino при этом не стартует, но чип на плате прекрасно работает в виде UART-USB.
Софт для настройки:
Остальное лучше увидеть:
Данные модули есть в разделе «Купить«
Читал как войну и мир. Много думал.
Так и надо… быстро прочел и много подумал 🙂
Ого, да это настоящая джига-дрыга!
Добрый день! Хочу поинтересоваться. Получается что если данные датчики установить на лестницу, то контроллер сработает только тогда когда человек наступит на вторую ступень? Но она еще не подсвечена.
Хороший вопрос 🙂
На данный момент контроллер реагирует только на первый сенсор, то есть включает подсветку при наступании на первую ступень. При этом при срабатывании сенсора второй ступеньки происходит увеличение счетчика людей на лестнице. Сам подсчет людей пока не используется, но ведется. Таким образом при последовательном срабатывании предпоследней и последней ступеньки фиксируется выход и счетчик уменьшается на единицу.
А решений вопроса может быть несколько.
Сейчас думаю как лучше реализовать:
1) Оставить как есть и активировать подсветку по первому (возможно единственному установленному) сенсору. Если есть и второй, то по нему вести подсчет людей и не гасить лестницу пока на ней кто-то есть.
2) Первый сенсор можно установить не под первую ступеньку а под ламинат перед лестницей. Если он срабатывает — первая ступенька выходит из дежурного режима и светит на полную яркость. А при наступании на первую ступеньку уже разжигать всю лестницу.
Фантазия у меня богатая. Скорее всего сделаю оба варианта с переключением в утилите 🙂
Здравствуйте,
Подскажите если лестница сделана с использованием центрального металического косоура. Есть ли смысл использования данного датчика на ступеньках (беспокоит как разместить саму пластину и будет клаибровка способна отличить изменение емкости (или такое количество токопроводящего метала — будет зашкаливать измерение?))
Испытывали ли такой режим?
Спасибо.
Наличие металла рядом уменьшает «пробивные» способности 🙂
В ближайшем будущем я попробую обобщить все варианты подключения и оформить в виде статьи.
Самый простой вариант — ставить пластину не под ступеньку а под ламинат/плитку ПЕРЕД лестницей.
Знаю что делали 2 пластины под ступенькой и соединяли их проводом в обход косоура. Таким образом косоур не влияет.
Производители лестниц умудряются пластину встроить внутрь массива ступеньки.
Кто-то использует алюминиевые уголки/накладки.
Вариантов много, но все они достаточно затратные по реализации. Добиться стабильной работы можно
на любом варианте, просто это требует больше работы по сравнению с просто деревянной лестницей, где
в принципе и настраивать ничего не надо. Желательно, но не обязательно.
Понятно. Спасибо за ответ.