-
Notifications
You must be signed in to change notification settings - Fork 2
2019 spring course
В мире всё больше незрячих, и всё меньше среди них владеют шрифтом Брайля - рельефно-точечной азбукой, заменяющей чтение и письмо. Дело в том, что инвалиду по зрению трудно пойти на специальные курсы, если они вообще есть в месте, где он живёт; обучение идёт небыстро, особенно у поздноослепших. Польза от азбуки Брайля есть: чтение (даже по Брайлю) - это приятно, возможность делать заметки разгружает память, умение читать и писать по Брайлю помогает найти хоть какую-то занятость.
На рынке есть дисплеи Брайля - приставки к компьютеру с пьезоэлектрической строкой Брайля (демонстрация). Стоят 100-200 т. р. Можно было бы сделать тренажёр на их основе, если бы ни цена. Есть прибор "Умка-01": 6 кнопок, маленький чип и динамик. Нажимаете нужную комбинацию - динамик говорит букву. Наверное, понятно, что это не очень хороший тренажёр (хотя бы потому, что нет памяти пальцев).
Идея проекта: сделать электромеханический самоучитель шрифта Брайля. Конечно, он должен содержать хотя бы одну ячейку Брайля.
В ФабЛабе уже не первый год команда Глеба Мирошника разрабатывала такие устройства. Вот один из последних их образцов: (демонстрация). Внутри фабричная пьезоэлектрическая ячейка, вынутая из дисплея Брайля.
Вот то, что мы сделали в течение школы (демонстрация). Здесь ячейка не пьезоэлектрическая, а механическая. Она занимает много места, зато сделана из распространённых материалов, поэтому создание всего устройства обошлось менее чем в 2000 р (даже меньше Умки). К тому же, устройство легко воспроизвести в любом уголке мира, где есть 3Д-принтер. Вот клавиатура для обучения вводу и кратких заметок. Вот джойстик для навигации. Вот кнопка выключения звука. Мы написали несколько программ, основная - обучение; все они написаны на Python и запускаются с компьютера. Arduino запрограммирован выполнять команды компьютера через USB и отправлять сигналы с джойстика и кнопок. Евгений из Владивостока написал для нас нейронную сеть, распознающую речь; это как раз надо для обучения, точнее, для проверки знаний. В проверочных заданиях на дисплей выводится буква и надо ответить в микрофон, что за буква.
Сейчас устройство работает, и довольно надёжно, но может быть существенно улучшено. В течение курса я хотел бы сделать то, что уже не стыдно будет показать публике и, возможно, даже производить серийно. Мы сделаем прибор компактнее: вот новая ячейка (демонстрация). Теперь надо сделать корпус, кнопки, соединить узлы и программировать.
Мы ездили во Всероссийское общество слепых. Нас в целом похвалили и дали замечания: сказали увеличить немного размеры (для обучения маленькая не нужна) - размеры увеличены; сказали сделать компактнее - будет компактнее. Сказали лицевую панель лучше сделать не шершавой, а то неприятно - наверное, вырежем из оргстекла. В течение курса, думаю, 2-3 раза съездим в ВОС и покажем, что выходит.
Работа разделена на 10 этапов. По каждой куратор ставит оценку группе, а Валера - всем участникам.
Ваша роль: есть задания. Их наверняка хватит до конца курса, так что, даже если у вас не будет своих идей или главное для вас - получить зачёт, достаточно в срок выполнять свои задачи. По желанию - ездить в ВОС. В конце составим презентацию.
Когда вы берёте задачу, составляется issue. Обычно для новой задачи нужно создать новую ветку из master, и работа оценивается по commit-ам в неё. Не берите задачу, не обозначив это в GitHub, чтобы не работать параллельно с кем-то ещё.
- Commit-ы и слияния в
master
: нельзя до проверки на устройстве. Иначе снижаю оценку. - Встречи: хотели каждую субботу в 14-00, но в итоге решили, что каждая подргуппа работает так, как удобно.
- Куратор: точно не с Примата. Вероятно, Глеб Мирошник.
- Не забывайте, есть ещё теория!
- Группа большая. Предлагаю разделиться на две: ближе к ПО и ближе к железу.
- Снабдить комментариями имеющийся код
- Небольшое (и частично выполненное) задание для ознакомления с проектом
- Улучшение воспроизведения аудио по нажатию джойстика (QT)
- Добиться того, чтобы по нажатию джойстика происходила реакция даже во время воспроизведения аудио
- Отключать звук по нажатию кнопки на устройстве
- Озвучка и наполнение уроков и тестов
- Большое и монотонное задание. Нужно спросить у Нины Константиновны (эксперта ВОС), что лучше - синтезатор или живая речь - и посмотреть программы специальных интернатов, после чего создать наполнение для всех уроков и тестов.
- Случайные слоги и слова в обучении
- Задание по C++ - то самое, что я присылал интересующимся (создание структуры-дерева для хранения слов).
- Распознавание речи
- Отладить библиотечное распознавание или добиться от Евгения безошибочной работы
- Обработка Serial-ошибок
- В Python обрабатывать ошибки, связанные с Serial (отсутствие устройства, потеря связи с устройством) - выводить информационное аудиосообщение
- Создание исполняемого установщика для Windows
- Написать установщик для Windows. Обеспечить подгрузку библиотек, возможно, установку компиляторов Python и C++, если таких нет. По установщикам нашёл статью, но надо ещё разобраться
- Создание приложения - заметки
- На текущий момент Лёша начал над этим работать.
- Создание приложения - инструкции для работы
- Создание приложения - настроек (зависит от группы "ближе к железу")
- Собрать ячейку
- Подключить PWM Shield
- Подключить иные узлы (динамик, клавиши, джойстик или кнопки)
- Собрать корпус
- Это ещё надо смоделировать. В принципе Валере по силам одному, но не помешает доброволец, который бы освоил базовые навыки работы в SolidWorks и помог бы.
- Подключить кнопки
- Ответ на нажатия кнопки
- В отсутствие подключения к компьютеру по нажатию клавиш выводить нажатую комбинацию в ячейку.
- Подключить Nano Pi
- Проверить код на кросс-платформенность на Linux
- Убрать общение через Serial, либо переписав программу на чистых C++ и создав API с Python, либо переписать на Python
- Ознакомиться с Nano Pi и перенести на него программу
- Сделать отдельное усройство под управлением Pi
- Сделать возможность настроек (скорость воспроизведения и высота штырьков)
Участник | Что сделал |
---|---|
Саша |
|
Макар |
|
Миша |
|
Паша |
|
Лёша |
|
Ваня |
|
Валера |
|
Никита |
|
Участник | Что сделал |
---|---|
Саша |
|
Макар |
|
Миша |
|
Паша |
|
Лёша |
|
Ваня |
|
Валера |
|
Никита |
|
Участник | Что сделал |
---|---|
Саша |
|
Макар |
|
Миша |
|
Паша |
|
Лёша |
|
Ваня |
|
Валера |
|
Никита |
|
промежуточные модели устройства , созданные под началом Глеба Андреевича Мирошника
интервью с сотрудницей библиотеки для слепых.
консультация с Ниной Константиновной Балан, председателем организации незрячих специалистов СПб и Ленинградской области