[Перевод] Проект Open Book и сборка E-Book FeatherWing

Нас окружают переносные устройства. Часто мы воспринимаем их как нечто, созданное из стекла и кремния, появившееся в нашей жизни уже полностью готовым к использованию. И обычно даже речи не идёт о том, чтобы как следует понять, как, например, работает что-то вроде Kindle. Не говоря уже о том, чтобы самому создать подобное устройство. Цель проекта Open Book заключается в том, чтобы любой, пользуясь обычными инструментами, которые несложно найти, мог бы самостоятельно создать простое, доступное устройство для чтения электронных книг на любом из существующих языков.

E-Book FeatherWing (далее — просто «FeatherWing») — это самая простая версия электронной книги, созданная в рамках проекта. С функциональной точки зрения это — плата расширения, которая стыкуется с платформой Adafruit Feather M4 Express, дающей устройству микроконтроллер и систему для зарядки аккумуляторов. Почти все компоненты поверхностного монтажа FeatherWing достаточно велики, их несложно припаять к плате вручную. Благодаря этому FeatherWing можно рассматривать как отличный проект для тех, кто хочет научиться выполнять поверхностный монтаж электронных компонентов с использованием пайки.

b9531b56e2d5a86109774be8051e4c31.jpg


Электронная книга, созданная в рамках проекта 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. Они, конечно, маленькие, но не настолько, чтобы их нельзя было паять вручную, без использования специальных увеличительных приборов.

e12cda6f5a273a00afdf80e2d37fb8c2.jpg


Рисунок A

Найдите первую деталь, которую хотите припаять к плате. Пусть это будет R1. Сначала поместите каплю припоя на одну из двух контактных площадок (Рисунок A).

7e273c86ba3d4329f7bb6c7e84d548c1.jpg


Рисунок B

Далее, с помощью пинцета, нужно поместить деталь около капли припоя. Теперь нагреваем припой и перемещаем деталь в нужном направлении, туда, где находится разогретый припой. После этого деталь будет зафиксирована там, где она должна быть (Рисунок B).

8d2c3fe762bf30bc9efa473efbb3e685.jpg


Рисунок C

И наконец — припаяйте другую сторону детали к другой контактной площадке (Рисунок C).

da23997cbe14cba08f2e0b069c6f8510.jpg


Рисунок D

Вот и всё! Деталь R1 заняла своё место на плате (Рисунок D).

Сделайте то же самое со всеми резисторами и конденсаторами из списка деталей. Таким же образом припаяйте и катушку L1.

72a18bda18c3b404194684696b13e895.jpg


Рисунок E

Очень похожую стратегию можно использовать и при работе с диодами D1-D5. Только учтите то, что диоды нужно монтировать, учитывая направление их расположения на плате. На пластиковом корпусе диода имеется небольшая серая черта. Диод надо расположить так, чтобы эта черта была бы с той же стороны, где и линия символа диода, нарисованная на плате (Рисунок E).

Тут, кроме того, применяются два вида диодов. Два диода Зенера должны быть размещены в блоке Extra Ports, а три диода Шоттки — в блоке E-Paper Display.

091f68e470ec0df9e878f940cc315cf6.jpg


Рисунок F

Сейчас, когда мы занимаемся пассивными компонентами, мы можем припаять к плате и кнопки. Паяют их так же, как резисторы и конденсаторы: на одну контактную площадку помещают каплю припоя, припаивают к этой площадке один из контактов кнопки, а потом припаивают второй контакт ко второй площадке (Рисунок F).

Тот же подход можно использовать и при монтаже MOSFET Q1. Эта деталь, правда, имеет три контакта, поэтому будьте внимательны и сделайте так, чтобы все они были надёжно скреплены с контактными площадками на плате.

3. Пайка интегральных микросхем


a9c976f69a2bcd44e5bd89b6f40c4763.jpg


Рисунок G

В проекте используется три интегральных микросхемы: чип флэш-памяти, SRAM-чип и расширитель GPIO-портов. Припаивая их к плате нужно, как и в случае с диодами, обращать внимание на их ориентацию. На пластиковом корпусе каждой из микросхем есть небольшая точка. Её расположение должно соответствовать точке, нарисованной на плате (Рисунок G).

afe826e80e7076fb2142ac37244a4261.jpg


Рисунок H

Стратегия пайки тут такая же, как и при работе с диодами. А именно — сначала надо поместить каплю припоя на одну из угловых контактных площадок (Рисунок H).

16bfd46b1183203999c1d31c984f2bc3.jpg


Рисунок I

Затем, расплавив этот припой, нужно поместить микросхему на предназначенное для неё место (Рисунок I).

