Как сделать тачпад своими руками

admin

061-Простая сенсорная панель (Keypad).

061 titleСенсорные клавиши, тачпады, тачскрины и прочие сенсорные устройства прочно и необратимо входят в нашу жизнь. От них никуда не деться, вот и мы пробуем соорудить что то из этой области.

Но, перед тем как мы начнем сооружать наш сенсорный девайс, хотелось бы узнать как Вы относитесь к сенсорным устройствам вообще? Честно говоря, у меня отношение к сенсорным клавишам довольно неоднозначное. Давайте вместе оценим, сильные и слабые стороны.

Плохое:
Итак, первым из плохого сразу стоит отметить отсутствие факта «проседания» при нажатии на кнопку. Долгими годами, общаясь с электронными устройствами, мы привыкли тактильно ощущать факт нажатия кнопки и чем более отчетлив факт нажатия (плоть до слышимого щелчка), тем боле приятно нам работать с клавишами. В сенсорной кнопке нужно себя приучить, что факт нажатия мы осознаем для себя косвенно, через реакцию устройства (озвучивание нажатия сенсора или по эффекту, оказанному нажатием сенсора). Это непривычно и поначалу довольно неудобно – приходится себя приучать.

Второй недостаток, вытекает из первого. Так как для «нажатия» сенсора нет необходимости прикладывать физическое усилие, то случайные прикосновения к сенсорным клавишам будут вызывать ненужные срабатывания. Есть способы борьбы с этим, но по факту это необходимо учитывать при разработке устройств – продумывать блокировку или ограничение контакта с сенсорами.

Большим недостатком является необходимость применения электронного устройства (драйвера) без которого сенсорные клавиши будут просто куском печатной платы. Это, конечно, усложняет и делает дороже устройство.

Хорошее:
О плохом поговорили, давайте теперь хвалить сенсорные устройства.
Самое главное, что сенсорные устройства – это вечные устройства (если не принимать во внимание электронику). Что может статься с куском фольгированного текстолита? Нет механических движений — нет износа!

Простота и дешевизна конструкции позволяет такие устройства широко использовать в «домашних» условиях.

Так как сенсоры, по сути, являются всего лишь вытравленными площадками на фольгированном текстолите, они могут быть любой конфигурации (на сколько позволит фантазия и конструкция устройства). Устройство сенсоров позволяет придать им любой внешний вид, что может подчеркнуть/выделить функциональность устройства.

Если учесть все отрицательные стороны, то сенсоры могут стать очень полезным устройством для Ваших электронных проектов. Значит, решено – будем их использовать!

Начнем, пожалуй, с классики — стандартного кейпада на 12 клавиш (как на телефоне). Раньше я уже делал драйвер для механического кейпада – будет с чем сравнить. Сенсорный кейпад (как, впрочем, и остальные сенсорные устройства) состоит из двух частей: драйвера и сенсорной панели.

1 «TOUCH ME» ДРАЙВЕР
— электронное устройство, которое будет «чувствовать» наши сенсорные площадки и реагировать на «нажатые» клавиши. В нашем случае это устройство работает по принципу замера паразитной емкости площадки сенсора. Как сделать драйвер сенсорных устройств, «Touch Me driver», я описал немного раньше. Конструкция драйвера проста и универсальна, ее можно применять для различных сенсорных устройств, будет меняться только прошивка. Под каждое сенсорное устройство я буду выкладывать свою прошивку. Считаю, что драйвер Вы уже собрали. Если кто не помнит — он выглядит вот так:

060 Touch me pinout

Теперь прошиваем его прошивкой для управления сенсорным кейпадом.

В процессе обкатки устройства появились новые идеи (и баги). Вышла вторая версия прошивки — добавлено несколько новых плюшек (смотрим ниже). Первую версию все еще можно скачать в конце статьи.

061-T2313-keypad-sense-.zip (4594 Загрузки)
Микроконтроллер работает от внутреннего задающего генератора 8МГц.
061-fuse-keypad-sense.png (4058 Загрузок)
Фьюз байты: Lock Bits = 0x 3F; High Fuse = 0x DF; Low Fuse = 0x E4; Ext. Fuse = 0x FF

