DancePad своими руками
Последнее изменение: 11/04/2009 00:59:56С чего всё началось
Чуть больше года назад наткнулся на проект http://stepmania.com. Суть игры - под музыку нужно нажимать кнопочки. Суть проста и казалось бы глупа, но сам процесс очень затягивает. Покопавшись в теме я нашел что это всё называется DDR. В википедии есть отличный материал по этой теме. Загорелся идеей играть нормально - используя не кнопки клавиатуры или геймпада, а полноценный коврик. Купить его даже в Москве в то время было проблематично (сейчас уже появился магазин, но цены пока "кусачие"). Думал о заказе из-за рубежа и в конце концов сделал всё сам.
Использовал идею из этой статьи: http://royconejo.host.sk/piso-pad1-en.html
Задача номер один - попробовать сделать хоть что-то, что можно использовать. Задача номер два - сделать полноценный коврик с нажимаемыми кнопками, а ля настоящий автомат.
Поехали :)
Список требуемых материалов
Геймпад DVTech One (JS11). Взял самый дешевый. От него понадобится: плата для вывода контактов на кнопки коврика и USB интерфейс. (150 руб.) Как я понял есть два типа контактов в геймпадах - емкостные и обычные замыкающие. Нам нужен самый простой - замыкающий принцип действия (сорри за мой французский, но я не знаю как это называется точно).- Алюминиевая лента. Её используют для изоляции воздуховодов. Продается в рулоне, как скотч. (140 руб.) С ней надо работать осторожно. Она любит рваться :(

- Линолеум или ламинат или ещё что-то для поверхности, на которой будем собирать коврик. Я за отсутствием чего-либо купил квадратный метр линолеума (300 руб.)
- Витая пара (UTP 5 cat.), метра 4 должно хватить.
- Паяльник, олово, канифоль
- Что-то для соединения проводов с алюминиевой лентой. Так как к алюминию очень проблематично что-либо припаять, то нужно другим способом сделать контакт между проводами витой пары и алюминиевой лентой. Я использовал для этого винт 4*12, две гайки и две шайбы для каждого контакта (30 руб на весь коврик). Далее я покажу каким образом.
Ну и чтобы было понятно что будем делать - я сразу покажу что получилось у меня: 
Мучаем геймпад
Вначале проверяем, чтобы купленное китайское г вообще функционировало. Подключаем, пробуем давить кнопки. Всё нормально - можно разбирать и доставать плату. Предупреждаю сразу - на геймпаде скорее всего один из винтов залеплен типа гарантийной пломбой. Смело её убираем и дальше всё только на нашей совести :)
Изначально плата выглядит вот так:
Отмечены те сигнальные площадки, к которым я буду припаивать провода.
Каждая кнопка срабатывает при замыкании сигнального контакта с землей (ground). Земля одна для всех кнопок (это четко видно на схеме), и спасибо нашим китайским братьям за выведенные места для припаивания проводов. Потрошим витую пару, и припаиваем один провод к земле, и ещё 6 - к кнопкам. Я припаял провода к игровым кнопкам (1-4), а не к стрелочкам. Для стрелочек там какие-то странные контакты на плате выведены. Решил их не трогать. Чтобы без проблем припаяться к площадкам - сначала их надо зачистить немного (лезвие, скальпель, нож) и потом прежде чем паять не забудьте канифольки немного. Хватается без проблем.
Получилось вот так: 
Теперь подключаем для тестирования к USB. Если любой из сигнальных проводов соединить с землей - то должна сработать кнопка. Проверяется это легко - в Windows через "Control Panel" -> "Game Controllers" -> открываем свойства геймпада и тестируемся.
Делаем "кнопки"
Следующая задача - сделать кнопки, на которые можно будет прыгать ногами. Размер одной кнопки - 30 * 30 см, соответственно для квадрата 3*3 получает 90 * 90 см. Тут надо решить - какой "рисунок" кнопок делать. Если посмотреть на плату - видно как выведены контакты там. Рядом находятся сигнал и земля, при нажатии на кнопку геймпада - они замыкаются. Соответственно на коврике должен быть аналогичный механизм, только вместо кнопки нужно замыкать контакты ногами. Для себя решил использовать "рисунок" контактов, аналогичные геймпадовскому. Получилось вполне удобно, только стоит немного смещать расположение к центру всего коврика. 
Каждая полоска на кнопке состоит из: свернутой в 2 раза ленты, и затем проклеена сверху половиной ленты. Сначала сворачиваем две ленты для длинных контактных дорожек - они идут по бокам всей длины кнопки (порядка 35 см, чтобы ещё хватило на присоединение проводов от геймпада). Отрезаем кусок ленты, сворачиваем пополам по длине, затем аккуратно отсоединяем от подложки и склеиваем по линии сгиба. У ленты на одну сторону нанесена клейкая основа. Что очень удобно. Затем сворачиваем её ещё раз. Получаем полоску шириной где-то 1-1,5 см.
Затем берем ещё один такой же кусок ленты и разрезаем его вдоль пополам. Получаем ленты шириной 2,5 см. Теперь очень удобно делать контактную дорожку - кладем свернутую ленту и сверху приклеиваем её вот этой широкой 2,5 см. Получается довольно неплохо, но нужна будет некоторая сноровка.
Поперечные контактные дорожки длинной порядка 21 см. Для них выполняется аналогичная операция, что и для длинных. Дальше это всё аккуратно наклеивается на место кнопки. Для простоты делаем так - сначала приклеиваем длинную ленту, в местах ответвлений подкладываем свернутые маленькие ленты. Затем проклеиваем эти боковые ленты. 
Ну и делаем таким образом все 6 кнопок.
Финальные доделки
После того, как вы проклеите все кнопки - остается только аккуратно прикрепить к ним провода от геймпада. К каждой кнопке надо присоединить одну землю и один сигнальный провод (для каждой кнопки свой отдельный). Земля у нас "одна", поэтому её надо аккуратно развести по всему коврику. С сигнальными проводами всё легко - просто проводим к каждой кнопке свой.
Для крепления провода к алюминиевой ленте я использовал чисто механический способ. Делаем дыру в ленте, в неё просовываем винт 4*12 с накрученной одной гайкой и шайбой. сверху обматываем винт зачищенным проводом, придавливаем ещё одной шайбой и прикручиваем гайкой. Затягиваем это дело - контакт получается хороший. Для земли на один винт можно спокойно прикручивать по 3 провода - без проблем. 

