Когда дело доходит до раскрытия потенциала вашего изобретательского воображения, Raspberry Pi станет отличным дополнением к вашему творческому набору инструментов. Подумайте о том, чтобы раздвинуть свои творческие границы с помощью таких проектов, как создание аркадного автомата, съемка космических исследований или воплощение в жизнь старых технологий.
Недавний выпускник был вдохновлен на реализацию уникального проекта с использованием электронной пишущей машинки в качестве дисплея терминала Linux с помощью компьютера Raspberry Pi. Давайте посмотрим, почему он решил взяться за этот проект, а также какие инструменты и методы помогли ему на этом пути.
Учиться у других
Недавно получив степень в области машиностроения, Райли знакома с электроникой. Он предпочитает работать над проектами, где разрабатывает решения для движущихся частей. Сочетание его мечты создать собственную механическую клавиатуру с его любовью к движущимся частям делает этот проект идеальным для него.
Первоначально идея принадлежит школьному другу. Вместе они работали над созданием компьютера с процессором Z80 и планировали выпотрошить старую пишущую машинку Smith Corona PWP D350, чтобы использовать ее в качестве клавиатуры и корпуса. К сожалению, детали клавиатуры уже шесть лет пылятся.
Создатель контента YouTube, CuriousMarc, использовал компьютер Teletype в качестве терминала Linux, что возродило стремление Райли попробовать еще раз.
Этот проект — отличный способ понять, как работают движущиеся части и как технологии взаимодействуют друг с другом.
Компоненты проекта
Вот что вам понадобится, чтобы воссоздать этот проект дома:
- Brother AX-25 (или аналогичная пишущая машинка)
- Мультиплексоры
- Макет
- Raspberry Pi (под управлением Raspberry Pi OS Lite)
- USB-клавиатура
- Ардуино один
- Код: Язык программирования Arduino
- Делители напряжения
- Различные кабели и разъемы
Исследования и подготовка
Основным препятствием было понимание того, как пишущая машинка интерпретирует внешние нажатия клавиш. Это было решено путем ручной идентификации каждого контакта, подключенного к кабелю пишущей машинки, а затем создания электронной таблицы, чтобы все было правильно. Каждой клавише присвоен номер от 0 до 87, чтобы упростить программирование.
Мультиплексоры используются для соединения входов и выходов, не требуя большого количества дополнительных кабелей или соединений. Например, вы можете уменьшить количество контактов, используемых при работе со многими датчиками или двигателями.
Что касается пишущей машинки, мультиплексоры используются для подключения множества входных контактов к одному выходному контакту. При изменении выбранных контактов вы можете выбрать, какой вход подключен к выходу.
Чтобы обеспечить точность между компонентами, необходимо было связать матрицу 8 x 11, чтобы понять, как правильно отображать дорожки пишущей машинки. Вы можете увидеть, как это ручное обнаружение происходит на канале Райли на YouTube, указанном в конце этого руководства.
Соединительные компоненты
Согласно исследованиям Райли, механизм пишущей машинки в виде ромашки хорошо работает с Arduino. Чтобы узнать больше об этом микроконтроллере, ознакомьтесь с нашим руководством по изучение различных типов Arduino для деталей. Почему он в конечном итоге использовал Brother AX-25? Это всего лишь первая пишущая машинка, которая соответствует его критериям.
На картинке выше длинная прямоугольная плата соединяет вместе различные технологии. Это называется хлебопечка. Основная цель этой платы — упростить электронные схемы. Ознакомьтесь с нашим руководством по как работает макетная плата для деталей.
С USB-клавиатурой, подключенной к Raspberry Pi, вы можете отправлять команды на пишущую машинку через микроконтроллер Arduino. Чтобы получить более глубокое представление о функциях терминала, обратитесь к нашему руководству по история команд линукса.
Raspberry Pi работает под управлением ОС Raspberry Pi Lite, которая хорошо отвечает потребностям этого проекта. Это связано с тем, что пишущая машинка отображает простые функции через терминал TTY (или телетайп).
Райли признает, что Arduino можно исключить из этого уравнения. Устранение любых проблем, когда мультиплексоры передают команды Raspberry Pi на пишущую машинку, более эффективно, потому что он обладает обширными знаниями об этом микроконтроллере. В качестве альтернативы необходимо создать новый драйвер Linux для замены Arduino. Это пока не входит в планы этого создателя.
Он также рассматривал возможность удаления Raspberry Pi и добавления последовательного порта между Arduino и пишущей машинкой. Хотя он был рад сообщить, что это будет означать, что пишущая машинка будет ощущаться как настоящий телетайп, он решил пока сохранить общий поток компонентов.
Выбор кода с использованием языка программирования Arduino из-за его опыта использования Arduino для старшего дизайнерского проекта в школе. Этот опыт пригодился несколько раз, особенно когда возникала небольшая проблема при попытке заставить пишущую машинку нажимать две зеленые (функциональные) клавиши одновременно.
Проблема синхронизации была в конечном итоге решена, когда Arduino попросили нажать две клавиши очень близко друг к другу. Это фактически обмануло пишущую машинку, заставив ее думать, что две клавиши были нажаты вместе, и в конце концов позволило использовать зеленые (функциональные) клавиши.
Что касается разности мощностей между Arduino и Raspberry Pi, делители напряжения используется в этом проекте, уменьшите выходную мощность 5 В Arduino до выходной мощности 3,3 В Pi Zero. В.
Что день грядущий?
Недавно Райли поделился прямой трансляцией на своем канале YouTube, посвященной проектированию печатной платы в режиме реального времени. Не знаете, что такое печатная плата? Ознакомьтесь с нашим руководством по печатные платы. Если вам не интересно сидеть в течение шести часов в прямом эфире (с подробным описанием дизайна), подумайте о том, чтобы пропустить видео до раздела, который вам подходит.
Когда схемы будут готовы, он планирует отправить дизайн печатной платы производителю. Когда печатная плата будет готова и доставлена домой, Райли поделился, что очень рад возможности испытать готовый продукт в реальных условиях в ближайшее время.
Вы сами попробуете этот проект?
Теперь, когда вы понимаете, какие компоненты требуются и как они объединяются, вы также можете просмотреть код в Интернете. Вы можете ознакомиться с открытым исходным кодом Райли. GitHub-репозиторий серийной пишущей машинки. Пока вы там, прочитайте отличный объяснитель в файле README, в котором изложена принципиальная схема, которая поможет вам соединить все компоненты вместе.
Если вам нужна помощь, обратитесь к Райли. Ютуб канал, Artillect, для подробностей. Вы также обнаружите, что он включает в себя и другие способы связи с ним.
Наслаждайтесь новой жизнью своей электронной пишущей машинки в качестве терминала Linux!