1. Введение
Данный проект представляет собой коврик, для игры в танцевальные игры. Такие как Stepmania (http://www.stepmania.com/), In The Groove (ITG) и др. Представляет собой квадрат 90см на 90см, разделенный на квадраты по 30х30 см, шесть из которых являются активными кнопками.
1.1 Общие возможности
Основные возможности устройства:
- работа через USB без установки драйверов, как стандартный джойстик,
- полная автокалибровка,
- полное отсутствие механических частей,
- индикация активности устройства и нажатия кнопок,
- два режима: джойстик с 6 кнопками и джойстика с 2 кнопками и 2 осями,
- надежная, удобная, стойка поверхность коврика,
- полностью разборная конструкция (шнур USB, электронный блок, сенсорная часть).
1.2 Аналоги
Не могу сказать, что очень сильно искал, но найденные аналоги были сделаны или только с 4-мя кнопками, или без индикации или на игровой порт, а не USB. Двухрежимных вариантов вообще не нашел. Кроме того, все ни использовали схему, которая не показала себя надежной. Также были варианты на PIC-контроллерах, с которым я дела вообще не имел, и связываться пока не хочу.
2. Теория и технологии
2.1 Сенсор
Принцип действия основан на технологии емкостного сенсора. Базовая схема была собрана, протестирована и описана некоторое время назад. Краткая заметка есть здесь: http://www.artem.ru/cgi-bin/news?c=v&id=738
Принцип прост. Две ноги МК связаны друг с другом резистором большого номинала, мы выводим на одну ногу единицы и считаем, с большим разрешением, сколько тиков пройдет до момента появления 1 на другой ноге. Если после резистора подключить площадку из проводника, то емкость станет значительной и счетчик покажет какое-то значение. Если же к проводнику дотронется человек, то так как его емкость довольно значительна (кажется около 100pF), то показания счетчика значительно вырастут (на реальном устройстве значение без человека были около 2000, а с качанием около 4000-6000). Причем человек может и не дотрагиваться до проводника - они могут быть разделены не очень толстым диэлектриком.
Основная проблема - это перекрестное влияние одной кнопки на другую. Если, например, использовать одну ногу МК как принимающую, а 4 ноги, как отдающие сигнал на зарядку площадок кнопок, то, как было проверено, возникает довольно сильное перекрестное влияние площадок друг на друга, вплоть до того, что определить, какая именно кнопка была нажата, или было ли нажатие одной или нескольких кнопок одновременно, представляется невозможным.
Поэтому я пошел самым прямым путем, который себя хорошо зарекомендовал и ни разу меня не подвел - на каждую кнопку выделил свою пару ног МК. Это расточительно, но очень надежно, да и потребности в ногах все равно большой нет.
В первой версии коврика, которую пришлось разобрать, выяснилось, что особо важно, чтобы провода в коврике проходили без налегания друг на друга, не были сильно перепутаны, а также соединение коврик - электронный блок должно быть хорошего качества, с максимальной изоляцией соседних проводов и без электрических помех. В первой версии для соединения использовался разъем IDC-14, по которому также подавалось питание на 4 светодиода встроенных в коврик. К сожалению, упаковка проводов в IDC оказалась или слишком плотной или просто неудачной, но одна кнопка мешала другой (спонтанные срабатывания или недозаряд), а также, включение или выключение светодиодов оказывало влияние на получаемый сигнал. В итоге, от светодиодов в коврике пришлось отказаться, а разъем сделать однорядный 8 контактный, что также уменьшило количество проводов под ковриком, что улучшило чувствительность и точность замера.
Отладка макетной версии (еще до первой).
2.2 USB
Для подключения USB использовался популярный проект AVR USB http://www.obdev.at/products/avrusb/index.html, который позволяет на копеечной электронной базе создать низкоскоростной программный USB стек. Для джойстиков более чем достаточно.
За основу кода для джойстика был взять код джойстика из проекта http://avrusb.wikidot.com/project:usbjoy
2.3 Крепеж
Везде по ходу проекта используется ТЕРМОКЛЕЙ! Без него это было бы невозможно. Огромное спасибо изобретателю термоклея.
Для тех, кто не знает что это, вот его фото:
Второе, что надо для крепежа - клей "жидкие гвозди".
3. Электронная часть
3.1 Схема
электронный блок
разводка в коврике
3.2 Перечень деталей
б/о - atmega8-16 (корпус PDIP 28) D1 - стабилитрон (диод Зеннера), 3.6В D2 - стабилитрон (диод Зеннера), 3.6В D3 - светодиод 5мм (индикатор нажатия) D4 - светодиод 5мм (индикатор нажатия) D5 - светодиод 5мм (индикатор нажатия) D6 - светодиод 5мм (индикатор нажатия) D7 - светодиод 5мм (индикатор питания) C1 - коденсатор керамический 100 nF C2 - коденсатор керамический 100 nF C3 - коденсатор керамический 22 pF C4 - коденсатор керамический 22 pF C5 - коденсатор электролитический 10 мкФ R1 - резистор 0.25Вт, 2.2 Мом, но можно в диапазоне 1.8-2.7 МОм R2 - резистор 0.25Вт, 2.2 Мом, но можно в диапазоне 1.8-2.7 МОм R3 - резистор 0.25Вт, 2.2 Мом, но можно в диапазоне 1.8-2.7 МОм R4 - резистор 0.25Вт, 2.2 Мом, но можно в диапазоне 1.8-2.7 МОм R5 - резистор 0.25Вт, 2.2 Мом, но можно в диапазоне 1.8-2.7 МОм R6 - резистор 0.25Вт, 2.2 Мом, но можно в диапазоне 1.8-2.7 МОм R7 - резистор 0.25Вт, 220 Ом R8 - резистор 0.25Вт, 220 Ом R9 - резистор 0.25Вт, 220 Ом R10 - резистор 0.25Вт, 220 Ом R11 - резистор 0.25Вт, 220 Ом R12 - резистор 0.25Вт, 1 МОм R13 - резистор 0.25Вт, 68 Ом R14 - резистор 0.25Вт, 10 КОм R15 - резистор 0.25Вт, 1.5 КОм R16 - резистор 0.25Вт, 68 Ом Q1 - низкопрофильный (корпус HC-49S) кварцевый резонатор 16Mhz первой гармоники PB1 - узкая кнопка (нормально разомкнута) типа TC-3121 X1 - гнездо (папа) IDC 10 на плату X3 - USB гнездо на плату USBB-1J X2 - 8 Pin угловой разъем (папа) (типа 6604PRA-08, можно взять больше: 10, 12..., и отломать лишнее) б/о - разъем на кабель 8pin (для X2), мама, типа 2226A-08 - вкладки в разъем на кабель (лучше взять 10-12, так как могут быть дефекты и можно испортить) КОРПУС - пластиковый, 10 х 6х 2.5 см
3.3 Пояснения
Кнопка в схеме используется для переключения режимов работы устройства.
Выход GND на разъем коврика сделан "на всякий случай", так как при тестировании выяснилось, что у меня в доме есть одно месте, где идут особенно сильные ЭМ помехи. Это место находится в районе компьютера, у которого внизу корпуса установлена помпа для водяного охлаждения. В радиусе около метра коврик просто отказывался работать как надо (нажатие на кнопку не приводило к срабатыванию, или же кнопка периодически "помигивала", когда нога стоит на ней, вместо того, чтобы постоянно "гореть"). В этой ситуации, если подключить провод к GND устройства и положить его кольцом вокруг коврика, то ситуация улучшается, однако, все равно периодические глюки остаются. Это, вполне возможно, связано с тем, что у меня в текущей квартире просто нет вообще никакой земли в розетках.
3.4 Изготовление
- Делаем плату по технологии ЛУТ или фотоспособом. (если ступор по этому поводу, то см. Яндекс). Внимание! Берите хороший текстолит! У плохого под светодиодами могут отслоиться дорожки.
- Монтируем все компоненты на плату. Светодиоды и кнопку надо закрепить так, чтобы они были ниже, чем крышка предполагаемого корпуса. Чип впаивается на плату, а не в сокет, так как надо бороться с паразитными емкостями.
- Делаем проводные перемычки между точками А-А, B-B, также между 0-0,1-1,2-2,3-3,4-4 (это около МК, через его корпус, к четырем светодиодам).
- Подключаем программатор и USB
- Если плата доступна программатору, то компилируем код (или берем готовый hex файл) и заливаем. Если плата недоступна программатору, то или решаем проблему или все выкидываем.
- Выставляем правильно FUSES!!! Здесь ошибка может быть подобна смерти! Помните, что 0 - это запрограммировано, а 1 - нет. Если все сделано правильно и все работающее, то после этого windows должна сразу найти новое устройство "USB DANCE PAD" и замигают по кругу светодиоды.
- Запускаем панель управления, "игровые устройства", там должно быть это устройство. Кликаем на нем дважды. Будет видно, что у него 6 кнопок.
- Проверяем работоспособность прикасаясь к контактам разъема коврика по очереди. Кнопки на экране должны загораться по очереди.
- Вставляем плату в корпус, прикидываем ее положение, высверливаем дырки для USB разъема, разъема для коврика, дырки под 5 светодиодов сверху, очень маленькую дырку (1-2мм) ровно над кнопкой, для переключения режима булавкой или иглой.
- Вставляем плату, фиксируем ее термоклеем, особенно хорошо фиксируем USB разъем. Также термоклеем фиксируем светодиоды и кнопку, так как они расположены на слишком длинных ножках и лишняя на грузка на них может оторвать и пайку и дорожки.
- Зарываем крышкой. Тестируем еще раз. Мозги готовы.
я выбрал неправильную высоту светодиодов, поэтому коробку пришлось разворотить
3.5 Материалы для скачивания
Схема Eagle Схема PDF Схема коврика Eagle Схема коврика PDF Разводка платы (sprint layout 5) Смотрелка плат Sprint Layout Разводка платы в PDF Перечень компонентов Готовый hex файл Проект AVR Studio
ВНИМАНИЕ! Доступна новая прошивка и процедура настройки!! Смотрите здесь
4. Механическая часть
Для механической реализации коврика сначала планировалось взять нечто упругое, но гибкое на столько, что можно свернуть и поставить в угол.
Однако, из отзывов на форумах про мягкие коврики, которые предлагаются к продаже, выяснилось, что у них у всех одни и те же проблемы: сдвигается при движении и задирается. Поэтому от мягкой конструкции было решено отказаться сразу.
Для верха была взята ДВП (HDF), аналогичная той, из которой сделан зад шкафов, толщиной 3мм. Компактность это особо не ухудшило, а может и улучшило, так как теперь его можно просто спрятать за шкаф (толщина всей конструкции около 1 см).
В первой версии было взят размер центральной части 40х40 см, а боковые 30х40. Т.е. получился квадрат 1м х 1м. Эксплуатация показала, что это многовато. Поэтому был взят квадрат 90х90 см и размечен на квадраты 30х30 см. У нас с женой рост 175 и 180. Если рост намного больше или меньше, то надо адаптировать размеры.
В нужных местах с другой стороны (которая очень шершавая) был нанесен клей "жидкие гвозди", уложен провод и наклеена обычная пищевая алюминиевая фольга.
Отрезки фольги и провода были заранее подготовлены, разумеется. Провод - обычная витая пара для локальный сетей с оголенный концом 15-20 см. закрученным спиралью радиусом около 10 см.
Размер фольги для основных кнопок (вверх-вниз, влево вправо) был взять 25 х 20 см. Более длинной стороной к центральному квадрату с отступом в 5 см (от края тоже получается 5 см). Диагональные кнопки были сделаны поменьше (20х15 см) и сдвинуты в угол коврика, тоже отступом в 5 см от краев. Это сделано для того, чтобы при "съезжании" ноги от центра основных кнопок диагональные не задевались.
Следующая проблема, которая возникла при тестовых прогонах - потеря ориентации. Так как надо смотреть только на экран (взгляд вниз означает, что точно пропустишь нужное движение), то ноги потихоньку дрейфуют, и перестаешь попадать на кнопки.
Решение проблемы был следующим: надо по периметру центрального квадрата с внешней стороны закрепить какие-то полоски толщиной около 2мм и центры кнопок сделать тоже поднятые на 2мм, тогда нога может чувствовать свое положение и можно скорректировать положение.
Я взял два слоя материала для светонепроницаемых штор. Но можно взять много что, главное, чтобы он был твердым достаточно, чтобы не деформироваться под весом и достаточно толстым, чтобы не делать много слоев. Два слоя у меня были склеены тонким тонким слоем "жидких гвоздей".
Так как нога часто не просто прыгает или переступает, но и скользит, то подъем на эти 2 мм должен быть плавным, чтобы были исключены травмы, а также боковую нагрузку на отрыв на сам выступ. Эта проблема была решена толстым слоем автомобильной алкидной эмали.
Разумеется, провода и контактные площадки внизу должны быть чем то закрыты. Сначала был опробован 7 мм материал, который используется как амортизатор при укладке ламината. Это оказалось слишком много. Из-за своей толщины он сильно гасил силу прыжка и создавалось ощущение, что прыгаешь по чему то вязкому. Тот же материал толщиной 4мм вполне подошел.
В принципе, можно было бы использовать такую же ДВП снизу, но тогда упала бы возможности ремонта в случае "если что", а также стала бы меньше звукоизоляция. В выбранном же варианте соседям снизу будет легче :)
Все выступы были приклеены теми же "жидкими гвоздями".
Покраска оказалась сложнее, чем планировалось. План был такой: покрасить все в черный глянец, а потом по трафарету нанести кнопки. Однако, оказалось, что одного большого баллона на всю поверхность мало. Надо полтора. А красной краски не было в больших баллонах, так что тоже не хватило, пришлось два покупать. Кроме этого, выяснилось, что красить я не умею, поэтому трафареты плохо прилегали и местами есть "заплывы". Но в целом получилось сносно.
Итак, общий план:
- Вырезать квадрат 90х90 см.
- Разметить карандашом как сверху, так и снизу на квадраты 30х30 см.
- Вырезать из фольги все площадки: 4 шт. 25х20 и 2 шт. 15х20.
- Замерить, отрезать, зачистить провода, прикинуть, чтобы все подходило и в точке выхода с коврика был запас 15 см. (лишнее потом отрежется).
- Приложить фольгу к своим местам с отступами от краев в 5 см., обозначит карандашом все углы фольги. Снять, отложить в сторону. Кстати, для полной ясности, фольга клеится только в нижней стороны ДВП, которая к полу.
- ПО ОДНОМУ намазать тонким слоем "жидких гвоздей" прямоугольник под фольгой, положить провод, как следует, аккуратно уложить фольгу, без пузырей и хорошо разгладить. Повторить для каждой площадки.
- Термоклеем закрепить провода, так, как они должны проходит.
- Прикрепить на расстоянии 5-10 см к проводам разъем для электронного блока. Нумерация контактов в разъеме на плате (именно НА ПЛАТЕ, а не в электрической схеме): 0 - вправо, 1 - вниз, 2 - влево, 3 - вверх, 4- вверх - влево, 5 - вверх - вправо. НЕ ПЕРЕПУТАЙТЕ направления, когда будет проверять. Помните, что коврик перевернут верхом вниз! Никакой пайки тут не надо, просто зажимаете провод во вкладках и все.
- Подключить электронный блок, проверить, все ли работает как надо касанием ладони к каждой фольгированной площадке. Если нет, то выяснить в чем дело или отнести все на помойку.
- Вырезать закрывающий амортизатор под низ размером 90х90 см.
- Медленно раскатывая его, прикреплять к коврику точкой из термоклея каждый 10 см. (т.е. должна получиться решетка из точек, квадрат которой 10х10 см).
- Хорошо проклеить термоклеем боковины.
- Закрепить термоклеем выходные провода к коврику.
- Закрепить термоклеем разъем проводов (чтобы не вырвались).
- Проверить еще раз, что все работает как надо. Или испытать экстаз или выкинуть все на помойку.
- Подготовить выступы (полоски и стрелки).
- Наклеить все выступы на "жидкие гвозди", проверить, что все хорошо держится.
- Запаковать разъем в целлофановый пакет.
- Покрасить алкидной краской всю верхнюю поверхность. Надо 2 слоя потолще или 3 потоньше. Следуйте инструкции к краске.
- После полного высыхания (через сутки), прикрепить трафареты для всех выступов и диагональных стрелок (всего должно быть 10 трафаретов: 4 стрелки, 2 диагонали, 4 для прямоугольников центральной части). Как их крепить - не знаю. У самого проблемы с этим.
- Тщательно закрыть всю остальную поверхность.
- Мелкой наждачкой (320) слегка зачистить места, которые надо красить (иначе краска не прилипнет хорошо) и протереть влажной тряпкой. Можно еще спиртом, если есть. Подождать пока высохнет.
- Покрасить 2-3 слоя другой краской (рекомендую красные, оранжевые, голубые цвета).
- Ждать сутки.
- Аккуратно снять трафареты, протереть влажной тряпкой.
- Все подключить и опробовать. Получить экстаз или повеситься.
Еще для ясности. Вот в каком порядке должны идти все слои сверху вниз:
- нога
- краска
- в некоторых места выступы
- ДВП
- клей для фольги
- проводки к разъему
- фольга
- закрывающая поверхность-амортизатор (та, которая для укладки ламината)
- пол
5. Если лень
Если все лень, то вот на чем можно сэкономить время и деньги:
- Сделать все из спортивного коврика.
- Сделать только 4 кнопки, а не 6 (плата та же, просто не подключать 2 кнопки).
- На плату не монтировать светодиоды и резисторы к ним, а все проверять на компьютере.
- Не красить.
- Не клеить выступы.
- Не делать разъем для коврика, а запаять провода прямо в плату.
6. Работа устройства
При включении нельзя стоять на коврике. Он должен находиться примерно там, где и будет использоваться и должен быть полностью пуст.
Сразу после включения загорится светодиод питания и начнется автокалибровка устройства.
Если устройство находится в режиме шестикнопочного джойстика, то светодиоды будут загораться и потухать по очереди по кругу.
Если устройство находится в режиме джойстика с двумя кнопками и двумя осями, то светодиоды будут загораться парами по очереди "вверх - вниз" и "влево - вправо".
Калибровка длиться около 10-15 секунд. После этого все светодиоды направлений потухают. Устройством можно пользоваться.
Для переключения режима надо освободить коврик, как при включении, и нажать кнопку переключения режима (нажать на 1 секунду, отжать). При этом произойдет отключение устройства от USB, переконфигурирование, после чего оно снова подключится к USB и снова пройдет актокалибровка.
В режиме "2 кнопки 2 оси" количество кнопок в панели управления для этого джойстика не изменится, но работать будут только кнопки 1 и 2 (диагональные), а при нажатии на другие направления будет изменяться положение джойстика. При одновременном нажатии противоположенных кнопок джойстик центрируется по этой оси.
Последний режим устройства запоминается в EEPROM и при следующем включении используется именно он.
Особенностью емкостного сенсора является то, что всегда есть такое расстояние от датчика, на котором он будет то срабатывать, то нет, т.е. кнопка будет мигать. В моем коврике это было около 5 мм. В игре это не мешает, но это следует знать.
Врагом коврика является статическое электричество. Иногда он просто перестает работать. Это происходит редко, при совпадении множества странных условий. Он включается, проходит калибровка, но реакции на нажатие кнопок никакой нет. Чтобы это "вылечить", надо поднять его, намочить ладонь и провести ее по нижней стороне коврика. У меня опять же подозрение, что это связано с: отсутствием земли в моей квартире, помпой в компьютере на небольшом расстоянии, материалом, из которого сделан ковролин в комнате и амортизатор коврика, материалов носков или обуви на ногах. Радует в этой ситуации то, что если он включился и начал работать, и далее им пользоваться, а не бросать просто включенным, то во время игры он ни разу не начинал себя так вести. Это происходит или сразу после включения или если бросить его включенным на долгое время.
Также, надо обратить внимание на заднюю кнопку. Так как для срабатывания нужна достаточная поверхность соприкосновения, то задняя кнопка может "страдать", так как многие при отводе ноги назад ставят ее не на всю площадь, а только на пальцы. Проверено, что просто касание одним большим пальцем сенсора не приводит к его срабатыванию. Заступ на него всеми пальцами плоско работает нормально, но лучше немного поворачивать корпус и ставить ногу полностью.
В режиме "2 кнопки 2 оси" с помощью коврика можно играть в другие игры, в которых есть управление джойстиком. В частности, Arkanoid и Тетрис - интересные игры, чтобы попробовать.
А у меня вот уже лет 5 не выходит из головы идея спаять энцифалограф, регистрирующий волновую активность мозга и разные сочетания волн ассоциировать с командами комьютеру. Как то даже начал собирать детальки для схемы из проекта OpenEEG, но внезапно понял, что моих скилов не для этого не достаточно. Готовый девайс в инете стоит минимум 150 000 р, а стоимость деталей для OpenEEG - 2500-3000 р. А вы этой темой не интересовались, случайно?
OpenEEG пока не интересуюсь, но как нибудь посмотрю, чего там и как.
В принципе всё понятно за исключением: с какой стороны клеится фольга с обратной (той что к полу), с передней (к ногам), или с обоих :)
Жаль что день рождения у дочки был 23го, а так отличный подарок вышел бы.
Клеить фольгу надо только в нижней стороны (та, которая к полу). Т.е. если смотреть в разрезе, СВЕРХУ ВНИЗ, то все
идет в таком порядке:
1) нога
2) краска
3) ДВП
4) клей для фольги
5) проводок к разъему
6) фольга
7) закрывающая фигня (которая амортизатор для ламината)
8) пол
Если есть какие вопросы, то рад будут ответить на них или здесь или через email: artem@artem.ru
Такие люди как вы уважаемый Автор, заставляют крутится мир.
Я на этих выходных сам буду собирать схему еще раз, вот и проверим такой важный параметр как ПОВТОРЯЕМОСТЬ. :)
Удачи!
отсюда вопрос будет ли работать юсб инрерфейс ??? или там все на задержках ?
На сколько меньше фольга? Есть предел адаптивности.
Вообще, лучше, конечно, при сборке, собрать МК+SPI+USB вход и сразу проверить как МК поживает через программатор, а потом все остальное допаивать.
Фотки можно прислать на artem@artem.ru
Делал сам подобную вещь, но намного проще:
http://guyverperevod.narod.ru/faqpowerpad.html
Устройство не распознано ...
Йа весь в шоке. Кнопки читаются это видно по светодиодам но устройсво не инициализируется. USB порт проверен даже поставлен новый порт.
Все дорожки контакты Провереннв по 5 раз тестером.Кварц стоит 16 мгц.
ШтО делать? как быть ? йа не переживу такой потери да и в мусорное ведро всеравно не влезет.
*** *** ***
* * * * * *
* * * *
* * * *
* * * * * *
*** *** ***
Макрофото платы с ОБЕИХ сторон на мне мыло artem@artem.ru и дальше по мыло будем решать проблему
Надо проверить как минимум две вещи:
1) Реальную частоту карца! Я уже нарывался на кварцы, которые выдают указанную частоту на 3-й гармонике, а не на первой. В итоге 24 Мгц кварц работал как 8 Мгц. Надо прошить программу-мигалку с задержкой 1 секудна и посмотреть одна ли там секунда или нет.
2) Микроконтроллер именно atmega8 ? Я сегодня пробовал запустить все на atmega88 - ХРЕН! с 88-й не работает!
Так что если делать по схеме - все должно пахать.
На AVR я на стади Чайника програмируя чип боясь его залочить не меняя "фьюзы" (почему фьюзы просто биты конфигурации назвать нельзя было, а то фьюзы)прошил мк.
Следовательно запустил, но не кварц точно.
А эта инверсия ФЮЗОВ воабще мне мозг на изнанку вывернула :( послечего желание прикасатся к фюзам до тотального их изучения отпало на проч.
По этому Артем прошу PrintScreen окошечка с ФЬЮЗАМИ чтоб тока для тупых, все видать было.
Будет ОЧЕНЬ полезно для теста платы и решения маленьких но глобальных проблем.
Мигалка: http://www.artem.ru/elektro/1s-atmega8-16mhz.hex
мигает всеми направлениями, 1 секунду горит, потом 1 секунду не горит.
Фьюзы из пони-прога:
http://www.artem.ru/cgi-bin/photo?c=v&id=918
SCOPT=_ . вот так все запутано и туманно.
Но как я уже говорил мех часть у меня макт 1/2 плошадь одного сенсора(фальги) 10х10см в 5 раз меньше оригенального. Устройство не читает не чег0 пока не каснешся поверхности фальги ито дергается так миг__мигмиг_миг______миг.
Это связанно с емкостью или это ограничения введенные в программе.
Но все это фигня разберусь С и исходник перелопачу.
Главный ВОпРОс будет ли читать мех часть если ее сделать 1/1 и по всем технологическим канонам.
(фотки прислать ?)
Чувствительно регулируется этой строкой в коде:
#define SENS 5
5 означает, что срабатывание засчитывается, если значение больше чем значение
в состоянии покоя на 1/5. Условно, при автокалибровке было 1000. Тогда срабатываение будет
засчитано, если значение будет 1000+(1000/5)=1200. Т.е. чем больше это число, тем выше чувствительность.
10 на 10 конечно не будет работать с прошивкой по умолчанию. Изменение намного меньше, чем 1/5, так как
оно от площади зависит. А вообще, зачем такой маленький сенсор? Дети такие маленькие не могу в эти игры играть
вообще, а детям побольше и сенсор нужен минимум 20 на 20.
Змею:
Можно, но только с указанием имени автора (т.е. меня) и ПРЯМОЙ ссылки на первоисточник (т.е. сюда на эту страницу)
Еще у меня небыло сопротивления 2 Мом поэтому были соеденины последовательно 2 по 1Мом.но это я думаю не важно
собрал коврик вместо двп фанера 4мм. дазмеры фольги идентичны. длинна соедительного шлейфа 12см.
SENS=5 сигнал не регестрируется при касании фальги мерцание индикатора.
SENS=20 сигнал регестрируется четко но с мерцанием при касании фальги мерцание индикатора.
SENS=100 ложные срабатывания с мерцанием при касании фальги мерцание индикатора.
Как добиться статичного синала?
может фальгу припоять прикрутьть штоли ???
при касании разьема пальцем на пямую сигнал статичный а фальги нет.
/* А-А-А у меня истерика!!! е****й коврик сдохни сдохни
... ну вот отгрыз уголок фанеры от коврика и успокоился. */
Артем мне нужен этот коврик и именно мой. Покупной вариант меня уже не устроит.
Я вот не пойму, что значит "касание фольги"? Касаться не фольги надо, а изолятора над ней и не просто касаться, а ногой наступать или полной ладонью.
К чему припаять фольгу? Она приклеена должна быть с несущей поверхности и плотно к ней прилегать.
Вообще, я бы хотел взглянуть на всею конструкцию. Схема чувствительна я паразитным емкостям, каждая пайка, каждый лишний элемент - плохо. Поэтому 2 R по 1М нааамного хуже, чем 1 R на 2М. Кроме этого, если начинаются засады, то R надо поднять. Я рекмомендую не мнее 2.2 вообще, а лучше больше, в районе 3М. Короче, детальные крупные фотки схемы и коврика, с тем, как провода на нем лежат мне на мыло artem@artem.ru
Что в этом случае можно сделать?
У меня есть несколько вариантов:
1. увеличить площадь сенсора, в принципе это возможно, но вот поможет ли?
2. меного приблизить задний сенсор к поверхности, сделав в ДВП углубление (это несложно, но муторно, да и "яму" потом придется замазывать, чтобы не прогибалось ничего)
3. переклеить все сенсоры на верхнюю поверхность, а затем заклеить всё какоё-нибудь тканью. Наверное это поможет. (в этом случае мне интересно, нужно ли будет отдирать фольгу с нижней поверхности, не будет ли она мешать)
4. переписать код программы, на предмет отдельной калибровки каждого сенсора (я не знаю, возможно ли такое, ещё не смотрел код :) ), или выставление чувствительности каждого сенсора.
Если не трудно, помогите советом :)
http://www.artem.ru/cgi-bin/news?c=v&id=770
0x95, 0x10, // REPORT_COUNT (16)
0x75, 0x01, // REPORT_SIZE (1)
0x05, 0x09, // USAGE_PAGE (Button)
0x19, 0x01, // USAGE_MINIMUM (Button 1)
0x29, 0x10, // USAGE_MAXIMUM (Button 16)
выдает ошибку This device cannot start. (Code 10)
в data я дописал остальные кнопки. если вернуть 0x95, 0x06, // REPORT_COUNT (6), то ошибки не будет, но кнопки не работают
видать где-то что-то пропустил
Я хочу сделать данс-пад полностью по размерам соответствующим оригинальному «Pump it up» паду с небольшими доработками...
Как вы думаете если сделать обкладки из фольги между ними резину, использовать как конденсатор, при нажатии на кнопку резина будит деформироваться и емкость кнопки меняться. Таким образом ход у кнопки будит минимальный, срок выработки почти не ограниченным. Если такую кнопку подключить к схеме она будит реагировать на изменение емкости? И можно ли увеличить количество кнопок до 16?
Как простой джойстик такую схему использовать нельзя, только с емкостными сенсерами.
были проблемы с кварцем и фьюзами но Гугл в помошь все найдет :-)
Очень много помех, иногда подтормаживает по не понятной причине, иногда кнопки сами нажмаються. В обшем кинул эту затею с емкостными датчиками
Собераю щяс "Mjoy - USB-контроллер джойстика на основе микроконтроллера AVR ATMega8" нашел интересную схему с кучей осей и кнопок, и болие простую в реализации.
Но идея и с емкостями просто супер, можно рукой даже не касаясь датчиков нажимать кнопки :-)
Спасибо.
Если не работали, то долго займет. Программатор нужен, паяльник, навыки изготовления плат.
Посматриваю на ваш коврик уже второй год. Набираюсь сил сделать. Пока мастерю что-то помельче на AtMega в качестве разминки =)
В общем, вы все еще не понимаете, как работает емкостной сенсор. Это не котактное устройство, а по сути полевое. В вводите в ЭМ поле проводник (ПАЛЕЦ, НОГУ и т.д.), и возникает ток утечки, из-за чего емкость конденсатора образованного сенсором изменяется. Это очень кратко. Подробно - ищите в сети и читайте теорию. На русском я вообще не находил, а на английском на гугле по фразе "capacitive sensor" или "capacitive sensing" полно материала.
Ну так вот, как я уже писал в коммента конструкция паршиваю, я бы терерь даже сказал,что просто неправильная. Правильнее было бы сделать совсем другие сенсоры, не просто листы, а листа как бы хитро по кривой разделить на две части, одна на землю, вторую на сенсор, и тогда бы был былее стабильный конденсатор на сенсоре, который бы считал емкость относително земли устрйоства, а не относительно черт знает чего (из-за чего и гдюки у многих) и при вводе ноги в разрез изменялась бы эта емкость вполне предсказуемо и независимо от внешних условий. Однако, это потребует переделки прошики + эксперементальной подборки конкретной конфигурации сенсора. А у меня столько дел на работе и в семье, что не до этих экспериментов (хотя руки ооооочень чешутся).
Если у вас с С все в порядке, то я могу подсказать конфигурации сенсоров, а вы поиграетесь в прошивкой. Есть даже шанс,что и без изменений пойдет (только новую надо использовать, с гистерезисом).
с вот таким расположение кнопок: http://krokmania.com/forum/images/PiUpad.jpg
(знаю что можно... но все же охота убедиться)
И сможет ли такой коврик как тут в примере потянуть к примеру такую песню:
http://www.youtube.com/watch?v=tdiuMyCggzs
2) Не знаю, если честно, это зависит от времени заряда - разряда.
Еще раз говорю, и форма "контактов" и сам подход неудачный. Надо все делать заново,
а емкость мерить большой частотой, около мегагерца, тогда такие песенки пойдут на ура точно.
http://imglink.ru/show-image.php?id=93ccf41ba1d2dccc2b8f7b93452086e9
http://imglink.ru/show-image.php?id=1d051ebdc507cfc82697a3535370be58