Идеальный подарок: от идеи до реализации Bluetooth-колонки в виде головы Бендера
Давайте знакомиться!
Меня зовут Артём, и я занимаюсь созданием или адаптацией различных технологичных (и не очень) устройств. Это моя первая статья, и я долго шёл к её написанию, преодолевая неуверенность. Желание поделиться опытом и, возможно, помочь кому-то в реализации своих проектов оказалось сильнее сомнений. Итак, вот моя история.
Как всё началось
Однажды я наткнулся на ролик от @AlexGyver на YouTube, где он создавал интернет-радио в виде головы Бендера. В тот момент меня застала моя девушка, которой так понравилась идея, что она попросила сделать нечто подобное для её старшего брата.
Мне эта затея тоже показалась интересной, и я сразу приступил к работе. Мы решили, что устройство будет Bluetooth-колонкой: слушать музыку с телефона, на мой взгляд, гораздо удобнее, чем через интернет-радио. Тем более, модуль ESP32, использованный в проекте, уже поддерживал Bluetooth. Оставалось лишь немного доработать прошивку.
Я подумал, что кто-то мог уже решить эту задачу. Как говорил Исаак Ньютон: "Если я видел дальше других, то потому, что стоял на плечах гигантов" И действительно, я нашёл готовое решение, которое смог адаптировать под свои задачи. Однако это было лишь начало: впереди меня ждала долгая, но увлекательная работа.
Этап первый. Печать корпуса
Первым шагом стало создание корпуса головы Бендера. Для этого я использовал свой проверенный 3D-принтер Ender 3 Pro, модернизированный экструдером Creality Sprite Pro и датчиком автоуровня Creality CR Touch.
Перед началом печати я быстро прикинул, какие компоненты буду использовать, как организую питание и насколько сильно придётся модифицировать корпус. Решение запитать устройство через USB Type-C оказалось удачным: корпус не пришлось дорабатывать, так как удалось найти разъёмы, которые идеально подошли к готовым отверстиям.
Для подготовки моделей я использовал PrusaSlicer, хотя в последнее время присматриваюсь к OrcaSlicer. Главное — не забыть про поддержки: однажды я это упустил, и деталь получилась далёкой от задуманного.
Для печати я выбрал недорогой серый PLA-пластик от HI-Tech-Plast. Несмотря на противоречивые отзывы, материал полностью справился с задачей. В других проектах я также использовал филамент этой фирмы и лишь однажды столкнулся с проблемой — пластик оказался перепутанным, из-за чего пришлось начинать печать заново.
Настройки печати:
• Высота слоя: 0,28 мм.
• Температура сопла: 210°C.
Печать всех деталей, включая антенны, визор и подставки, заняла около 20 часов.
Постобработка
После печати начался этап постобработки, включавший:
1. Удаление поддержек.
2. Шлифовку наждачной бумагой для устранения неровностей.
3. Финальную обработку для придания поверхности гладкости и блеска.
С обработкой дихлорэтаном нужно быть очень осторожным: вещество токсично, поэтому работать следует в хорошо проветриваемом помещении, используя респиратор с фильтром марки В1 и полипропиленовые перчатки.
Я наношу дихлорэтан кисточкой или обрабатываю поверхность пропитанной тряпочкой. Иногда использую метод "дихлорэтановой бани" для равномерной обработки сложных деталей.
Корпус был полностью готов. Теперь можно переходить к подбору электронных компонентов и созданию печатной платы.
Этап второй. Подбор и заказ компонентов
Вот список всех компонентов и их примерная стоимость на конец 2024 года, включая печать корпуса:
Компонент ---------- | Количество | ---------- Стоимость (руб.)
ESP32 TYPE-C ---------- | 1 | ---------- 214
Rotary Encoder Module ---------- | 1 | ---------- 109
PCM5102A DAC ---------- | 1 | ---------- 336
PAM8403 ---------- | 1 | ---------- 78
AIYIMA 2Pcs 40MM ---------- | 1 | ---------- 884
Logic Level Shifter ----------| 1 | ---------- 24
Display Control Module ----------| 5 | ---------- 685
LED Matrix (white) ---------- | 2 | ---------- 753
LED Matrix (yellow) ----------| 3 | ---------- 646
Type-C разъём ---------- | 1 | ---------- 32
Печать корпуса ---------- | — | ---------- 623
Итоговая стоимость: 4384 руб.
Подбор компонентов
Самой сложной задачей оказалось найти подходящие матрицы для глаз и рта. Мне хотелось использовать матрицы с квадратными светодиодами и общим катодом, чтобы Бендер выглядел максимально аутентично.
На подбор матриц я потратил больше времени, чем ожидал. Оказалось, что такие компоненты редкость, а их стоимость существенно выше стандартных красных матриц с платами контроллерами. Например, две белые матрицы обошлись в 753 рубля, а пять красных с контроллерами — всего 685 рублей. Однако я решил не экономить, ведь итоговый результат того стоил.
С остальными компонентами проблем не возникло. Их список был представлен на странице проекта AlexGyver, что значительно облегчило поиск.
Ключевые моменты выбора:
• ESP32 с USB Type-C стал идеальным решением благодаря удобству подключения к компьютеру для прошивки. Кабели с microUSB у меня постоянно теряются, а Type-C давно стал стандартом.
• AIYIMA 40MM (динамики) — отличный выбор для проекта. Их компактный размер идеально вписался в конструкцию корпуса, а качество звука оказалось выше моих ожиданий.
Компоненты я искал на популярном китайском маркетплейсе, учитывая соотношение цены, времени и стоимости доставки. Когда я собирал первого Бендера, мне удалось найти динамики всего за 400 рублей. Всего я собрал три такие колонки, но, к сожалению, выгодную цену больше найти не удалось.
Планирование следующего этапа
Я давно решил отказаться от навесного монтажа и горячего клея, так как работа с печатными платами удобнее, аккуратнее и быстрее.
Для разработки электрических схем и печатных плат я использую KiCad. Это открытое и удобное программное обеспечение, которое идеально подошло для моих задач. Основной операционной системой у меня является Ubuntu, и KiCad прекрасно работает в этой среде.
Пока все компоненты едут из Китая, самое время переключиться на проектирование печатной платы. Это важный этап, который позволит собрать все элементы воедино и создать надёжное устройство.
Этап третий. Проектирование печатной платы
Итак, начался этап проектирования печатной платы. Работа оказалась непростой: с самого начала я столкнулся с проблемой отсутствия готовых посадочных мест для модулей. Готовых решений я не нашёл, поэтому пришлось создавать их вручную. Это создавало некоторые трудности, особенно для модуля PCM5102. У него боковые ножки не совпадают с шагом сетки 2,54 мм, а точных размеров модуля в интернете не оказалось — были только габариты самой платы. В итоге мне пришлось несколько раз распечатывать разводку платы на бумаге и подгонять её вручную, проверяя, как компоненты ложатся на свои места.
Для изготовления печатной платы в домашних условиях я использовал фоторезист (негативный пленочный) и односторонний фольгированный стеклотекстолит. Процесс выглядел следующим образом:
1. Подготовка текстолита.
Сначала я разрезал текстолит до нужных размеров, сделав надпилы острым ножом и аккуратно обломив заготовку по линиям надреза. Затем поверхность протиралась спиртом, чтобы удалить грязь и жир.
2. Нанесение фоторезиста.
На чистую поверхность текстолита я наносил фоторезист, после чего прокатывал плату через ламинатор для плотного приклеивания.
3. Засветка ультрафиолетом.
На подготовленную плату с фоторезистом я накладывал заранее распечатанный на прозрачной пленке негативный шаблон платы. Для засветки использовал самодельную ультрафиолетовую лампу, собранную из светодиодов и управляемую микроконтроллером ATTiny13A. Засветка занимала около 200 секунд при расстоянии 10 см между лампой и платой.
4. Проявка.
После засветки плата погружалась в раствор кальцинированной соды. Для этого я разводил пол чайной ложки соды на 500 мл воды. Точное количество соды не критично — главное, чтобы фоторезист начал проявляться.
5. Травление.
Травление проводилось в растворе хлорного железа (200–300 г на 1 литр воды). На травление обычно уходит 40–60 минут, в зависимости от температуры раствора и толщины слоя меди.
6. Удаление фоторезиста.
После травления я смывал остатки фоторезиста ацетоном, оставляя чистые дорожки меди.
После всех этих этапов плата была готова для пайки компонентов и последующей сборки устройства.
Этап четвёртый. Тестирование компонентов в полусобранном виде
Обычно тестирование компонентов проводится до производства печатной платы и корпуса, чтобы избежать лишних затрат на переделку. Однако в этом проекте я был уверен, что все компоненты совместимы и не собирался вносить изменения. Оставалось лишь убедиться, что всё работает так, как задумано: устройство воспроизводит музыку с телефона и синхронно двигает глазами в такт.
Конечно, когда я собрал все на макетной плате, прошил микроконтроллер и включил питание, ничего не заработало. Основные проблемы оказались связаны с матрицами. Они создавали сильные помехи, были чувствительны к питанию и наводкам на провода. В результате матрицы начинали «жить своей жизнью»: произвольно включаться и выключаться.
Я думаю, многие, кто пытался собрать Бендера, сталкивались с подобными трудностями. Вот шаги, которые помогли мне справиться с этим:
1. Хорошая пайка контактов.
Все соединения должны быть надёжными, без «холодной пайки».
2. Минимизация длины проводов.
Длина проводов, соединяющих матрицы с платой управления, должна быть минимальной. У меня это расстояние составило всего 4–5 см. На этапе тестирования длина проводов была больше, что приводило к сбоям в работе.
3. Устранение шумов.
Для подавления шумов в цепи питания звукового тракта я добавил два конденсатора по 3300 µF на 6,3 В:
◦ Первый конденсатор установил на плату управления, куда подключалось питание.
◦ Второй напаял на контакты питания второй матрицы рта.
Эти конденсаторы полностью устранили шипение в звуке.
Конденсаторы были подобраны экспериментальным путем и у вас они могут отличатся.
Кроме того, я разделил питание следующим образом:
• ESP32 питалась через встроенный стабилизатор.
• PCM5102 подключил отдельно через стабилизатор AM1117-3.3.
Честно говоря, сейчас я уже не помню, зачем решил разделить питание, а в документации этот момент не зафиксировал.
Ещё одна проблема была связана с PCM5102: его режимы работы настраиваются с помощью джамперов, которые иногда приходят не распаянными. Первый модуль, который я использовал, был готов к работе, но во втором случае я не проверил джамперы заранее. В результате пришлось разбирать собранную плату и паять джамперы вручную.
Теперь немного о прошивке.
Я использовал прошивку от BendeRadioBt, не внося в неё изменений. Компиляцию проводил в среде Arduino IDE версии 2.1.1. Единственное уточнение: для успешной компиляции нужно установить версию платформы в Boards Manager не выше ESP32 by Espressif 2.0.17. Это связано с особенностями библиотеки btAudio.
На этом этапе серьёзных проблем больше не возникло. Всё заработало как задумано, и я с нетерпением приступил к следующему этапу.
Этап V. Империя наносит ответный удар: сборка
Первым делом нужно установить Rotary Encoder Module. Провода к этому модулю я сделал чуть длиннее, чтобы они выходили за пределы корпуса головы.
Затем приступаем к установке динамиков. Их нужно аккуратно приклеить на посадочные места клеем Момент Кристалл и дополнительно слегка зафиксировать термоклеем. На этом этапе важно проявлять осторожность, чтобы клей не попал в неподходящие места.
Основная плата с компонентами была установлена вертикально в специально напечатанный держатель, который я закрепил термоклеем. Сам держатель платы приклеил к держателю матриц рта с помощью суперклея. Да, я мог бы уменьшить размер платы и разместить её горизонтально прямо на держателе матриц, но так получилось, что я изначально выбрал вертикальное расположение.
Особое внимание следует уделить верхним уголкам платы — их нужно срезать. После этого плата идеально становится на место, а разъём ESP32 оказывается на уровне глаз. Это удобное решение: через визор, убрав глаза, можно обновлять прошивку или регулировать уровень звука на PAM8403. Для дополнительной фиксации все элементы закрепляются двумя болтами.
На следующем этапе я установил разъём питания USB Type-C на корпус. В завершение приклеил заглушку внизу головы Бендера с помощью клея Момент Кристалл. Это крепление достаточно надёжное, но при необходимости позволяет снять заглушку.
Заключение
Колонка получилась не только функциональной, но и стильной. Она стала прекрасным подарком, и после первого экземпляра я сделал ещё несколько штук. Благодаря необычному дизайну и качественному звучанию колонка отлично смотрится в интерьере и вызывает интерес.
Этот проект оказался для меня невероятно увлекательным. Хочу выразить огромную благодарность AlexGyver за возможность создать подобное устройство, а также автору прошивки для Bluetooth. Благодаря его работе мне удалось сэкономить несколько дней.
На этом моя история о колонке-голове Бендера завершена, но у меня в запасе ещё много интересных проектов, которыми я хотел бы поделиться. Спасибо всем, кто дочитал до конца!
ссылка на прошивку.
В завершение: демонстрация рабочего экземпляра
Бендер | Stable Diffusion | Ai | SDXL
Еще больше артов можно найти в моем телеграмм канале,там я публикую каждый день арты
Оставляй комментарий:)
промт
bottom view,
bender from the futurama , sitting in a cyberpunk costume, holding a cigar in robo hand, sitting, neon haze coming from below, dim light around,Bender is sitting near the wall, in the background is the gangster street of the cyberpunk city, street style, graffiti on the walls, garbage containers, rats running around,
((best quality)), ((masterpiece)), detailed soft oil painting, detailed background, dramatic cinematic lighting, soft edge lighting, professional, dramatic lighting, hard edge lighting,
ultra quality, 4k,(masteriece, best quality, 8k, ultra highres, highres:1.4), extremely detailed <lora:add-detail-xl:1.0>
Negative prompt: BadDream,intricately , paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowers, normal quality, ((monochrome)), ((grayscale)), spots, acnes, skin blemishes, age spot, (outdoor:1.6), (backlight:1.2), double navel, muted arms, hused arms, neck lace, analog, analog effects, (sunglass:1.4), nipples, nsfw, bad architecture, watermark, (mole:1.5), EasyNegative
Футурама 9.05 "Один кремний, другие золото"
Субтитры и торренты подъедут попозже. У кого не играет плеер ВК, в моей телеге лежит файл mp4.
UPD:
Та же серия, переведённая не звуком, а субтитрами
https://vk.com/video-221738678_456239120
Торренты тоже обновил:
480p https://rutracker.org/forum/viewtopic.php?t=6557073
720p https://rutracker.org/forum/viewtopic.php?t=6557082
1080p https://rutracker.org/forum/viewtopic.php?t=6557088
2160p https://rutracker.org/forum/viewtopic.php?t=6557093