Шрифтом Брайля можно не только выводить, но и вводить информацию. В классическом 6-битном варианте этого шрифта знак состоит из двух столбцов по три бита в каждом. В брайлевской клавиатуре оба столбца развёртнуты в одну строку, по три бита на каждую руку. Предлагаемая самодельная клавиатура этого типа озвучивает вводимые знаки и одновременно отправляет их в последовательный монитор, откуда текст можно затем скопировать в другое приложение для последующей правки.
Да простят меня все считаюшие это моветоном, но схему автор выполнил в чём-то Fritzing'оподобном. К тому же, он забыл добавить к 7805 конденсаторы, предотвращающие самовозбуждение — их надо поставить обязательно. Но способ изображения схемы никак не повлиял на работоспособность конструкции, прекрасно справляющейся со своими функциями.
Коды цифр в шрифте Брайля аналогичны кодам букв A — J, каждое число необходимо предварять специальным знаком «сейчас пойдут цифры»:
Но чтобы клавиатура озвучивала и передавала в последовательный монитор цифры вместо букв, её необходимо перевести в соответствующий режим выключателем, подключённым к одному из входов Arduino аналогично кнопкам. Как кнопки, так и выключатель снабжены подтягивающими резисторами (1 кОм).
Файлы для озвучивания знаков хранятся на карте памяти, отформатировать её необходимо обязательно в FAT32:
В Linux — так.
Затем поместить на неё файлы, скачанные отсюда. А в Arduino залить скетч, предварительно сменив расширение файла с TXT на INO.
Для приёма набираемых символов можно воспользоваться как последовательным монитором Arduino IDE, так и любым эмулятором терминала. Автор предпочитает CoolTerm за возможность сразу записывать вводимые знаки в текстовый файл, но так может не только эта программа. Параметры: 9600 Бод, 8 бит, без контроля чётности, один стоп-бит, DTR и RTS включены. Когда всё заработает, можно попробовать набрать какой-либо текст:
Краткая видеоинструкция и проверка клавиатуры:
Чтобы можно было сразу набирать на такой клавиатуре текст в любой программе, прошивку необходимо доработать, добавив функцию HID-устройства. Но этот режим поддерживают не все Arduino-совместимые платы.