1.1 Работа драйвера.
В работе программы реализовано:
— общение с «внешним миром» по интерфейсу UART (возможно будут версии и с другими интерфейсами – позже решим);
— автоповтор нажатой клавиши;
— Shift-режим (при удержании нажатой клавиши «*» включается Shift-режим. В Shift-режиме при нажатии на клавиши выдаются по UART не цифры (0, 1, 2,…9), а буквы (A, B, C, …J);
— озвучивание нажатой клавиши;
— индикация нажатой клавиши и включения Shift-режима;
— подсветка клавиатуры;
— возможность управления драйвером по UART;
— возможность сохранения и восстановления настроек сенсорных каналов в EEPROM.

1.2 Возможные варианты работы драйвера и управления им:

061 sense panel USART OUT
Во второй версии прошивки добавлена возможность определения нерабочих каналов.
При старте устройства, в процессе автоматической настройки, по UART передаются результаты тестов сенсорных каналов. Это должно помочь определить проблемы с работой устройства. Формат посылки следующий:
_xxxxxxxxxxxx_
, где х состояние каждого сенсорного канала и может принимать одно из трех значений:
N — все нормально, канал нормально работает;
O — переполнение. Канал не может зарядиться до единицы за заданное время. Причины могут быть следующими: канал «прижимается» к «земле» или утечками на плате или неисправными внутренними цепями порта микроконтроллера; еще может быть слишком большая паразитная емкость канала — длинные соединительные провода, большая контактная площадка;
S — канал мгновенно заряжается до единицы. Такое может быть если запускается «голый», без сенсорной панели, драйвер. Канал «прижимается» к +питанию или утечками на плате или неисправными внутренними цепями порта микроконтроллера.

— При нормальном старте устройства по UART пройдет строка:
_NNNNNNNNNNNN_
и последует два коротких звуковых сигнала.
— При старте с ошибками в строке сообщения выдадутся ошибки в сенсорных каналах и будут непрерывно следовать звуковые сигналы.
— При восстановлении значений чувствительности сенсорных каналов из EEPROM, по UART передается строка:_EE_ и нет никаких сигналов.

Прием по UART:
0 — отключение подсветки;
1, 2, 3, 4, 5, 6, 7, 8, 9 — регулировка яркости подсветки;
Н — включение Shift-режима;
L — выключение Shift-режима;
S — сохранение настроек чувствительности каналов в EEPROM (при старте устройства не будет производится автоматическая настройка — значения восстановятся из EEPROM) (v2.0.);
R
— возврат автоматической настройки каналов при старте (отмена S-команды) (v2.0).

Драйвер, в данной реализации, общается с внешним миром по UART, но в последующем я планирую сделать вариант, где нажатиями кнопок можно будет «дрыгать» различными ножками микроконтроллера (подключив реле или симистор можно будет управлять мощной нагрузкой – освещение, моторы и т.д.)


1.3 Настройка работы, защита от ошибок и помех
(переступаем через грабли).
В программе реализовано сразу несколько защитных алгоритмов препятствующих ложному или ошибочному срабатыванию сенсоров.
Так как порта «сенсорных» каналов находятся в высокоимпедансном состоянии, и фактически являются антеннами, на которые «ловится» весь окружающих электрический шум, то замеры емкости, в некоторой степени, «плавают». Для получения достоверных значений емкости программа делает усреднение 32 замеров.
«Сенсорные» контактные площадки срабатывают без «нажатия» — достаточно прикосновения. Возможна ситуация когда к панели клавиш случайно прикоснулись ладонью или при нажатии коснулись сразу двух клавиш. Программа «видит» сразу все «нажатия» сенсоров и в случае, когда нажато более одной кнопки, не выполняет ни каких действий.
В программе реализовано устранение «дребезга контактов». Странно звучит для бесконтактных клавиш, но у «сенсоров» есть определенный порог (расстояние от пальца до контактной площадки) нестабильности при котором «клавиша» может неустойчиво определятся как «нажатая». Хотя у порта микроконтроллера входные буферы всех выводов построены по схеме триггера Шмита, что, в некоторой степени, является защитой от дребезга, дополнительная программная защита не помешает.
Драйвер будет корректно работать с различными вариантами разводки контактных (сенсорных) площадок, шлейфов, внешних условий и условий эксплуатации. Это возможно благодаря тому, что при запуске драйвер автоматически настраивает чувствительность каждого сенсорного канала индивидуально.
Благодаря автоподстройке драйвера к условиям работы, схема не нуждается в какой либо настройке после сборки и не критична к применяемым в схеме радиоэлементам.

2 СЕНСОРНАЯ ПАНЕЛЬ КЕЙПАДА
— очень проста конструктивно. Это всего лишь печатная плата.
061-sense-keypad-plate.zip (6044 Загрузки)
Для платы можно использовать любой текстолит, материал не имеет значения.

2.1 После того, как вытравили плату припаиваем к ней шлейф для связи с драйвером. В данном случае я поставил разъем, но если драйвер не планируется использовать для других устройств – можно паять напрямую, без разъема.

2.2 Сенсорная плата готова, нужно нанести на нее диэлектрическое покрытие.
Вот тут начинается самое интересное и креативное. Для покрытия можно применить различные способы и материалы: лаки, пленки, скотч, … — ваша фантазия поможет.
Я предлагаю следующий вариант «облицовки» сенсорной панели.
Для начала рисуем наши клавиши. Это можно сделать в любой программе в которой вы умеете рисовать, одно условие – размеры рисунка должны совпадать с сенсорной панелью. Далее рисунок распечатываем. Печатать можно как на струйных, так и на лазерных принтерах – разницы нет. Распечатанный рисунок нужно приклеить к сенсорной панели. Тут соображайте сами как это сделать – вариантов множество.

Я, для упрощения процесса, печатаю клавиатуру на специальной самоклеющейся бумаге, на лазерном принтере. Делаю я это в копировальном центре, так как ни такой бумаги, ни цветного лазерного принтера у меня нет. Далее я просто снимаю защитную пленку и приклеиваю «клавиши» к сенсорной панели.

Если у кого нет возможности распечатать клавиатуру, не отчаивайтесь – ее можно просто нарисовать на листке бумаги маркером или ручкой. Это, конечно, будет не так гламурно, но на функциональности, никак не скажется.

Рисунок на плату наклеен, нужно его защитить от загрязнений. Если этого не сделать, то обычная бумага от прикосновений пальцами быстро затирается и загрязняется, превращаясь в непрезентабельное серое пятно. Тут все просто – сверху бумаги клеем прозрачную пленку. В самом простом случае это может быть широкий скотч, или прозрачная самоклеющаяся пленка. Я использую прозрачную самоклеющуюся пленку с матовой поверхностью – это дает наилучшие результаты, так как матовая поверхность более приятна.

Если использовать тонкий фольгированный текстолит и есть возможность заламинировать плату в пластик (как это предложил elektromonstr) получиться вообще не убиваемая клавиатура!

061 make sense touch key

Если кому лениво рисовать самому клавиши – я тут набросал несколько вариантов рисунков кейпадов — просто выберите более подходящий.

061 keypad sense pic
Рисунки сделаны в Ворде, поэтому никому не составит труда их подкорректировать под свои нужды.
061-sense-keypad-desine.doc (3770 Загрузок)

3. СОВМЕСТНАЯ РАБОТА
Устройство в сборе выглядит следующим образом:

061 sense panel view

Готовую сенсорную панель можно клеить к любой поверхности, будь то пластик, дерево или металл. Самое простое — это приклеить ее на двусторонний скотч, но и другие способы возможны.

3.1 Особенности конструкции сенсорной панели.
Правильным решением будет изготовить всю лицевую панель Вашего устройства из цельного куска текстолита вытравив в нужных местах сенсорные площадки. Устройство будет выглядеть просто отлично!

061 sense panel desine

Замечательным свойством сенсорной панели является то, что дизайн кнопок ни чем не ограничен и зависит только от Вашей фантазии. Посмотрите, как преобразится наш прибор если немного пофантазировать:

061 sense panel desine2

А если пофантазировать еще чуть-чуть – получим оригинальный, не на что не похожий прибор:

061 sense panel desine3

Драйвер собран, собрана сенсорная панель.
Осталось только посмотреть как это все работает вместе:

Для проверки работы сенсорной панели через COM порт (или преобразователь USB to UART) подойдет обычная программа терминала.
Для упрощения процесса проверки я набросал небольшую программку. Она очень проста и предназначена специально для проверки этого кейпада.
TouchMe-Tester.exe (3557 Загрузок)

Выводы.
Сенсорная панель вышла простой и доступной. Благодаря автоподстройке сенсорных каналов драйвера нет ограничения в конфигурации сенсорных площадок, что позволяет гибко использовать драйвер для различных нужд. По UART выдаются однобайтовые (односимвольные) сообщения, на приемной стороне нет необходимости в создании буфера (принялся символ — вызвалось прерывание — прямо в прерывании выполнилось нужное действие или установился флаг). Есть возможность подстройки панели «на лету» по UART.

РАБОТА НАД ОШИБКАМИ.
Данное устройство совсем новое и мною толком не тестировалась, а значит будут вылазить какие-то баги (некоторые узкие места я уже вижу). Так как данный принцип и плата Touch Me driver`a будут дальше использоваться во многих устройствах хотелось-бы максимально обкатать плату и прошивку сейчас, чтобы потом было меньше ошибок. Поэтому буду благодарен за любые (особенно критические) замечания и предложения по конструкции и работе устройства. Если все получилось — тоже пишите, не стесняйтесь. Вместе оно у нас заработает как надо! 🙂

061-Простая сенсорная панель (Keypad). : 157 комментариев

Друг Большое спасибо за Ваш ответ, но е смотрел на форуме, но нет никаких изменений в проект 061-Простая сенсорная панель (клавиатура). если я могу помочь с изменением того, что говорил только активным после того как число при нажатии датчика большое спасибо

ОК. Попробуйте задание описать проще.
Автоматический перевод плохо читаем.
Maybe better in English?

Friend thank you very much for your answers and been looking at the forum but did not and found nothing about the amendment that and talked not know if you can help me it’s just that when I press a key or sensor activates the corresponding number once that sensor that already and tested and if I press and hold the sensor activating siguegue number.

I also want to know which software can open files can be compiled. and another question that I put him buzer because here alone with buzer 12 volts can you tell me which works thank you very much and I hope you can help me please.

Друг спасибо за ваши ответы и искал на форуме, но не сделал и ничего не нашел о поправке, что и говорил не знаю, если вы можете помочь мне это просто, что, когда я нажимаю клавишу или датчик активирует соответствующее число раз что датчик, который уже и испытаны и если нажать и удерживать датчик активации номер siguegue.

Я также хотел бы знать, какое программное обеспечение может открывать файлы могут быть скомпилированы. и еще один вопрос, который я поставил его buzer, потому что здесь наедине с buzer 12 вольт вы можете сказать мне, который работает большое спасибо, и я надеюсь, что вы можете помочь мне, пожалуйста.

OK. I’ll do it in the near future (as finish current projects)
Regarding programming environment — http://algrom.net/

About the buzzer, I do not understand the question.

As there will be news on this modification, I will write about this in a topic on the forum
http://www.forum.getchip.net/viewtopic.php?f=24&t=734

good morning friend.

again thank you very much for your answers to the keyboard 3×4 touch no other when active problem the shift key put the finger on the number one show me the letter B and if I put the finger on number zero shows me the letter A will that be for showing the letters in the same order of the example numbers. 1A, 2B, 3C, 4D, 5E, 6F, 7G, 8H, 9I, 0J by the current thus showing this. 1B, 2C, 3D, 4E, 5F, 6G, 7H, 8I, 9J, please 0A if you can help me with this thank you very much a hug.

Не раз большое спасибо за ваши ответы на клавиатуру 3х4 ощупь никакая другая, когда активная проблема смена ключа положить палец на номер один показать мне письмо B, и если я кладу палец на номер ноль показывает мне букву А будет, что быть для показывая буквы в том же порядке с номерами примеров. 1A, 2B, 3C, 4D, 5E, 6F, 7G, 8H, 9I, 0J током, таким образом показывая это. 1B, 2C, 3D, 4Е, 5F, 6G, 7Н, 8i, 9J, пожалуйста, 0A, если вы можете помочь мне с этим большое спасибо объятие.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Сделай сам своими руками О бюджетном решении технических, и не только, задач.

Как изготовить электронное перо (стилус) и мини планшет своими руками?

01

О том, как из всякого хлама изготовить мини планшет и стилус для ноутбука.

То есть, речь идёт об электронном пере, которым можно писать рукописные тексты или рисовать.

Самые интересные ролики на Youtube

Чтобы стало понятно, почему по тачпаду нельзя водить любым предметом, например карандашом, нужно разбраться, как он работает.

Тачпад, это сенсорная панель, которая работает на ёмкостном принципе. Внутри панели расположены емкостные датчики, которые реагируют на изменение ёмкости, вносимое пальцем руки человека. Чтобы снизить ошибки распознавания этого самого пальца, сенсорная панель реагирует так же и на ёмкость человеческого тела, которую регистрирует через палец, касающийся панели.

В общем, задача заключалась в том, чтобы обмануть тачпад и подсунуть ему обычную пластмассовую ручку вместо пальца. Как выяснилось, сделать это проще простого. Достаточно подобрать металлическую шайбу подходящего размера и присоединить к ней небольшой отрезок проволоки. Проволоку можно пропустить внутрь любой полой трубки, например, корпуса от фломастера или шариковой ручки.

02

Первоначальный проект был совсем простым. Я установил кнопку внутрь корпуса от фломастера и подпёр её изнутри кусочком толстого картона так, чтобы картон плотно застрял между кнопкой и корпусом.

Я предполагал, что можно будет писать символы, каждый раз нажимая на эту кнопку. Но, даже после первой пробы пера стало ясно, что писать и нажимать на эту кнопку в начале каждого элемента буквы крайне неудобно. Ведь мы уже привыкли, что линия начинается тогда, когда перо прижимается к бумаге или планшету.

Как это работает?

Так что, пишущий узел пришлось несколько модернизировать, добавив в него датчик нажатия пера. На чертеже окончательный вариант пишущего узла.

Этот чертёж должен объяснить принцип работы пишущего узла электронного пера.

Одним из элементов пишущего узла является силиконовая пимпочка, которая используется в компьютерных клавиатурах, пультах дистанционного управления и т.д. Эта сборочная единица потребовала минимальной доработки. Я только удалил с её внутренней поверхности контактную площадку, выполненную из более жёсткой резины.

Эта резинка купольной формы, удерживая латунную пластину, позволяет менять угол наклона пера, сохраняя при этом горизонтальное положение пластины относительно поверхности сенсорной панели.

Сквозь середину этой резинки проходит обычная портняжная булавка, которая вместе с латунной пластиной является контактной парой. Последняя, при нажатии на пишущий узел, замыкает левую кнопку мыши.

Чтобы обеспечить хорошее скольжение пера по поверхности сенсорной панели, на латунную пластину с помощью двухстороннего скотча приклеена фторопластовая (тефлоновая) плёнка.

Конструкция и детали

04

Диаметр латунной пластинки должен имитировать контактную поверхность пальца. Проверка показала, что тачпады ноутбуков устойчиво работают с диаметром пластины около 10мм.

05

Латунную пластину я соединил с пером с помощью отрезка провода МГТФ, который скрутил в спираль. К пластинке с помощью двухстороннего скотча приклеил фторопластовую плёнку. Как раз накануне использовал эту технологию, чтобы восстановить скольжение компьютерной мышки.

06

Второй провод припаял к булавке с использованием активного флюса. Булавку закрепил в пишущем узле фломастера с помощью надетых на булавку двух хлорвиниловых трубок, являющихся до этого изоляцией проводов разного диаметра.

07

Соединительный кабель, выполненный из гибкого провода, закрепил в пробке фломастера.

08

Склеил латунную пластину с силиконовой пимпочкой с помощью силиконового герметика. Для этого соорудил вот такой нехитрый пресс.

09 t

Для того чтобы подключить датчик нажима пера к компьютеру, я использовал вилку типа Джек 3,5мм. Соответствующее гнездо я установил в мышку, ещё когда настраивал вот эту самоделку. Гнездо соединено с контактами левой кнопки мыши.

Источник