Когато става въпрос за изследване на потенциала на вашето изобретателно въображение, Raspberry Pi е чудесно допълнение към вашия творчески инструментариум. Помислете за разширяване на вашите творчески граници с проекти като изграждане на аркаден кабинет, фотография за изследване на космоса или вдъхване на живот на по-стари технологии.
Наскоро завършил беше вдъхновен да се заеме с уникален проект, използвайки електронна пишеща машина като дисплей на терминал на Linux, с помощта на компютър Raspberry Pi. Нека да разгледаме защо той реши да се заеме с този проект, заедно с инструментите и техниките, използвани, за да му помогнат по пътя.
Учене от другите
След като наскоро получи диплома по машинно инженерство, Райли не е непознат за електрониката. Предпочита да работи по проекти, където проектира решения около движещи се части. Съчетаването на мечтата му да създаде своя собствена механична клавиатура с любовта му към движещите се части прави този проект идеален за него.
Първоначално идеята е приписана на приятел от гимназията. Заедно те работиха за създаването на компютър, използващ Z80 CPU и планираха да изкормят по-стара пишеща машина, Smith Corona PWP D350, която да използват като клавиатура и кутия. За съжаление частите на клавиатурата събират прах вече шест години.
Създател на съдържание в YouTube, CuriousMarc, използва телетайп машина като Linux терминал, което възроди амбицията на Райли да опита отново.
Този проект е чудесен начин да разберете как работят движещите се части и как технологията комуникира заедно.
Компоненти на проекта
Ето какво ще ви трябва, за да пресъздадете този проект у дома:
- Brother AX-25 (или подобна пишеща машина)
- Мултиплексори
- Бредборд
- Raspberry Pi (работещ с Raspberry Pi OS Lite)
- USB клавиатура
- Arduino One
- Код: език за програмиране Arduino
- Делители на напрежение
- Различни кабели и конектори
Проучване и подготовка
Голямо препятствие включваше разбирането как пишещата машина интерпретира външни натискания на клавиши. Това беше решено чрез ръчно идентифициране на всеки щифт, свързан към кабела на пишещата машина, и след това създаване на електронна таблица, за да бъде всичко правилно. На всеки клавиш е присвоен номер между 0 и 87, за да се улесни програмирането.
Мултиплексорите се използват за свързване на входове и изходи, без да е необходимо много допълнително окабеляване или свързаност. Например, можете да намалите броя на използваните щифтове, когато работите с много сензори или двигатели.
По отношение на пишещата машина, мултиплексорите се използват за свързване на много входни щифтове към един изходен щифт. Когато променяте избраните пинове, можете да изберете кой вход да бъде свързан към изхода.
За да се осигури точност между компонентите, беше необходимо свързване на матрица 8 x 11, за да се разбере как да се картографират правилно следите на пишещата машина. Можете да видите как това ръчно откриване се извършва в канала на Райли в YouTube, свързан в края на това ръководство.
Свързващи компоненти
Въз основа на изследванията на Райли, механизмът на пишещата машина с колелце на маргаритка работи добре с Arduino. За да научите повече за този микроконтролер, вижте нашето ръководство за изследване на различните типове Arduino за детайли. Защо в крайна сметка използва Brother AX-25? Това е само първата пишеща машина, която откри, че отговаря на неговите критерии.
На снимката по-горе дълга правоъгълна дъска свързва различни технологии заедно. Това се нарича макет. Основната цел на тази платка е да опрости електронните схеми. Вижте нашето ръководство за как работи макетът за детайли.
С USB клавиатура, свързана към Raspberry Pi, можете да изпращате команди към пишещата машина чрез микроконтролера Arduino. За да разберете по-задълбочено функциите на терминала, консултирайте се с нашето ръководство за историята на Linux командите.
Raspberry Pi работи с Raspberry Pi Lite OS, която отговаря добре на нуждите на този проект. Това се дължи на това, че пишещата машина показва прости функции чрез терминала TTY (или телетайп).
Райли признава, че Arduino може да бъде премахнат от това уравнение. Отстраняването на всякакви проблеми, докато мултиплексорите предават команди на Raspberry Pi към пишещата машина, е по-ефективно, защото той има обширни познания за този микроконтролер. Като алтернатива е необходимо създаване на нов драйвер за Linux, който да замени Arduino. Засега това не е нещо в плановете на този творец.
Той също така обмисля премахването на Raspberry Pi и добавянето на връзка със сериен порт между Arduino и пишещата машина. Въпреки че беше развълнуван да сподели, че това би означавало, че пишещата машина ще се чувства като истинска телетайпна машина, той е избрал да запази общия поток от компоненти за момента.
Избирайки да кодира, използвайки езика за програмиране Arduino, поради неговия опит с използването на Arduino за старши дизайнерски проект в училище. Това изживяване беше полезно няколко пъти, особено когато имаше малък проблем при опит да кажете на пишещата машина да натисне два зелени (функционални) клавиша едновременно.
Проблемът с времето в крайна сметка беше решен, като се каза на Arduino да натисне два клавиша много близо един до друг. Това всъщност подмами пишещата машина да мисли, че два клавиша са натиснати заедно и в крайна сметка позволи използването на зелените (функционални) клавиши.
По отношение на съображенията за разлика в мощността между Arduino и Raspberry Pi, делители на напрежение използвани в този проект намаляват изходната мощност от 5 V на Arduino до изходната мощност от 3,3 V на Pi Zero У.
Какво крие бъдещето?
Наскоро Райли сподели предаване на живо в канала си в YouTube, проектирайки PCB в реално време. Не сте сигурни какво е PCB? Вижте нашето ръководство за печатни платки. Ако не се интересувате от шест часа предаване на съдържание (описващо дизайна в детайли), помислете дали да прескочите видеото до раздел, който ви подхожда.
Когато схемите бъдат завършени, той планира да изпрати дизайна на печатната платка на производителя. Когато печатната платка е завършена и получена у дома, Райли сподели, че е развълнуван да вземе готовия продукт за тест в реалния свят един ден скоро.
Ще опитате ли сами този проект?
След като вече разбирате какви компоненти са необходими и как се събират, можете също да прегледате кода онлайн. Можете да видите отворения код на Riley serial-typewriter GitHub хранилище. Докато сте там, прочетете страхотния обяснител във файла README, очертаващ електрическа схема, която да ви помогне да свържете всички компоненти заедно.
Ако установите, че имате нужда от помощ, консултирайте се с Райли YouTube канал, Artillect, за детайли. Ще откриете също, че той включва и други начини да се свържете с него.
Наслаждавайте се да дадете нов живот на вашата електронна пишеща машина като Linux терминал!