История создания клавиатуры Squidgeefish Rotary Keyboard
У блогера Squidgeefish был коллега, который любил вспоминать старые добрые времена, когда у его бабушки и дедушки на стене висел телефон с поворотным циферблатом, который они арендовали у телефонной компании. Осталось лишь соединить это с его любовью к десятиклавишной клавиатуре и тем фактом, что у блогера в корзине с запчастями оказался старый поворотный телефон, и идея для розыгрыша родилась сама собой.
реклама
Покупка дешевой механической клавиатуры за 13 долларов на eBay и разборка поворотного переключателя показались ему самым разумным вариантом действий.
Хотя в таких проектах, как этот, легко обойтись косметической отделкой, он решил, что необходимо, чтобы циферблат действительно работал для ввода цифр - тем более, что Squidgeefish планировал удалить цифровой ряд клавиш, тем самым заставив юзера использовать поворотный циферблат для ввода цифр или символов.
Поворотный циферблат имеет две пары контактов. Одна из них размыкается, когда циферблат переводится в положение "1", а другая создает характерный импульсный сигнал при отпускании (один импульс на числовую позицию). Хотя можно было бы использовать прерывание при переключении контактов, временная шкала настолько велика, что допустимо использовать "занятое ожидание". Блогер использовал для этого DFRobot Beetle, поскольку его встроенный ATMega32u4 обеспечивает встроенную функциональность USB HID.
реклама
Для питания этой клавиатуры, потребовалось два кабеля, один для Arduino (Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов) и один для оригинального контроллера клавиатуры. Однако это оказалось несколько неудобно. Топология, которая показалась блогеру наиболее разумной, заключалась в том, чтобы вставить USB-концентратор в клавиатуру, припаяв и Arduino, и контроллер клавиатуры к входам устройств концентратора.
Это позволило ему припаять встроенный USB-порт клавиатуры к восходящему соединению концентратора. Таким образом, когда он подключил физическую клавиатуру к компьютеру, он подключил и USB-концентратор, который позволяет подключать оба устройства, сохраняя иллюзию однокабельного USB-устройства.
Самым дешевым концентратором, который он смог найти с полезным форм-фактором, был такой странный трехпортовый зверь.
реклама
Чип, выполняющий всю тяжелую работу в этом концентраторе, - монолитный HS8836A, который, как предполагается, рассчитан на высокоскоростной USB-трафик и имеет впечатляюще малое количество вспомогательных компонентов.
В его случае нужно было просто выпаять существующие порты достаточно аккуратно, чтобы не расплавить микросхему концентратора и подключить USB-сигналы от клавиатуры и Arduino.
Для подключения данных к Arduino блогер использовал несколько экранированных дифференциальных линий от жгута LVDS дисплея iMac, потому что они лежали в его куче хлама и не успели достаточно быстро испортиться. У блогера были подозрения, что импеданс совершенно не тот, но USB 1.1 удивительно надежен.
Чтобы заменить десятикнопочную клавиатуру на поворотную, ему пришлось удалить все переключатели для цифровой панели, что было относительно легко благодаря тому, что эта клавиатура имеет одностороннюю печатную плату.
реклама
Основание циферблата можно было бы расположить на верхней части печатной платы, хотя в этом случае сам циферблат находился бы очень высоко.
Но потом он понял, что если отрезать печатную плату под циферблатом, то циферблат будет располагаться на уровне крышки клавиатуры, как показано ниже:
Для этого пришлось бы перерезать дорожки в нижней части печатной платы, которые позволяют клавиатуре сканировать все клавиши, чтобы определить, какие из них были нажаты, поэтому он потратил много времени, проверяя дорожки мультиметром и делая перемычки для замены этих дорожек.
Однако блогер не был достаточно тщательным в проверке, и ему пришлось добавить еще несколько, после того как он подключил плату и понял, что сломал блок клавиш со стрелками. Забавный факт - матрица клавиатуры на этой плате также используется для включения светодиодов по отдельности, поэтому если клавиатура не может подсветить определенную клавишу, она также не сможет ее прочитать.
После того как клавиатура была обработана пилой, осциллирующей фрезой и инструментом Dremel, он смог подсоединить циферблат к остаткам печатной платы клавиатуры.
Это также позволило ему закончить подключение USB и убедиться, что он еще не отпаял ничего важного (обратите внимание, что индикаторы клавиатуры горят — это означает, что питание, по крайней мере, подается).
Squidgeefish решил напечатать 3D кожух, чтобы скрыть внутренние части циферблата и сделать это немного менее похожим на клавиатуру монстра Франкенштейна. Также он решил, что надписи для специальных символов также важны, поскольку некоторые люди могут их не запомнить...
До этого проекта он ничего не проектировал в 3D CAD, поэтому воспользовался возможностью изучить OpenSCAD настолько, чтобы все его друзья-механики разбежались с криками. Он имел в виду достаточно освоить OpenSCAD, чтобы выполнить орбиты и возвышения, необходимые для описания кожуха, который будет входить в подставку для большого пальца и соответствовать наклонному основанию клавиатуры.
Но если говорить серьезно, то наличие функционально определенного языка для создания твердых тел — это здорово, а тот факт, что все параметры заданы по определению, позволяет легко вернуться назад и что-то подправить без необходимости выбрасывать много работы.
Как ни странно, он умудрился потерять файл OpenSCAD, определяющий надписи циферблатов, поэтому этот рендер был сделан путем импорта STL в OpenSCAD.
Было немного сложнее получить надписи там, где он хотел, но в конце концов он справился, используя функцию экспорта SVG в OpenSCAD и распечатывая циферблаты, пока не получил угол, который считал разумным.
Конечно, конечная 3D-печатная деталь все еще была умеренно смещена, и пришлось вырезать в ней выемку, чтобы добиться нужного угла.
Кроме того, пришлось немного подрезать металл основания поворотного циферблата, но после небольшой шлифовки все удалось подогнать друг к другу. Блогер смог использовать сварку трением для соединения всех трех частей вместе, засунув кусок нити в Dremel и проведя им по швам. Это значительно сложнее, чем кажется, и позволяет по-настоящему оценить людей, которые делают это в промышленных масштабах с нержавеющей сталью, например, для топливных баков ракеты SLS.
Просто вырвать цифровой ряд, чтобы заставить использовать вращающийся диск, было бы достаточно забавно, но он решил, что будет еще интереснее напечатать на заказ 10U-клавиатуру, которая будет соответствовать профилю существующих клавиш и обеспечит легенду для светодиодов клавиш, чтобы они светились. Это стало возможным благодаря невероятному генератору параметрических колпачков для OpenSCAD, который он нашел на GitHub.
После того, как он установил стабилизирующие переключатели, он наклеил кусок малярного скотча на верхнюю часть кейкапа (закрывая легенды) и залил то, что осталось от довольно дохлой бутылки суперклея, чтобы заполнить надписи. Через два дня клей окончательно затвердел... Несколько тонких слоев, вероятно, гораздо разумнее, поскольку суперклей затвердевает под воздействием влаги, и поэтому нижняя часть надписей (т.е. часть, расположенная ближе к верхней части крышки клавиатуры) требовала много времени для затвердевания.
Да, при нажатии поворотный переключатель действительно печатает сильнее, чем цифровые клавиши; он подключил все три переключателя, поддерживающие крышку клавиатуры, параллельно и соединил их с неиспользуемым входным контактом на Arduino.
Кожух пришлось приклеить к клавиатуре (с некоторыми прокладками, так как он неправильно рассчитал угол наклона...), что также привело к поломке винтов, удерживающих клавиатуру вместе.
Оказалось, что он каким-то образом перерезал одну из дорожек для клавиши стрелки вниз. Трудно представить, как это могло произойти. Он решил эту проблему, используя отрезной диск Dremel, чтобы прорезать заднюю часть клавиатуры под клавишей стрелки вниз и рядом с Arduino, что позволило мне проложить провода от этой клавиши к Arduino и еще больше оценить труд тех, кто строит корабли в бутылках. Благодаря одностороннему характеру печатной платы клавиатуры было просто изолировать ножки переключателя от схемы клавиатуры с помощью присоски для пайки, а затем нескольких кусочков термоусадки.
Другая проблема была немного более опасной - он пронес клавиатуру в офис коллеги, пока он был на обеденном перерыве, но подключил его к KVM. К сожалению, KVM слушает только HID-устройства, такие как клавиатуры и мыши, а это значит, что его хитроумное решение с USB-концентратором посередине не было распознано и, соответственно, клавиатура вообще не работала. Как неловко...
Реакция коллеги была такой: Что это такое? (пытается дважды ввести свой пароль с помощью клавиатуры ноутбука, но терпит неудачу) Она действительно работает? (работает) О боже мой. Это, должно быть, творение [Squidgeefish].
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила