Комментарии 17
Были времена, когда люди действительно так работали) Печатная машинка Консул использовалась в роли терминала.
Но раз вы перевели субтитры, то, возможно, имеет смысл добавить их в видео? Иначе ваш перевод просто не выполняет своей функции.
Я присвоил каждой клавише код от 0 до 87
=$;*%#!# почему люди так любят велосипеды и NIH?? Из всех библиотек, нумерующих клавиши, только одна известная мне (Xlib) использует общепринятый стандарт нумерации ASCII символов - ISO/IEC 8859-1. Остальные нумеруют кто во что горазд, не отстаёт даже Линус Торвальдс.
а по-моему - так и должно быть. Это же железячные коды, а не логические символы.
А когда надо чтобы на входе были ASCII символы, то ставится функция-преобразователь - из ASCII символа в коды кнопок устройств, и наступает счастье - внутренние значения железа отвязаны от внешней логики и могут меняться\апгрейдиться независимо.
PS: меня гораздо сильнее удивляет - почему автор использовал и ардуину и малину (для этой задачи хватило бы одной любой из них), но наверно этот колхоз был из разряда ленивого железячника "комп умеет работать с малиной, машинку я уже завел от ардуины, проще подружить малину и ардуину"...
не отстаёт даже Линус Торвальдс.Это прямо то, что идёт от железа.
Не путайте кодировку символов и скан-коды клавиш. Одному скан-коду в разных случаях соответствуют разные символы.
Вот, вот. У людей мысли сходятся.
А я зачем-то делаю хакатон, на котором одно из заданий в точности повторяет это, только у меня аппарат Twen T-180.
Переизобрели телетайп
Я эту машинку превращал в принтер еще в конце 90х. Никакой ардуины тогда у меня не было. А было сделано следующее:
Как подключиться к печатной машинке, которая хоть и электронная, но
никакого внешнего интерфейса не предусмотрено? Было принято решение
попробовать сымитировать нажатия клавиш.
После разборки печатной машинки и выдирания шлейфа от клавиатуры
выяснилось, что клавиатура представляет собой матрицу кнопок. Процессор
машинки периодически подает «1» на столбцы и при нажатой кнопке эта
единица появляется на соответствующей строке. И еще порадовало, что
сигналы там были с обычными TTL-уровнями. Таким образом стало понятно,
как можно превратить машинку в принтер:)
Был изготовлен шлейф, в котором столбцы и строки были заведены на
выходные и входные линии микросхемы ВВ55 Радио 86 РК. И родилась ассемблерная
процедура печати одного символа: в цикле опрашиваем порт, и в тот
момент, как только появляется нужный бит на столбце, выставляем нужный
бит на строке, и как только бит на столбце пропадаем, снимаем его со
строки. При отладке выяснилось, что в машинке реализована защита от
дребезга, и процессор машинки распознает нажатие клавиши только если
сигнал на строке повторяется не менее чем за 3 цикла опроса.
После написания работающей процедуры «нажатия клавиши» оставалось только
составить таблицу соответствия строк и столбцов ASCII-кодам, и можно
было уже вовсю печатать :) Дальше оставалось только выдавать символы не
слишком быстро, чтобы механика машинки успевала отработать, да ставиться
на паузу и ждать ожидания любой клавиши, когда заканчивалась страница.
Быстродействия даже Радио86 РК вполне хватало на программную эмуляцию клавиатуры машинки.
Описанная схема подключения практически без изменений использовалась и
когда у меня появился 486 комп — там машинка была подключена по LPT. И
при помощи такой нехитрой схемы было отпечатано множество рефератов и
курсовых :)
А я подключил ПК 01 Львiв к телетайпу "Риони" с помощью одного силового транзистора. И генерил старт стопные последовательности
У меня вот такое чудо ждёт своего часа, стм для маштаба.
Это очень круто!
Не хватает сливного бачка для охлаждения малинки?
Как превратить пишущую машинку в терминал Linux