#retro science fiction Josh Kirby
Josh Kirby’s 1967 cover art for “Untouched by Human Hands,” by Robert Sheckley
geek DIY технологии сделал сам arduino смартфоны длиннопост
Этот https://reactor.cc/post/5767343 пост напомнил мне свой старый проект, в который я вложил много сил и времени в своё время.
В до-андроидо-айфоновские времена мне в руки попал телефон с qwerty-клавиатурой (Sony ericsson P990i), с которым я проходил несколько месяцев. Мне так понравилось сочетание скорости, удобства и ощущений этого метода ввода текста, что последующие телефоны я выбирал в первую очередь по наличию полноразмерной клавиатуры. С последним клавиатурником Sony ericsson XPERIA X1 я проходил аж до конца 2016го года.
Большого морального усилия стоило решение пересесть на современный сенсорник, но программно-аппаратных мощностей windows mobile стало сильно не хватать. В итоге фактором, повлиявшем на моё решение, стало наличие OTG на новом Andriod-смартфоне, и умение создавать на базе arduino pro micro устройства ввода. Я не сдался.
Вдохновившись самой удобной из испробованных, клавиатурой P990i, я напаял на макетке тактовые кнопки, добавив два столбца для русских букв, которые обычно отправлялись на Fn-слой: Х,Ъ,Ж,Э,Б и Ю. Подключил их матрицей на pro micro и испытал в деле:
К сожалению, тот смартфон у меня прожил недолго, и все наработки пришлось переносить на новый: Xiaomi Redmi 4 Pro. Для обкатки прошивки я решил сделать чехол-клавиатуру, как из поста, на который я ссылался в начале своего. Надо повышать степень интеграции.
Заказал самые плоские и компакнтные из возможных кнопок, распаял их на макетку, закрепил с обратной стороны pro micro. Заказал у одного знакомого корпус клавиатуры на гидрорезке, у другого знакомого 3д-печать кнопок. Собрал всё воедино (Извиняюсь за дендрофекальные методы, на тот момент это был максимум моих возможностей):
В итоге получилось это:
Три кнопки над клавиатурой дублируют меню|домой|назад (Андроид понимает медиаклавиши USB-клавиатур), а при наборе текста и три секунды после ввода последнего символа превращаются в кнопки выбора вариантов завершения слов (В swiftkey ctrl+1, 2 и 3 соответственно).
Proof of concept сработал: текст набирался, кнопки под экраном работали корректно, поэтому было решено продолжать интеграцию, чтобы в итоге получить смартфон обычного (Ну или хотя бы не настолько чудовищного) веса и размера. Это должен быть вертикальный слайдер.
Я разобрал свой телефон, чтобы понять, в каком месте разделить его схему, чтобы как можно больше оставить внизу для правильной развесовки. Оказалось, что на верхней сдвигающейся части можно оставить только динамик и экран с тачскрином, раснеся их с основной платой единым шлейфом. Вооружившись копеечным USB-микроскопом, я посчитал общее количество проводников в шлейфе экрана и тачскрина, добавил два для динамика и начал поиски подходящего по длине и количеству проводников шлейфа с разъёмами. Мягко говоря, это было непросто. Подобрал такой, на 51 проводник:
Дальше мне предстояло разобраться с программой DipTrace, которую используют для создания проектов печатных плат для дальнейшего заказа. Разметил на будущей плате пятаки для кнопочных мембран, светодиодов подсветки, ардуины, соединил всё дорожками. Дальше нужно было разметить контакты для разъёмов шлейфов, которых не было в библиотеках DipTrace. Снова вооружившись микроскопом и комплектной линейкой, я начал высчитывать размеры:
В итоге получилось уместить весь проект на плате 100х100 миллиметров, для пятидолларового заказа на PCBWay:
По зелёной линии плата разрезается: часть с ардуиной и контактными площадками клавиатуры остаётся на нижней стороне телефона, к ней подпаиваются шлейфы, идущие на материнскую плату. Вторая часть отправляется на подвижную часть с экраном, к которой подключаются шлейфы от экрана, тача и провода динамика. Между первой и второй частью будет проходить пятидесятипиновый шлейф, купленный ранее.
Через месяц пришёл мой заказ:
Распаял все элементы на плате. Разъёмы тоже пришлось паять обычным паяльником, потому что от фена они деформировались. Хорошо, что был запас по разъёмам.
Ах да, герконы. Они нужны для того, чтобы подключать ардуину к телефону только тогда, когда слайдер открыт. Дело в том, что в этом проекте нет места для юсб-хаба, поэтому подключённая клавиатура забирает себе функционал юсб-разъёма телефона, не позволяя подключать флешки и заряжать телефон быстрой зарядкой. Поэтому герконы отключают не только питание ардуины, но и D+ и D-, оставляя всегда подключённым только GND.
Потерпите, осталось немного.
Я заказал новый корпус и экран, чтобы продолжить работу над проектом и не остаться без телефона. Я же всё ещё продолжал использовать его как основное устройство. Так же нарисовал в DipTrace и заказал макет шлейфа, который приводит сигналы экрана и тача от платы с клавиатурой на материнку телефона.
Вырезал в корпусе все необходимые отвестия, прикинул плату:
С обратной стороны это выглядело так:
Материнскую плату слева подразумевалось перенести в корпус справа и подключить два шлейфа от экрана и тачскрина.
Подключил экран и тач к верней плате:
Проверил, как себя будет чувствовать шлейф между половинками:
И прикинул какая будет суммарная толщина у собранного устройства. Получилось, что она увеличится примерно на три четверти от исходной:
Ииии... На этом всё. В процессе проверки оказалось, что я ошибся с распиновкой гибкого шлейфа, и при стоимости около 3500 рублей пришлось отложить проект на неопределнённый срок (Моя З/П на тот момент была 21к, большая часть которой уходила на обязательные траты). Дальше фокус внимания сместился на другое, а потом переезд, смена работы, смена смартфона, и так далее. Так этот грандиозный проект и лежит дома в столе, уже неактуальный и ненужный.
Если бы всё пошло как надо, следующим этапом было бы проектирование и заказ корпуса со слайдерным механизмом из алюминия, который должен был вклеиваться в стардартные пазы для экрана на нижней части и держать экран на верхней части. Дальше изготовление кнопочек из оргстекла (Про фотополимерную печать я узнал сильно позже), сборка всего воедино и торжественная презентация всему Интернету. Но имеем что имеем.
Отличный комментарий!