Ну вот собственно и всё. Чтобы кнопка сработала - нужно "замкнуть" два контакта (землю и сигнал) между собой. Самый простой вариант - просто прилепить ленту по всей длине подошвы ваших любимых домашних тапочек. Но такая реализация недолговечна. Пока ещё думаю что с этим можно сделать. 
Дальше чисто косметические работы - спрятать провода и соединения с винтами, скрутить обратно корпус геймпада (сбоку небольшой распил чтобы провода выпустить) и т.п.
Недостатки
После некоторого периода использования (приблизительно 50 композиций) перестали нормально срабатывать контакты. Это из-за того, что линолеум сам по себе довольно мягкий, плюс сами подкладки из алюминиевой ленты утоптались сильно. Решение довольно простое - надо сразу подкладывать под основание каждой полоски свернутый в несколько раз лист бумаги (ширина полоски порядка 1 см.). После такой доработки (на фотографии четко видно как выделяются полоски) работает безупречно.
Улучшения
- О чем написано в минусах - под полоски надо подложить свернутый несколько раз лист бумаги. Чтобы избежать проблем с втаптыванием.
- Самое простое что можно быстро сделать - это попробовать избавится от необходимости крепить ленту на обувь. Если свободное место в "кнопке" коврика, между приклеенными лентами, проложить подходящим материалом (вроде губки), то сверху можно будет разместить контактную площадку. В её роли например может выступать другой кусок линолеума, где по размерам "кнопки" будет полностью проклеена алюминиевая лента. Тогда если стать сверху - замыкать контакты будет именно она, а не ваша обувь.
Список ресурсов
Программа для игры:
- http://www.stepmania.com
- Скачать композиции для программы можно здесь: http://www.ddruk.com/index.php (раздел Downloads Area)
Ресурсы по теме DDR:
Сообщества:
Сделай сам (ссылки по созданию коврика):
- http://royconejo.host.sk/piso-pad1-en.html
- http://webpages.charter.net/jamjohn/ddrpad.htm
- DDR Metal stage
- Home Built Dance Dance Revolution Arcade Style Metal Pad
- http://www.monkeyfighter.com/ddrpadproject.html
- http://www.digitaltorque.com/. Тут есть видео, где детально показан каждый шаг. Правда качество ужасно. Тут же есть старый материал http://www.digitaltorque.com/mydancepad-old/
- Stoli's Home Built Dance Pad
- http://max3dworld.narod.ru/devices.html
- Inside a DDR Stage
январь 2008, Alver
При использовании этого материала, пожалуйста, ставьте ссылку на оригинал.