Прежде чем припаивать остальные выводы микросхемы к плате, стоит проверить выравнивание чипа. А именно, все его выходы должны располагаться точно на контактных площадках. Если это не так — нужно снова расплавить припой на уже припаянном контакте и подвигать чип до тех пор, пока он не будет правильно выровнен. Затем нужно припаять к плате выход чипа, находящийся в его противоположном углу. Это позволит зафиксировать чип в правильном положении.

ee2c55548fc4c55338884922ac523297.jpg


Рисунок J

Если на данном этапе работы видно, что чип размещён правильно, можно припаять к контактным площадкам остальные его выходы (Рисунок J).

01e4709bcec02f18e4b47a7d3d254c85.jpg


Рисунок K

19ef67d92012e3233662dc8bba9553ce.jpg


Рисунок L

b0b7fb584c11466206bfc445a1950059.jpg


Рисунок M

cee38e80cf667648a49313541c73bc86.jpg


Рисунок N

Если оказалось, что припой соединил два соседних пина — не паникуйте! Это называется «перемычка» (bridging). Данный дефект легко исправить. Если перемычка сформировалась из небольшого количества припоя — можно попробовать всё исправить, воспользовавшись флюсом и нагрев выводы (Рисунки K, L, M, N). Флюс помогает припою пристать к металлическим выводам.

807f2f86edeab4f181d77876aee30c79.jpg


Рисунок O

de04051cfa989a371835c7ef235fd935.jpg


Рисунок P

Если простыми методами от перемычки избавиться не удаётся — можно прибегнуть к средству для удаления припоя. Припой надо нагреть и собрать с помощью этого средства (Рисунки O и P).

4. Пайка слота microSD-карты


d8ce5aebf17cbbbc00168fe00d432e8a.jpg


Рисунок Q

Пайка этой детали может показаться сложной задачей, но, на самом деле, всё не так уж и страшно. Для начала, так же, как мы делали в прошлый раз, поместим каплю припоя на одну из монтажных площадок и, поддерживая припой в расплавленном состоянии, правильно разместим слот для microSD-карты на плате (Рисунок Q).

c979204355e2112cecf217fac00ac932.jpg


Рисунок R

В верхней части этого слота имеются большие удобные отверстия. Через них можно проконтролировать правильность выравнивания контактов (Рисунок R). Если они выровнены неправильно — нужно разогреть припой на площадке, используемой для фиксации слота, и подвигать деталь до тех пор, пока контакты не совпадут с площадками. Затем нужно припаять всё то, что ещё не припаяно.

89dd759253603a6fdbe9c374e5e0449d.jpg


Рисунок S

Главная хитрость тут заключается в следующем: тонкую проволоку припоя прижимают к контакту, пропуская её через отверстие в верхней части слота, а жало паяльника подводят сбоку. Тут может пригодиться держатель для печатных плат. Плату можно просто поместить на краю стола, благодаря чему будет удобно работать паяльником.

f4d6117c40c4f5d8f95a30cac09f5bc5.jpg


Рисунок T

Проконтролировать правильность пайки контактов можно с помощью увеличительной лупы (Рисунок T).

5. Пайка коннекторов с использованием технологии поверхностного монтажа компонентов


К нашей плате нужно припаять семь коннекторов. Это — разъём для наушников, три порта STEMMA, два порта Feather и 24-пиновый коннектор для подключения дисплея.

Легче всего припаять разъём для наушников. У него имеется две пластиковых направляющих, под которые на плате имеется пара отверстий. Разъём нужно установить туда, где он должен быть. После этого нужно просто припаять четыре его вывода к плате.

Пайка портов STEMMA похожа на пайку интегральных микросхем. А именно, можно поместить немного припоя в опорной точке, выровнять порт, ориентируясь на линии, нанесённые на плату, а после этого припаять остальные выводы. Обратите внимание на то, что 4-пиновый порт должен быть в середине, а 3-пиновые порты — по обеим сторонам платы.

То же самое касается и Feather-портов. Сначала фиксируют один из углов порта, потом другой, потом проверяют правильность расположения детали, а уже после этого пропаивают остальные контакты. Полезно немного придавить порт сверху чтобы в итоге он был бы надёжно зафиксирован на плате.

4e2ee7ce9203e14df73a7508e97b640d.jpg


Рисунок U

И, наконец, приступаем к пайке 24-пинового коннектора. Это, пожалуй, самое сложное во всей нашей работе. Но, если под рукой есть приспособление для удаления припоя и флюс, вы без труда справитесь с пайкой этого коннектора. Сначала, как обычно, поместим каплю припоя на одну из двух крупных монтажных площадок, неважно — на какую именно. Потом нагреем припой и выровняем коннектор (Рисунок U).

66e3ff97bc987fa39f318b13d016d7a1.jpg


Рисунок V

