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

Вдохновение пришло случайно. Наши друзья подарили Алисе книжку с аудио — «Мой первый Вивальди». «Ах, как это мило», — сказал мой внутренний голос интонацией Эрика Картмана. А почему бы мне не сделать свою книжку с преферансом и куртизанками? Например, «Мой первый Король и Шут». Получилось не совсем для детей, но я надеюсь, что придёт день и дочь её оценит.

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

  1. Концепт и иллюстрации (много текста и картинок)

  2. Электронная часть книги (больше текста)

  3. Сборка книги (ещё картинки)

  4. Что же получилось? (финальное видео и несколько фото)

❯ Концепт и иллюстрации

Рассмотрим вдохновившую меня книжку. Там сюжетно мелодии объединяются временами года, а затем есть ещё пара не особо связанных произведений. Мне же хотелось соединить всё в единое повествование. Начал я с выбора песен. Я, честно говоря, не могу назвать себя ярым фанатом КиШа, поэтому знаю далеко не все их песни, а только самые известные. В голову сразу пришли «Дурак и молния», «Камн��м по голове» и «Хозяйка старинных часов». В целом, в них не происходит ничего особенно ужасного, и они вполне подходят для детской книжки.

Так выглядит «Мой первый Вивальди». Спереди несколько страниц, сзади более толстый блок с электроникой
Так выглядит «Мой первый Вивальди». Спереди несколько страниц, сзади более толстый блок с электроникой

Сюжетно книжка мне виделась так: начало — отец, рассказывающий ребёнку «сказки» на ночь. Ребёнок — девочка, чтобы моя дочь могла себя с ней ассоциировать. Но трёх историй показалось маловато, поэтому пришлось переслушать наиболее популярные песни из тех, что я более-менее знаю. Выбор пал на недетские «Охотник» и «Лесник».

Идея была следующая: если дальше первого куплета с припевом не идти, то вполне годится, а как там всё было на самом деле, девочка узнает потом, если захочет. В любом случае проигрывать весь трек полностью не стоит — слишком длинно. Кроме того, в «Охотнике» поётся про пять кровавых тел, однако ничего не говорится о том, сколько мужиков было изначально. А в «Леснике» песня поётся от первого лица, что как бы намекает на то, что рассказчик каким-то чудом выжил. Это даёт мне возможность предположить, что в принципе все эти истории могут быть связаны с одним и тем же человеком. В «Дураке и молнии» он просто случайный свидетель, в «Камнем по голове» — зашёл на праздник, в «Хозяйке» — покупатель часов, в «Охотнике» — один из мужиков, а с «Лесником» и так всё понятно. Вот, в принципе, и весь сюжет.

Теперь, собственно, книжка. План был такой: нужно пять страниц-иллюстраций к песням, плюс страница-введение и страница с окончанием.

Первым делом я нарезал куски песен, которые хочу проигрывать. Для этого я использовал программу Audacity. На этом этапе ничего сложного не было, за исключением мук выбора: что отрезать, а что оставить. У «Лесника», например, очень длинный проигрыш в начале, что совсем непозволительно для книжки. Благо там есть несколько мест, где его можно безболезненно сократить. Правда, у «Хозяйки» аналогичный кусок убрать не удалось — таких мест я там не нашёл.

Изобразительный ряд я бы сам, конечно, не осилил. Рисовать я немного умею, но скорее срисовывать. Пришлось прибегнуть к помощи ChatGPT. С ним у меня было не всё гладко. Я хотел, чтобы рассказчик с виду напоминал Горшенёва (он же реальный рассказчик) с его сценической причёской, а чат не любит, когда пытаешься сделать кого-то слишком похожим на реального человека. Я, вообще-то, за реализмом не гнался и на сходстве не настаивал. Но чат мне всё же выдал картинку, причём в стилистике классической живописи, которая мне пришлась по душе.

Сейчас будем убалтывать
Сейчас будем убалтывать

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

Уложил и хорошо
Уложил и хорошо

Затем пришла очередь иллюстрировать песни. Начал по порядку с «Дурака и молнии». Идея была в том, что рассказчик заходит в село переждать грозу и видит странное действо, описываемое в песне. Он интересуется у народа, что происходит, и именно это нужно было отразить на картине. Это, пожалуй, была иллюстрация с наибольшим количеством неудачных дублей. Чат упорно не понимал, куда девать главного героя, куда должна смотреть толпа, а также куда должен бежать парень.

Неудачные картинки
Ужас как есть
Ужас как есть
Не то чтобы плохо, но герой уж слишком выделяется из толпы
Не то чтобы плохо, но герой уж слишком выделяется из толпы
Блин, эти руки... Да и плетень какой-то стрёмный
Блин, эти руки... Да и плетень какой-то стрёмный
Тоже ничего, но у парня, что бежит ловить молнии, нет сумки, и опять герой слишком выделяется
Тоже ничего, но у парня, что бежит ловить молнии, нет сумки, и опять герой слишком выделяется
Толпа смотрит вся на героя почему-то
Толпа смотрит вся на героя почему-то
Парень без сумки, а герой вроде сам бежать куда-то задумал
Парень без сумки, а герой вроде сам бежать куда-то задумал
Вроде неплохо, хотя парень бежит явно с не одной сумкой, видимо, серьёзно рассчитывает на успех. Народ смотрит не туда, куда надо
Вроде неплохо, хотя парень бежит явно с не одной сумкой, видимо, серьёзно рассчитывает на успех. Народ смотрит не туда, куда надо
Тут и парень не туда бежит, и народ не туда смотрит
Тут и парень не туда бежит, и народ не туда смотрит
Окончательный вариант
Окончательный вариант

Затем пришёл черёд «Камнем по голове». Тут всё шло более-менее, но вот строку «цилиндр чёрный смят в гармошку» чат откровенно не тянул. Пришлось поискать по сети арт к песне и дать картинку-образец. Сначала я думал просто поставить героя в толпу, но потом всё же пришёл к выводу, что лучше, чтобы к Бродяге обратился именно он.

Неудачные картинки
Забыл указать альбомный формат + героя нет, не цилиндр у него на голове и не под ноги смотрит
Забыл указать альбомный формат + героя нет, не цилиндр у него на голове и не под ноги смотрит
Непонятно к кому обращается герой, странные размеры действующих лиц
Непонятно к кому обращается герой, странные размеры действующих лиц
Герой опять мелковат, да и цилиндр не смят в гармошку
Герой опять мелковат, да и цилиндр не смят в гармошку
Слишком современно выглядит герой
Слишком современно выглядит герой
Мутновато и герой опять мелковат
Мутновато и герой опять мелковат
Как можно быть таким несчастным?
Как можно быть таким несчастным?

Хозяйку часов я не очень представлял как иллюстрировать. По идее, стоило бы показать особняк у чёрта на куличках среди «жутких лесов», но тогда было непонятно, как показать самое важное — часы. В итоге я решил показывать внутренности особняка, хозяйку и гостя. Очень сложно было заставить героя смотреть в более-менее правильном направлении. Хозяйка, правда, вышла хороша. За неё я получил от жены затрещину, на мой взгляд — не вполне заслуженную.

Неудачные картинки
Опять формат, никто ни на кого не смотрит, скучные часы
Опять формат, никто ни на кого не смотрит, скучные часы
Часы лучше, но в остальном то же самое
Часы лучше, но в остальном то же самое
Лучше, но зачем герой рассматривает потолок?
Лучше, но зачем герой рассматривает потолок?

В самой песне кроется небольшая проблема с часами. Там поётся: «висели над камином старинные часы». Обычно часы на камине стоят, а не висят над ним — исторических образцов уйма. С другой стороны, там же далее поётся, что они давно стоят. Ну раз стоят, то пусть стоят — собственно, чат это и изобразил.

После этого я приступил к иллюстрации «Охотника». Тут всё, в принципе, почти сразу концептуально удалось. Были небольшие мелочи с руками и количеством остальных мужиков, а также, как ни странно, с ружьём охотника. Почему-то чат не знает, как выглядит к��емнёвое ружьё.

Неудачные картинки
Это сумка или голова? Мужиков много, ружьё — какая-то вундервафля
Это сумка или голова? Мужиков много, ружьё — какая-то вундервафля
Мужики норм, но их руки — нет. Ружьё по-прежнему — вундервафля
Мужики норм, но их руки — нет. Ружьё по-прежнему — вундервафля
Ружьё — норм, но висит в воздухе
Ружьё — норм, но висит в воздухе
Ружьё лежит на сумке, ок, но тут мне подумалось изменить причёску Г.Г., плюс он точно в центре картины, а это плохо — его лицо попадёт точно на сгиб картинки
Ружьё лежит на сумке, ок, но тут мне подумалось изменить причёску Г.Г., плюс он точно в центре картины, а это плохо — его лицо попадёт точно на сгиб картинки
А в доме шло веселье и гульба
А в доме шло веселье и гульба

За то, что я посадил всех действующих лиц с одной стороны стола, я получил вторую затрещину от жены. Тут, наверное, уже заслуженную. Тут ведь вообще по сюжету книги всё наоборот — главный герой не то что не спаситель, а единственный спасшийся.

Кроме этого, мне хотелось изобразить некоторую метаморфозу главного героя. Если в первых историях он ещё совсем юный, и его волосы ухожены и просто спадают на плечи, то после «Камнем по голове» и «Хозяйки часов» он уже повидал некоторое дерьмо, и его волосы становятся всё более и более растрёпанными, превращаясь в ту самую причёску а-ля Горшок, которую мы видели на первой странице.

И, наконец, «Лесник». Вроде всё просто, но снова чат не понимал ни с причёской, ни с тем, кто должен стоять в дверях.

Неудачные картинки
Причёска должна быть растрёпаннее!
Причёска должна быть растрёпаннее!
Time paradox?
Time paradox?
Да, я заказывал панковскую причёску, но бока брить не заказывал. Старика хотелось с бородой подлиннее и не лысого
Да, я заказывал панковскую причёску, но бока брить не заказывал. Старика хотелось с бородой подлиннее и не лысого
С улыбкой добродушной старик меня впустил
С улыбкой добродушной старик меня впустил

В целом изображениями я доволен, хотя и не идеально. Да, первые две иллюстрации к песням имеют стилистику, отличающуюся от последующих, но этому можно найти объяснение: всё это — то, как воображение дочери рисует папины истории. А оно не обязано делать это одинаково. Знаю, что звучит как оправдание, так ведь это оно и есть, ха.

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

Немного не для детской книжки (скачано из сети)
Немного не для детской книжки (скачано из сети)

Но для детской книжки она, разумеется, не годится. Поэтому я попросил чат сделать её помилее. Он выдал совсем уж слащавый вариант:

Слишком мило
Слишком мило

Я попросил сделать чуть хардкорнее. Результат мне понравился, и я решил добавить пару надписей.

Вот — другое дело!
Вот — другое дело!

Кроме этого, нужен был фон, над которым я решил особо не заморачиваться, и попросил нарисовать ромбы бордового и коричневого цветов. Чуток повоевав с чатом на тему их правильного расположения, я получил итоговый вариант:

Инфа о песнях сдвинута потому, что слева будут отверстия под динамики. На самом деле, эта конфигурация обложки родилась существенно позже — уже когда был корпус электроники, но это мелочь
Инфа о песнях сдвинута потому, что слева будут отверстия под динамики. На самом деле, эта конфигурация обложки родилась существенно позже — уже когда был корпус электроники, но это мелочь

Пришло время написать текст книги. Теперь, зная размеры всего, можно было смотреть, как разместить на странице рисунок и текст. Так как рисунок по идее должен быть на развороте и занимать две страницы, текст можно расположить только снизу. Я сначала решил было, что он должен быть тёмным на отдельном светлом поле, чтобы хорошо читался, но меня отговорила моя хорошая подруга, которая посоветовала сделать фон тёмным, а текст — наоборот, чтобы визуально «собрать» страницу. Ольга — спасибо! Также текст должен быть достаточно крупным и в то же время помещаться (я выбрал 14 размер в качестве компромисного). В любом случае, читать это предстоит в первую очередь мне, а уж потом дочке, когда чуток подрастёт.

Готовые страницы с текстом

На самом деле результатом я не вполне доволен. Слишком много места занимает текст, он съедает часть изображения и при этом всё равно мелковат, но на странице больше просто не влезает. Тут два варианта: либо увеличить формат страницы, но тогда придётся печатать не на А4, что увеличивает стоимость предприятия (дома не напечатать обложку, да и страницы тоже), либо делать картинку не на развороте, а на одной странице, с текстом на про��ивоположной. Но в обоих случаях пришлось бы всё переделывать, что по времени уже было неприемлемо. Вообще, планировать надо было лучше, но я делал такую штуку в первый раз и плохо представлял себе, какой она должна быть.

❯ Электронная часть книги

Параллельно я делал техническую часть проекта. Было принято решение использовать DF-MP3-плеер для воспроизведения треков и микроконтроллер Atmega8 с ардуиновским загрузчиком. В качестве датчиков для определения трека я рассматривал два варианта магнитных устройств — датчики Холла из компьютерных кулеров и герконы. Поиск по интернету убедил меня, что герконы срабатывают с больших расстояний, чем кулерные датчики. Это важно, так как магниты будут спрятаны непосредственно в картоне страниц (2 мм каждая), а книга будет довольно толстой. Кнопочные датчики я не рассматривал в принципе (хотя в книге «Мой первый Вивальди» стоят как раз такие) потому, что опасался за целостность проводов, идущих от них. К тому же в случае установки кнопок извлечение платы и исправление чего-либо было бы сильно сложнее.

Итак, я остановился на мелких нормально разомкнутых герконах, которые у меня остались со времён конструирования шахматного робота (может, я всё-таки напишу статью и про него). Предварительный тест показал, что действительно геркон достаточно далеко чувствует магнит 10×2 мм, который я хотел вставлять в страницы. Это обнадёжило, так как времени на заказ дополнительных деталей уже не было.

Схемы Fritzing рисует как-то криво, но тут хотя бы модуль плеера есть
Схемы Fritzing рисует как-то криво, но тут хотя бы модуль плеера есть

Атмега была выбрана потому, что у меня есть некоторый запас этих микроконтроллеров, плюс была одна уже б/у из другого самодельного устройства. Она предполагалась к использованию с внутренним генератором, без кварца, чтобы уменьшить количество деталей. К ней подключается вся периферия — шесть герконов, плеер, делитель напряжения для определения низкого заряда батарей и транзистор, который выключает питание схемы, однако о нём позже. Кроме этого, отдельно есть кнопка запуска мелодии. Изначально задумка была, что при её нажатии МК определяет, какая страница открыта, и даёт сигнал плееру играть нужный трек, без неё ничего не играет. Потом её функция немного изменилась.

Плеер, в свою очередь, имеет встроенный усилитель, к которому можно подключить динамики 4-8 Ом. У меня нашлось некоторое количество былого богатства, жаль, что большую часть ноутбучных запчастей я выкинул при переезде.

Я выбрал нижний блок как самый тонкий
Я выбрал нижний блок как самый тонкий

Разберёмся теперь с периферией. Так как схема запитана от батареек, их надо экономить. Плеер спать умеет плохо и в неактивном ре��име жрёт 20 мА, что неприемлемо. Поэтому сначала я хотел было выключать ему питание, а атмегу загонять в глубокий сон. Но ничем хорошим это не закончилось: плеер играл один трек, а потом отказывался нормально работать. И я перешёл к варианту реле времени, встроенного в код МК, которое отключает питание у всей схемы. Это решение неоптимальное, так как МК может зависнуть — что один раз-таки случилось, — и в таком состоянии он будет медленно высаживать батареи.

Чтобы избежать подобной ситуации, можно либо сделать отдельное аналоговое реле времени на транзисторе, конденсаторе и резисторе, либо использовать watchdog timer в коде контроллера. Ни того, ни другого я пока не сделал, хотя, в принципе, могу. По крайней мере таймер можно будет безболезненно запилить позже. Я не бог весть какой спец по программированию МК, и в этом пришлось бы разбираться, а времени на это не было, поэтому пока пусть живёт так. Технически силовая часть реле реализована на PNP-транзисторе, управляемом через NPN-транзистор. Был бы у меня P-канальный MOSFET логического уровня — взял бы его для уменьшения потерь, но увы.

В итоге схема работает по следующему принципу: кнопка пуска даёт питание на схему, потом контроллер «схватывает», и питание идёт, пока плеер не закончит играть. Далее я решил добавить индикатор разряда батарей. По задумке, когда батарейки садятся, но всё ещё пригодны, при нажатии кнопки запуска должен играть особый трек «Наутилуса» — кусок припева: «Эта музыка будет вечной, если я заменю батарейки…». И там вроде бы всё просто, но пока этот функционал, скорее всего, работать не будет. Проблема в том, что по логике схема сначала измеряет напряжение, потом включает плеер и играет. И если напряжение нормальное, то ничего не произойдёт. А напряжение будет нормальным потому, что просаживается оно уже после того, как плеер начинает потреблять существенный ток. А когда неприемлемое напряжение будет уже в начале работы, то при подключении плеера оно просядет настолько, что играть он уже не будет. То есть, по-хорошему, это значение надо писать в постоянную память контроллера и при включении проверять. Вроде бы всё просто и логично, но времени протестировать это не было, поэтому оставлено до следующего раза как есть.

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

И, разумеется, к МК подключается плеер. Кроме пинов RX и TX я подключил ещё и пин Busy, чтобы выключать схему по завершении трека. Однако, чтобы выключить контроллер наверняка, я дополнительно использовал таймер на 80 секунд, по срабатывании которого схема обесточивается.

Думаю, тут имеет смысл привести весь код устройства, чтобы исключить вопросы по логике работы.

include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>
#include <SmartDelay.h>

#define REED1        8
#define REED2        9
#define REED3        10
#define REED4        11
#define REED5        12
#define REED6        13
#define BAT_ADC_PIN A0
#define BAT_LOW_ADC 500
#define LATCH        15 // защёлкивание PNP транзистора
#define BUSY         16

SoftwareSerial mp3Serial(3, 4); // RX, TX
DFRobotDFPlayerMini mp3;
SmartDelay fin(80000000UL); // в микросекундах

void setup() {
  pinMode(LATCH, OUTPUT);
  digitalWrite(LATCH, HIGH); // Держим питание схемы
  pinMode(REED1, INPUT_PULLUP);
  pinMode(REED2, INPUT_PULLUP);
  pinMode(REED3, INPUT_PULLUP);
  pinMode(REED4, INPUT_PULLUP);
  pinMode(REED5, INPUT_PULLUP);
  pinMode(REED6, INPUT_PULLUP);
  pinMode(BUSY, INPUT);
  int page = 0;
  if (digitalRead(REED1) == HIGH) page = 1;
  if (digitalRead(REED2) == HIGH) page = 2;
  if (digitalRead(REED3) == HIGH) page = 3;
  if (digitalRead(REED4) == HIGH) page = 4;
  if (digitalRead(REED5) == HIGH) page = 5;
  if (digitalRead(REED6) == HIGH) page = 0;
  int adc = analogRead(BAT_ADC_PIN);
  if (adc < BAT_LOW_ADC) {
    page = 6;   // батареи "сдохли"
  }

// Играем песню
  mp3Serial.begin(9600);
  delay(1000);
  if (!mp3.begin(mp3Serial)) {
    while (true);
  }
  mp3.volume(22);

  if (page == 0){
    digitalWrite(LATCH, LOW); // Выключаем, если не открыта ни одна страница с песней
    delay(1);
  }
  else {
    mp3.play(page);
  }
  delay(3000);
}

void loop() {
  if (fin.Now()) {
    digitalWrite(LATCH, LOW); // Отпускаем питание по таймеру
  }
  if (digitalRead(BUSY) == HIGH) {
      digitalWrite(LATCH, LOW); // Отпускаем питание по пину busy плеера
  }
}

Всё электронное безобразие было смонтировано на макетной плате, так как мне подумалось, что, во-первых, я что-то могу потом поменять (я дофига чего поменял), а во-вторых, это просто быстрее.

Герконы на другой стороне, там, где соответствующие цифры 1–6
Герконы на другой стороне, там, где соответствующие цифры 1–6

Когда всё было спаяно, наступил процесс отладки. Здесь меня порядком помучил плеер. Оказалось, что это чертовски капризная штука. Мало того, что ему нужно, чтобы файлы назывались в формате 0001.mp3, 0003.mp3 и так далее, но даже в этом случае нет никакой гарантии, что, вызвав, скажем, пятый файл, будет проигран именно 0005. Дело в том, что эта зараза не особо смотрит на имя файла, а учитывает порядок записи в своей файловой таблице, в которой этот порядок может отличаться. Может даже быть так, что вроде бы нужный файл начинает проигрываться, а потом внезапно подмешивается кусок другого файла — просто потому, что так было записано на карту. Плюс ко всему далеко не каждая карта работает.

В остальном схема заработала вполне удовлетворительно, потребляя до 0,1 А при проигрывании музыки на 2/3 громкости. В отключённом режиме ток потребления замерить не удалось, если он есть, то он выходит за пределы измерения прибора Ц4317 (менее 10 мкА).

Для электронной начинки нужно было сделать корпус, который я решил делать из тонкой фанерки, потому что к ней легко клеятся бумага и картон. Однако для этого сначала надо было определить, насколько большим его можно сделать, а для этого — прикинуть, какого размера можно напечатать обложку книги. Чтобы это сделать, нужно знать толщину и количество страниц, а также толщину схемы и стенок корпуса. В самом толстом месте схема занимает 11 мм, плюс по 3 мм на слой фанеры с каждой стороны. Выходит, что корпус займёт 17 мм. Много, но сойдёт.

Страницы — каждая по 2 мм, всего 7 штук. Учитывая все эти параметры, у меня получилось 31 мм. Тут, правда, я не учитывал, что фотобумага, на которой будет печататься картинка, тоже что-то внесёт, как выяснилось позже, я ошибался. Накинув ещё 4 мм на изгиб корешка, я получил чертёж обложки с корешком. Принимая во внимание, что поля принтера с каждой стороны будут около 10 мм, получилось, что максимальные размеры страницы составляют 122×190 мм.

После того как все основные прикидки были сделаны, я начал изготовление частей книжки. Начал с того, что вырезал из 3-мм фанеры крышки корпуса и боковые стенки. Эти стенки я сразу приклеил к одной из крышек. Для крепления платы я напечатал на 3D-принтере салазки, куда она должна вставляться. Их я приклеил в корпус при помощи эпоксидной смолы. С правой стороны между салазками и стенкой корпуса образовался отсек для трёх батареек AAA. Он занимает не всю длину корпуса — в верхней части осталось место для толкателя кнопки пуска.

Корпус с салазками и батарейным отсеком
Корпус с салазками и батарейным отсеком

Чтобы уменьшить расстояние от магнитов до герконов, я сделал салазки так, что герконы оказались на один миллиметр ниже уровня дна корпуса. Разумеется, плата бы так не влезла, поэтому я удалил полоски шпона в местах установки герконов и там, где припаян микроконтроллер (там довольно длинные пины, а также есть головки винтов концевика, тоже весьма толстые). Теперь можно примерить плату.

Плата внутри корпуса; видно снятый шпон в местах пайки герконов и МК. Для вставки платы, лапку концевика надо чуть подогнуть, вытаскивать можно просто потянув
Плата внутри корпуса; видно снятый шпон в местах пайки герконов и МК. Для вставки платы, лапку концевика надо чуть подогнуть, вытаскивать можно просто потянув

В нижней части салазок предусмотрены отверстия для резьбовых вставок под винты М2. При помощи паяльника я их туда вплавил. Они нужны для крепления крышки корпуса, которая закрывает также и батарейный отсек. У крышки есть ещё пара функций. Во-первых, она подпирает плату от случайного смещения (что, на самом деле, маловероятно — салазки весьма тугие), во-вторых, на ней установлен выключатель питания, который всё же нужен, даже учитывая практически нулевое потребление схемы в режиме ожидания, и в-третьих, там расположен минусовой контакт-пружинка.

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

Финал работ с нутром корпуса; видно первый вариант плюсового контакта — длинный красный провод, припаянный к куску никелевой ленты. Он оказался неудачным — очень малая жёсткость, неудобно вставлять. Был заменен на просто кусок никелевой ленты, изогнутой по радиусу батареек и подпаянный буквой Г на конце. Получилось жёстко и удобно
Финал работ с нутром корпуса; видно первый вариант плюсового контакта длинный красный провод, припаянный к куску никелевой ленты. Он оказался неудачным очень малая жёсткость, неудобно вставлять. Был заменен на просто кусок никелевой ленты, изогнутой по радиусу батареек и подпаянный буквой Г на конце. Получилось жёстко и удобно

Теперь почти всё готово, чтобы приклеить вторую половину корпуса — осталось только вырезать в ней отверстия под динамики. Резал при помощи лобзика, получилось криво, но это неважно, так как эти отверстия будут закрыты декоративными крышками, напечатанными на 3D-принтере, которые скроют все огрехи.

Склейка корпуса. Клеил на эпоксидку (салазки) и ПВА (стенки) одновременно
Склейка корпуса. Клеил на эпоксидку (салазки) и ПВА (стенки) одновременно

Корпус практически готов (один маленький момент я объясню позже), теперь займёмся страницами. Как я уже говорил, страницы я собрался делать из картона толщиной 2 мм. В этот картон нужно вклеить неодимовые магниты диаметром 10 мм и толщиной, аналогичной картону. Для проделывания отверстий под магниты я использовал сверла по дереву — они довольно аккуратно подрезают край, и после обработки бритвенным лезвием результат выходит почти идеальный. Магниты вклеивал обычным суперклеем.

Сверлим и обрезаем
Сверлим и обрезаем

По изначальной задумке на каждый геркон полагался один магнит. Для наилучшего срабатывания магнит должен располагаться не чётко напротив середины геркона, а так, чтобы центр магнита находился примерно в районе начала спая стекла с металлом. Однако при тестировании оказалось, что одного магнита иногда всё же недостаточно, и для гарантированного срабатывания нужно ставить два. При этом важна полярность: м��гниты должны располагаться не одинаково (например, северный полюс у обоих сверху), а попеременно (что у одного сверху, то у другого снизу). Если сделать наоборот, работать не будет. Я не очень большой специалист по магнетизму, но думаю, что таким образом линии магнитного поля проходят от одного полюса к противоположному полюсу другого магнита, замыкаясь через геркон. Поэтому и работает.

Была ещё одна проблема. Даже двух магнитов оказалось недостаточно для срабатывания геркона №1 — того, который, если замкнут, то плеер не играет (книга закрыта или открыта страница введения). Дело в том, что магниты у меня были хоть и неодимовые, но не самые мощные. Пришлось заказать с Амазона магниты N52 аналогичных размеров. Для тех, кто не в курсе, так обозначается класс магнита (его сила, грубо говоря). Обычно, если класс не указан, что актуально для магнитов, использованных ранее, то, скорее всего, это N35. Магниты получше у меня есть — вытащил я их, кажется, из крышек ноутбуков, — и они даже хорошо работают, если приложить их в нужном месте страницы. Но все они ощутимо толще, что делает их непригодными.

Играясь со свежекупленными магнитами, я сразу же угробил один из них, так как они очень хрупкие. Достаточно лишь дать притянуться одному из них к основной стопке примерно с 10 мм, чтобы он разбился вдребезги. Помимо второй страницы, где без N52 было никак, я также установил их на всякий случай и на третью страницу.

Вроде бы всё готово к наклейке иллюстраций? Нет, не совсем. Дело в том, что мой алгоритм определения страницы не гарантирует правильности выбора трека, если книга будет открыта или приоткрыта в двух местах. А ведь такое вполне возможно, особенно если учитывать, что для размыкания геркона большого расстояния не требуется. Поэтому нужно затруднить открытие страниц. Для этого повесим страницы на ржавые петли, поместим дополнительные магниты внизу каждой страницы так, чтобы они слипались между собой и в итоге прилипали к корпусу электронной начинки. Вот это-то и есть та самая маленькая недоделка корпуса — магнит я в него вклеить забыл. Поэтому я просверлил коробку тем же сверлом по дереву и вклеил туда недостающий элемент на эпоксидку. Почему я сразу не сделал так? Потому что, как известно, хорошая мысля приходит опосля. Когда эпоксидка застыла, я покрасил корпус в чёрный цвет. На корпус полностью обложка не налезет (с боков просто не хватит длины), поэтому оставлять голую фанеру нельзя — она будет слишком сильно выделяться из цветовой гаммы. На этом работы по корпусу были точно завершены.

Покрашенный корпус, виден удерживающий магнит. Вот теперь вроде бы всё готово
Покрашенный корпус, виден удерживающий магнит. Вот теперь вроде бы всё готово

❯ Сборка книги

Этот этап я начал с распечатки иллюстраций. Печатал дома на новом принтере Epson ET-2865, который купил в качестве совместного подарка себе и жене на Рождество. Для распечатки использовал фотобумагу плотностью 120 г/см3. Это очень тонкая фотобумага, для нормальных фото она не очень хороша, т.к. при качественной печати её коробит от количества чернил, но при наклейке на картонную страницу она хорошо разглаживается и не слишком толста.

Иллюстрации готовы к наклейке
Иллюстрации готовы к наклейке

Небольшой опыт в переплёте книг у меня имелся, и, чтобы победить коробление страниц, я решил в этот раз использовать клей в виде спрея. Использовать его просто — наносим, ждём подсыхания, совмещаем и сдавливаем поверхности, однако есть побочные эффекты — клей будет абсолютно везде куда попадёт аэрозоль. И он не сохнет. То есть всё вокруг будет липким и бумагу, которую я использовал для защиты мест, где клея быть не должно, приходилось выкидывать.

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

Обложка размечена, усиление подготовлено
Обложка размечена, усиление подготовлено

Затем я начал наклеивать обложку на нулевую страницу. Начинать надо было с этого этапа потому, что далее вводная иллюстрация будет наклеена поверх клапанов обложки, загнутых вовнутрь, чем перекроет их, сделая невидимыми.

Обложка наполовину наклеена, вторая половина клеится в самом конце
Обложка наполовину наклеена, вторая половина клеится в самом конце

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

Промежуточный результат — наклеены иллюстрации к введению и двум песням
Промежуточный результат — наклеены иллюстрации к введению и двум песням

Затем, когда иллюстрации были наклеены, пришло время соединить их с корпусом электроники и наклеить вторую половину обложки.

Финальная иллюстрация уже приклеена, осталась обложка
Финальная иллюстрация уже приклеена, осталась обложка
И вот, книга, по сути собрана, однако, работа не завершена
И вот, книга, по сути собрана, однако, работа не завершена

Теперь пришёл черед защитной плёнки. Она очень тонкая (50 микрон), легко клеится и должна предохранить обложку от истирания. На всякий случай я решил сначала потренироваться в её наклейке. Для этого я использовал «пробник» на котором я уже испытывал приёмы, используемые в изготовлении этой книги — наклейка иллюстраций на картон, наклейка обложки и т.д. Получилось, в целом, хорошо — я боялся пузырей, но они не образовывались.

Клею плёнку
Клею плёнку

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

Вырезаем отверстия канцелярским ножом, особая аккуратность не нужна
Вырезаем отверстия канцелярским ножом, особая аккуратность не нужна

И, чтобы эти отверстия выглядели хорошо, я напечатал заглушки, в которые я вклеил на эпоксидку нержавеющую сетку. Заглушки состоят из двух частей — лицевая и внутренняя. Сетка зажимается и вклеивается между ними. Затем уже вся заглушка вклеивается в отверстие.

Заготовки к заглушкам
Заготовки к заглушкам

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

Процесс наклейки
Процесс наклейки

Надо сказать, что работать с этой фольгой непросто. Она ужасно гибкая, легко цепляет статический заряд, липнет ко всему или наоборот — отталкивается. А после наклейки, при удалении лишнего образует огромное количество мелких кусочков, которые, наверное, ещё долго будут присутствовать в моей мастерской — убрать их почти невозможно. Чтобы их не становилось больше со временем, поверх золота я нанес слой лака.

Нанесение лака на золотой слой
Нанесение лака на золотой слой

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

Прикрепление ленты к толкателю
Прикрепление ленты к толкателю

❯ Что же получилось?

Вышло, в целом, неплохо. Есть, конечно, огрехи. Самый неприятный — то, что из-за усиления корешка картонкой при открытии последних страниц книги корешок норовит оторвать обложку от корпуса блока электроники. Я надеялся, что защитная плёнка хоть немного поможет с этим, но эффект от неё невелик. Далее, огромное количество мелких хлопьев сусального золота, удалить которые полностью не вышло. Но это даже и неплохо, есть в этом какой-то шарм. Кроме этого, я довольно глубоко посадил выключатель питания и его нелегко, хотя и можно, выключить/включить ногтем. Надо было сделать паз для удобства. При наклейке защитной плёнки получилось криво и я не подрезал её в некоторых местах. А ещё не додумался защитить обложку во время работ с остальной книгой, поэтому на ней образовались вмятины и мелкие царапины, которые теперь остались под плёнкой. Магниты, что я вклеивал для «слипания» страниц, оказались чрезмерно сильны, надо было ставить поменьше, но ничего другого не было.

Вообще даже удивительно, что книга адекватно работает, ведь я забыл учесть толщину фотобумаги, это дало 2,5 лишних миллиметра (больше, чем страница), что значительно, принимая во внимание, что мне пришлось ставить магниты N52 на первые, самые дальние от блока электроники, страницы книги.

Ну, да хватит трепаться, вот видео с результатом:

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

Ещё несколько фото готовой книжки

Отдельно хочу выразить благодарность группе «Король и Шут» за замечательные песни, с которыми прошли мои детство и юность!


Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале 

Перейти ↩