После статьи о сенсорной клавиатуре меня неоднократно просили сделать сенсорные клавиши, дрыгающие напрямую ножками микроконтроллера. Вот, выполняю обещание, тем более подвернулся хороший повод – рыбки! Ну, не совсем рыбки, а скорей аквариум. Давно хотел сделать на работе пульт для аквариума, при помощи которого можно было бы включать/отключать свет, компрессор, обогреватель, еще чего-нибудь…, а то замучался дергать вилки из розеток удлинителя. Этим устройством я убиваю сразу двух зайцев (или рыбок :)) – Вам будет готовое устройство для включения/выключения различных нагрузок, а мне удобный пульт для аквариума.
1 Начнем со схемы ….
Схема проста и реализовать ее не составит труда.
Сенсорные площадки-клавиши подключаются к «Touch Line»
Нагрузки управляются четырьмя линиями «Switch Line»:
— на линии ‘1’ (5 вольт) — нагрузка включена;
— на линии ‘0’ (0 вольт) — нагрузка выключена.
Как Вы видите, на схеме нет индикаторов текущего состояния нагрузок. Это по причине того, что все мои нагрузки будут «перед носом» — все и так будет видно. Если в Вашем случае это не так, то индикацию добавить не составит труда.
а – простая схема (светодиод светится – нагрузка включена); б, в – более продвинутые варианты (светится зеленый – включено, красный – выключено). Схемы индикации вешаются прямо на выходы управления нагрузкой.
Схема почти полностью повторяет схему сенсорного драйвера, а значит если Вы уже собрали плату сенсорного драйвера, то она сгодится и для этого переключателя, потребуется лишь незначительная доделка – в качестве выходов для управления нагрузкой нужно задействовать оба УАРТ выхода + два выхода на индикаторные светодиоды.
2 Плата.
Плата переключателя сделана под SMD компоненты (это для компактности), содержит как драйвер, так и сами сенсорные площадки-клавиши.
3 Сборка.
Тут без особенностей. На плате предусмотрены площадки разъема, на которые выведены линии питания устройства, управления нагрузкой и программирования. По вашему желанию можно припаять к ним разъем или сразу шлейф.
4 Принцип работы
На панели переключателя есть 12 сенсорных кнопок:
— по две не каждую из четырех нагрузок (включение и выключение отдельно);
— кнопка включить все (включаются сразу все четыре нагрузки) и кнопка выключить все (соответственно, все нагрузки выключаются);
— кнопка запоминания текущего состояния нагрузок и кнопка восстановления сохраненного состояния нагрузок.
При работе устройства меняется уровень сигнала четырех линий (выходов) для управления нагрузкой: 5В – устройство включено; 0В – устройство выключено.
Хотя сам принцип замера емкости сенсорных площадок остался прежний (версия 2 сенсорного драйвера), я немного модифицировал прошивку:
— добавил автоматическую подстройку чувствительности сенсорных каналов во время работы (в предыдущей версии она производилась только при старте программы);
— добавил сигналы сообщения об ошибках инициализации сенсорных каналов при старте:
— два коротких щелчка – параметры каналов в норме
— непрерывные одиночные щелчки – какой либо канал не заряжается.
Причины: какой либо канал имеет утечку на «землю» (грязная плата, перемычка на землю …), резистор на 1МОм в обрыве, проблемы с портом микроконтроллера;— непрерывные щелчки сериями по два – какой либо канал постоянно заряжен.
Причины: утечка питания на какой либо канал (грязная плата, перемычка на плате …) или закорочен резистор на 1МОм, проблемы с портом микроконтроллера.
— в программе осталась защита от мультитача и убран, за ненадобностью, автоповтор.
5 Прошивка.
Устройство работает от внутреннего задающего генератора на 8МГц.
На разъем платы выведены все необходимые линии для программирования. Подключаем программатор, заливаем прошивку.
065-Touch_Switch_hex.zip (3054 Загрузки)
Не забываем про фьюзбиты
065-Touch_Switch_Fuse.png (4111 Загрузок)
6 Облицовка.
Плата собрана, микроконтроллер прошит, осталось самое креативное – оформление сенсорных площадок. В общем случае технология облицовки сенсоров выгладит следующим образом:
— рисуем картинку кнопок на компьютере (естественно, они по размерам должны совпадать с сенсорными площадками на плате);
— распечатываем их на самоклеющейся бумаге (для лазерных принтеров есть специальная, для струйников подойдет любая);
— приклеиваем распечатанный рисунок на нашу плату, поверх самоклейки клеим защитную пленку (это может быть или скотч, или прозрачная самоклейка, или еще что…).
Выше описанная технология не единственная. Еще можно ламинировать распечатанный рисунок и после клеить его к плате на двусторонний скотч или можно по простому — приклеить к плате клеем обычную бумагу и покрыть скотчем. Есть еще куча способов – включайте фантазию …
В данной реализации платы часть с драйвером желательно закрыть перед облицовкой кусочком пластика, для того, чтобы компоненты платы не выпячивались из-под самоклейки. И еще, очень мешает облицовке торчащий бузер. Если у Вас есть плоский бузер, который спрячется под пластинку будет вообще айс! К сожалению, у меня такого, под рукой не оказалось — ну да ладно.
Чтобы Вам немного упростить работу я набросал несколько вариантов оформления клавиш. На выбор есть 4 стиля оформления: специально для аквариума (делал для себя); строгий для серьезных применений; веселый для НЕ серьезных применений 🙂 и футуристический. Выбирайте!
065-goriz-front-panel.jpg (2769 Загрузок)
Сенсорную панель можно разместить как вертикально, так и горизонтально. Это зависит от условий применения. Соответственно и рисунки должны быть нужной ориентации. Вот те-же варианты оформления кнопок, только в вертикальном исполнении (для аквариума я выбрал именно такое исполнение).
065-vert-front-panel.jpg (2532 Загрузки)
7 Силовая часть
Силовая часть устройства вынесена отдельно от пульта. Схема исполнительного устройства будет зависеть от типа коммутируемой нагрузки. Для ознакомления с возможными вариантами читайте статью «Подключение нагрузки к микроконтроллеру» — там все описано.
Касательно моего случая (управления гаджетами аквариума) – решил применить обычные реле которые будут коммутировать 4 розетки, в которые будут подключатся сами гаджеты.
8 Демонстрация работы
После сборки и облицовки получилось вот такое симпатичное устройство.
Делал на тонком стеклотекстолите, поэтому после наклейки на аквариум (на двухсторонний скотч) воспринимается органично.
Силовая часть еще в сборке. Поэтому решил выложить видео чуть позже. Покажу в работе прямо с рыбками 🙂 …
Ссылки:
Универсальный драйвер для сенсорных устройств
Подключение нагрузки к микроконтроллеру
МОДИФИКАЦИИ.
(Изменение некоторых аспектов работы устройства. Общая логика работы остается прежней)
Модификация №1.
Изменен алгоритм работы устройства: При нажатии на сенсоры 1On, 2On, 3On, 4On на соответствующих управляющих линиях появляется высокий уровень. При отпускании сенсоров — уровень возвращается в ноль. У остальных сенсоров остается прежняя функциональность, но с учетом того, что нет «защелкивания» уровней на выходных линиях, они теряют смысл.
Touch_Switch.zip (2085 Загрузок)
065-Touch_Switch_Fuse.png (4111 Загрузок)
Как правильно прошить AVR фьюзы
065-touch_switch-Mod1.zip (2138 Загрузок)
Модификация может пригодиться в тех условиях, где необходимо управления без «защелкивания» .