Далее, используя увеличительную лупу, нужно проверить правильность выравнивания всех 24-х пинов. Понять, правильно ли они выровнены, довольно просто. Если между всеми контактами видна синяя поверхность платы — значит всё сделано как надо. Затем надо протянуть паяльник и припой по этим пинам и их припаять! Тут не помешает использовать немного флюса — чтобы припой пристал туда, куда он должен пристать (Рисунок V).

b9569cd7e9beecb83040e47ce1f05718.jpg


Рисунок W

24f28d83a0a63165800876dc154ae427.jpg


Рисунок X

Некоторые пины, что почти неизбежно, окажутся соединёнными перемычками припоя. Но это — совершенно нормально. Для того чтобы от них избавиться, надо почистить жало паяльника, поместить в проблемное место немного флюса (Рисунок W) и убрать перемычку с контактов (Рисунок X). Если перемычка достаточно велика, то убрать её поможет средство для удаления припоя.

Возможно, с первой попытки вы этот коннектор и не припаяете, но когда через некоторое время окажется, что между контактами нет перемычек, и что все они надёжно припаяны к плате, это будет означать, что наше дело близко к завершению.

6. Тестирование платы


Для того чтобы себя обезопасить, воспользуемся мультиметров для проверки линий 3V и GND на короткое замыкание. Переключим мультиметр в режим Continuity и коснёмся щупами контактов 3V и GND на порте Feather. Если раздастся звуковой сигнал — проверьте плату на предмет наличия на ней перемычек припоя, которые могут соединять линии 3V и GND. Если звука нет — это значит, что мы готовы к подключению к плате Feather M4!

cc33fd26e56c5838dbb21ed643f6f970.jpg


Рисунок Y

Осторожно извлеките хрупкий e-paper-дисплей из защитной упаковки. Подключите гибкий кабель дисплея, пропустив его через отверстие в плате, к соответствующему коннектору (Рисунок Y).

Переверните плату, постаравшись не повредить дисплей. Так вы сможете его видеть при работе с устройством. Подайте питание на Feather.

Загрузите скетч Open_Book_Screen_Test из примеров Open Book. Проверьте, чтобы была выбрана плата Feather M4, а после этого запустите скетч! Вы должны увидеть включение дисплея и вывод на нём логотипа проекта Open Book.

7. Пайка оставшихся частей


Отключите питание от платы, отсоедините шлейф дисплея от 24-пинового коннектора и уберите куда-нибудь дисплей.

Тут имеется одна перемычка, которую надо замкнуть с помощью припоя. Это позволяет включить Flash-чип. Найдите BCS-перемычку, которая находится около верхней части длинного Feather-порта, и замкните её каплей припоя.

Теперь займёмся кнопками! Вставьте их в соответствующие сквозные отверстия платы, поместив их в её передней части, а после этого припаяйте их контакты на задней части платы.

Теперь поместите переключатель в задней части платы, вставив его в соответствующее отверстие, после чего припаяйте его к передней части платы.

2917ac8ee722709cf7715c1d0a77b486.jpg


Рисунок Z

Теперь, в последний раз, пропустите шлейф дисплея через отверстие в плате и подключите его к 24-пиновому коннектору. Закрепите дисплей на передней части платы с использованием двустороннего скотча. Примите поздравления: сборка устройства завершена (Рисунок Z)!

8. Запись образа Babel на флэш-чип


Один из флэш-чипов E-Book FeatherWing предназначен для хранения языковой и шрифтовой информации. Сейчас он пуст. Когда вы загрузили библиотеку Babel, вы загрузили и двухмегабайтный BLOB-файл, содержащий сведения о том, как выводить тексты на всех существующих языках. Мы собираемся скопировать этот файл на microSD-карту, а затем запустить скетч, который запишет образ на Flash-чип.

2cc1d2a0f28594d4360b9c5fd084e383.jpg


Рисунок Aa

3050a1bd2ab06de6554c02064cfb34e7.jpg


Рисунок 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.

b8d71a0e2c5efe55bd4439eae2498a51.jpg


Рисунок Cc

Перейдите по пути File > Examples > Open Book и запустите скетч Open_Book_MVBook. На экране должен появиться список названий книг и авторов. В левой части должен быть виден индикатор выбора книги (Рисунок Cc). Используйте кнопки со стрелками «вверх» и «вниз» для выбора книги, подтвердите выбор центральной кнопкой. В режиме чтения (Рисунок Dd ниже) используйте кнопки, находящиеся в левом и правом нижних углах платы для листания страниц. Для возврата в главное меню воспользуйтесь центральной кнопкой.

7e67961402543e897b332e86b4b4a508.jpg


Рисунок 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?

8xzqbhb0at3_pjylb5c4366w_t8.png

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru