[Перевод] Проект Open Book и сборка E-Book FeatherWing
Нас окружают переносные устройства. Часто мы воспринимаем их как нечто, созданное из стекла и кремния, появившееся в нашей жизни уже полностью готовым к использованию. И обычно даже речи не идёт о том, чтобы как следует понять, как, например, работает что-то вроде Kindle. Не говоря уже о том, чтобы самому создать подобное устройство. Цель проекта Open Book заключается в том, чтобы любой, пользуясь обычными инструментами, которые несложно найти, мог бы самостоятельно создать простое, доступное устройство для чтения электронных книг на любом из существующих языков.
E-Book FeatherWing (далее — просто «FeatherWing») — это самая простая версия электронной книги, созданная в рамках проекта. С функциональной точки зрения это — плата расширения, которая стыкуется с платформой Adafruit Feather M4 Express, дающей устройству микроконтроллер и систему для зарядки аккумуляторов. Почти все компоненты поверхностного монтажа FeatherWing достаточно велики, их несложно припаять к плате вручную. Благодаря этому FeatherWing можно рассматривать как отличный проект для тех, кто хочет научиться выполнять поверхностный монтаж электронных компонентов с использованием пайки.
Электронная книга, созданная в рамках проекта Open Book
В этом руководстве речь пойдёт о том, как собрать собственную «читалку» FeatherWing, обладающую e-paper-экраном с диагональю 4,2 дюйма и семью кнопками, расположенными на передней панели. В результате получится устройство, отлично подходящее для чтения электронных книг. Но возможности платформы, использованной в данном проекте, этим не ограничиваются. В частности, платформа позволяет воспроизводить звук через выход для наушников. Она даёт возможность работать с информацией, поступающей с датчиков, подключённых к STEMMA-портам. А если присоединить к устройству Adafruit AirLift FeatherWing — его можно будет даже подключить к интернету по беспроводной сети.
1. Подготовка к работе
Вам понадобится печатная плата E-Book FeatherWing. Заказать такую можно на Tinder. Ещё можно заказать изготовление платы у производителя печатных плат, вроде OSH Park, отправив ему файлы, необходимые для изготовления платы.
Кроме того понадобится заказать компоненты, размещаемые на плате. Почти все их можно найти на Digi-Key; можно воспользоваться формой быстрого заказа материалов на Kitspace (проект eBook-Wing). Дисплей придёт прямо от производителя — Good Display.
Вам понадобится Arduino IDE вместе с пакетом поддержки Adafruit SAM Board, который нужен для работы с Feather M4 Express. Кроме того, нужны будут следующие Arduino-библиотеки:
- Adafruit GFX
- Adafruit BusIO
- Adafruit MCP23008
- Adafruit EPD
- Adafruit SPIFlash
- SDFat — Adafruit Fork
- arduino-menusystem
- The Open Book
- Babel
Когда вы всё организуете, настроите программы и подберёте аппаратные компоненты, нужно будет подготовиться к работе. А именно, распечатайте список компонентов, в котором можно будет отмечать те, которые вы уже припаяли к плате. Кроме того, полезно держать под рукой распечатку со схемой задней стороны платы. Она пригодится в том случае, если вы не сможете прочесть спецификации компонентов, нанесённые на саму плату. Держите под рукой средство для удаления припоя и флюс. Вам они пригодятся в том случае, если придётся что-то перепаивать. Ещё перед началом работы вам будет полезно посмотреть моё видео по сборке FeatherWing, которое можно найти в репозитории проекта.
2. Пайка пассивных компонентов
Если вы никогда не занимались пайкой миниатюрных электронных компонентов и не уверены в своих силах, предлагаю вам ни о чём не беспокоиться! Это — гораздо проще, чем кажется на первый взгляд. Начнём с резисторов и конденсаторов. Тут используются детали типоразмера 0805. Они, конечно, маленькие, но не настолько, чтобы их нельзя было паять вручную, без использования специальных увеличительных приборов.
Рисунок A
Найдите первую деталь, которую хотите припаять к плате. Пусть это будет R1. Сначала поместите каплю припоя на одну из двух контактных площадок (Рисунок A).
Рисунок B
Далее, с помощью пинцета, нужно поместить деталь около капли припоя. Теперь нагреваем припой и перемещаем деталь в нужном направлении, туда, где находится разогретый припой. После этого деталь будет зафиксирована там, где она должна быть (Рисунок B).
Рисунок C
И наконец — припаяйте другую сторону детали к другой контактной площадке (Рисунок C).
Рисунок D
Вот и всё! Деталь R1 заняла своё место на плате (Рисунок D).
Сделайте то же самое со всеми резисторами и конденсаторами из списка деталей. Таким же образом припаяйте и катушку L1.
Рисунок E
Очень похожую стратегию можно использовать и при работе с диодами D1-D5. Только учтите то, что диоды нужно монтировать, учитывая направление их расположения на плате. На пластиковом корпусе диода имеется небольшая серая черта. Диод надо расположить так, чтобы эта черта была бы с той же стороны, где и линия символа диода, нарисованная на плате (Рисунок E).
Тут, кроме того, применяются два вида диодов. Два диода Зенера должны быть размещены в блоке Extra Ports, а три диода Шоттки — в блоке E-Paper Display.
Рисунок F
Сейчас, когда мы занимаемся пассивными компонентами, мы можем припаять к плате и кнопки. Паяют их так же, как резисторы и конденсаторы: на одну контактную площадку помещают каплю припоя, припаивают к этой площадке один из контактов кнопки, а потом припаивают второй контакт ко второй площадке (Рисунок F).
Тот же подход можно использовать и при монтаже MOSFET Q1. Эта деталь, правда, имеет три контакта, поэтому будьте внимательны и сделайте так, чтобы все они были надёжно скреплены с контактными площадками на плате.
3. Пайка интегральных микросхем
Рисунок G
В проекте используется три интегральных микросхемы: чип флэш-памяти, SRAM-чип и расширитель GPIO-портов. Припаивая их к плате нужно, как и в случае с диодами, обращать внимание на их ориентацию. На пластиковом корпусе каждой из микросхем есть небольшая точка. Её расположение должно соответствовать точке, нарисованной на плате (Рисунок G).
Рисунок H
Стратегия пайки тут такая же, как и при работе с диодами. А именно — сначала надо поместить каплю припоя на одну из угловых контактных площадок (Рисунок H).
Рисунок I
Затем, расплавив этот припой, нужно поместить микросхему на предназначенное для неё место (Рисунок I).
Прежде чем припаивать остальные выводы микросхемы к плате, стоит проверить выравнивание чипа. А именно, все его выходы должны располагаться точно на контактных площадках. Если это не так — нужно снова расплавить припой на уже припаянном контакте и подвигать чип до тех пор, пока он не будет правильно выровнен. Затем нужно припаять к плате выход чипа, находящийся в его противоположном углу. Это позволит зафиксировать чип в правильном положении.
Рисунок J
Если на данном этапе работы видно, что чип размещён правильно, можно припаять к контактным площадкам остальные его выходы (Рисунок J).
Рисунок K
Рисунок L
Рисунок M
Рисунок N
Если оказалось, что припой соединил два соседних пина — не паникуйте! Это называется «перемычка» (bridging). Данный дефект легко исправить. Если перемычка сформировалась из небольшого количества припоя — можно попробовать всё исправить, воспользовавшись флюсом и нагрев выводы (Рисунки K, L, M, N). Флюс помогает припою пристать к металлическим выводам.
Рисунок O
Рисунок P
Если простыми методами от перемычки избавиться не удаётся — можно прибегнуть к средству для удаления припоя. Припой надо нагреть и собрать с помощью этого средства (Рисунки O и P).
4. Пайка слота microSD-карты
Рисунок Q
Пайка этой детали может показаться сложной задачей, но, на самом деле, всё не так уж и страшно. Для начала, так же, как мы делали в прошлый раз, поместим каплю припоя на одну из монтажных площадок и, поддерживая припой в расплавленном состоянии, правильно разместим слот для microSD-карты на плате (Рисунок Q).
Рисунок R
В верхней части этого слота имеются большие удобные отверстия. Через них можно проконтролировать правильность выравнивания контактов (Рисунок R). Если они выровнены неправильно — нужно разогреть припой на площадке, используемой для фиксации слота, и подвигать деталь до тех пор, пока контакты не совпадут с площадками. Затем нужно припаять всё то, что ещё не припаяно.
Рисунок S
Главная хитрость тут заключается в следующем: тонкую проволоку припоя прижимают к контакту, пропуская её через отверстие в верхней части слота, а жало паяльника подводят сбоку. Тут может пригодиться держатель для печатных плат. Плату можно просто поместить на краю стола, благодаря чему будет удобно работать паяльником.
Рисунок T
Проконтролировать правильность пайки контактов можно с помощью увеличительной лупы (Рисунок T).
5. Пайка коннекторов с использованием технологии поверхностного монтажа компонентов
К нашей плате нужно припаять семь коннекторов. Это — разъём для наушников, три порта STEMMA, два порта Feather и 24-пиновый коннектор для подключения дисплея.
Легче всего припаять разъём для наушников. У него имеется две пластиковых направляющих, под которые на плате имеется пара отверстий. Разъём нужно установить туда, где он должен быть. После этого нужно просто припаять четыре его вывода к плате.
Пайка портов STEMMA похожа на пайку интегральных микросхем. А именно, можно поместить немного припоя в опорной точке, выровнять порт, ориентируясь на линии, нанесённые на плату, а после этого припаять остальные выводы. Обратите внимание на то, что 4-пиновый порт должен быть в середине, а 3-пиновые порты — по обеим сторонам платы.
То же самое касается и Feather-портов. Сначала фиксируют один из углов порта, потом другой, потом проверяют правильность расположения детали, а уже после этого пропаивают остальные контакты. Полезно немного придавить порт сверху чтобы в итоге он был бы надёжно зафиксирован на плате.
Рисунок U
И, наконец, приступаем к пайке 24-пинового коннектора. Это, пожалуй, самое сложное во всей нашей работе. Но, если под рукой есть приспособление для удаления припоя и флюс, вы без труда справитесь с пайкой этого коннектора. Сначала, как обычно, поместим каплю припоя на одну из двух крупных монтажных площадок, неважно — на какую именно. Потом нагреем припой и выровняем коннектор (Рисунок U).
Рисунок V
Далее, используя увеличительную лупу, нужно проверить правильность выравнивания всех 24-х пинов. Понять, правильно ли они выровнены, довольно просто. Если между всеми контактами видна синяя поверхность платы — значит всё сделано как надо. Затем надо протянуть паяльник и припой по этим пинам и их припаять! Тут не помешает использовать немного флюса — чтобы припой пристал туда, куда он должен пристать (Рисунок V).
Рисунок W
Рисунок X
Некоторые пины, что почти неизбежно, окажутся соединёнными перемычками припоя. Но это — совершенно нормально. Для того чтобы от них избавиться, надо почистить жало паяльника, поместить в проблемное место немного флюса (Рисунок W) и убрать перемычку с контактов (Рисунок X). Если перемычка достаточно велика, то убрать её поможет средство для удаления припоя.
Возможно, с первой попытки вы этот коннектор и не припаяете, но когда через некоторое время окажется, что между контактами нет перемычек, и что все они надёжно припаяны к плате, это будет означать, что наше дело близко к завершению.
6. Тестирование платы
Для того чтобы себя обезопасить, воспользуемся мультиметров для проверки линий 3V и GND на короткое замыкание. Переключим мультиметр в режим Continuity и коснёмся щупами контактов 3V и GND на порте Feather. Если раздастся звуковой сигнал — проверьте плату на предмет наличия на ней перемычек припоя, которые могут соединять линии 3V и GND. Если звука нет — это значит, что мы готовы к подключению к плате Feather M4!
Рисунок Y
Осторожно извлеките хрупкий e-paper-дисплей из защитной упаковки. Подключите гибкий кабель дисплея, пропустив его через отверстие в плате, к соответствующему коннектору (Рисунок Y).
Переверните плату, постаравшись не повредить дисплей. Так вы сможете его видеть при работе с устройством. Подайте питание на Feather.
Загрузите скетч Open_Book_Screen_Test
из примеров Open Book. Проверьте, чтобы была выбрана плата Feather M4, а после этого запустите скетч! Вы должны увидеть включение дисплея и вывод на нём логотипа проекта Open Book.
7. Пайка оставшихся частей
Отключите питание от платы, отсоедините шлейф дисплея от 24-пинового коннектора и уберите куда-нибудь дисплей.
Тут имеется одна перемычка, которую надо замкнуть с помощью припоя. Это позволяет включить Flash-чип. Найдите BCS-перемычку, которая находится около верхней части длинного Feather-порта, и замкните её каплей припоя.
Теперь займёмся кнопками! Вставьте их в соответствующие сквозные отверстия платы, поместив их в её передней части, а после этого припаяйте их контакты на задней части платы.
Теперь поместите переключатель в задней части платы, вставив его в соответствующее отверстие, после чего припаяйте его к передней части платы.
Рисунок Z
Теперь, в последний раз, пропустите шлейф дисплея через отверстие в плате и подключите его к 24-пиновому коннектору. Закрепите дисплей на передней части платы с использованием двустороннего скотча. Примите поздравления: сборка устройства завершена (Рисунок Z)!
8. Запись образа Babel на флэш-чип
Один из флэш-чипов E-Book FeatherWing предназначен для хранения языковой и шрифтовой информации. Сейчас он пуст. Когда вы загрузили библиотеку Babel, вы загрузили и двухмегабайтный BLOB-файл, содержащий сведения о том, как выводить тексты на всех существующих языках. Мы собираемся скопировать этот файл на microSD-карту, а затем запустить скетч, который запишет образ на Flash-чип.
Рисунок Aa
Рисунок Bb
Найдите файл babel.bin
. Он находится в папке babelconvert
, которая имеется среди материалов загруженной вами библиотеки Babel (Рисунок Aa). Скопируйте этот файл на microSD-карту, а после этого — извлеките её из кард-ридера. Теперь подключите карту к FeatherWing. Запустите скетч BurnBabelBurn
из примеров Babel, откройте Serial Monitor и следуйте инструкциям по записи данных на чип (Рисунок Bb).
Если система подтвердила правильность записи данных — значит всё готово! Сейчас можно удалить файл babel.bin
с microSD-карты. Данные теперь находятся на постоянном хранении в соответствующем чипе.
9. Чтение книг
Наконец-то мы добрались до этого момента! Тут применяется очень простая программа для чтения электронных книг. Это — MVBook, используемая для чтения текстовых файлов, преобразованных в формат MVBook (в будущем, хочется надеяться, устройство будет поддерживать простые .txt-файлы).
В папке MVBook есть файл books.zip
, в котором имеется небольшой набор общедоступных книг. Скопируйте содержимое этого файла на microSD-карту и подключите карту к FeatherWing.
Рисунок Cc
Перейдите по пути File > Examples > Open Book
и запустите скетч Open_Book_MVBook
. На экране должен появиться список названий книг и авторов. В левой части должен быть виден индикатор выбора книги (Рисунок Cc). Используйте кнопки со стрелками «вверх» и «вниз» для выбора книги, подтвердите выбор центральной кнопкой. В режиме чтения (Рисунок Dd ниже) используйте кнопки, находящиеся в левом и правом нижних углах платы для листания страниц. Для возврата в главное меню воспользуйтесь центральной кнопкой.
Рисунок Dd
Расширение возможностей E-Book FeatherWing
Система E-Book FeatherWing позволяет читать электронные книги, но лишь этим её возможности не ограничиваются.
- Экран поддерживает вывод изображений в оттенках серого, что позволяет выводить на нём фотографии. Микроконтроллер SAMD51, установленный в Feather M4, обладает достаточной мощностью для быстрого декодирования JPEG-изображений.
- E-Book FeatherWing может стыковаться с несколькими другими платами FeatherWing. Это значит, что устройство для чтения электронных книг можно оснастить Wi-Fi-модулем (AirLift), часами (DS3231), или даже GPS (Adafruit Ultimate GPS).
- Порты STEMMA, расположенные на боковой части платы, открывают массу возможностей по подключению к E-Book FeatherWing самых разных устройств — от датчиков, до колонок и компонентов NeoPixel.
- Для того чтобы сделать электронную книгу мобильной, её можно оснастить аккумулятором Adafruit #3898 на 400 мАч.
Что дальше?
В рамках проекта Open Book созданы два устройства. Мы только что говорили о сборке одного из них, того, что попроще. Если вы полагаете, что вам нужно нечто большее — тогда, возможно, вам стоит взглянуть на более сложное устройство — Open Book Feather. Среди его особенностей можно отметить размещение микроконтроллера SAMD51 на основной плате, наличие стереовыхода звукового сигнала и микрофонного входа, большее количество контактов для подключения дополнительных совместимых плат.
Обе платы поддерживают CircuitPython — замечательное ответвление MicroPython, созданное Adafruit, отлично подходящее для обучения и для экспериментов.
Дополнительные подробности о проекте, в том числе — сведения о том, как сделать корпус для электронной книги, вы можете найти в этом репозитории.
Планируете собрать E-Book FeatherWing?