Дети

Детский музыкальный проигрыватель

Минута отдыха Детский музыкальный проигрыватель Дети

Этот музыкальный проигрыватель, напоминающий симпатичного робота мастер сделал к 5-летнему дню рождения внучки. Он довольно прост в использовании, интуитивно понятен и дети быстро разбираются в управлении устройством. Проигрыватель имеет встроенную память, на которую можно записать аудиофайлы, и аккумуляторную батарею для автономной работы.
Давайте посмотрим небольшой видеоролик демонстрирующий работу устройства.

Сборка проигрывателя не сложная и доступна большинству из те, кто хоть раз держал паяльник в руках.

Инструменты и материалы:
-Микроконтроллер Lolin32;
-Разъем для платы;
-Модуль мини-MP3-плеера;
-Поворотный энкодер KY 040 — 2 шт;
-Модуль зарядки TP4056;
-1,3-дюймовый OLED-экран;
-МОП-транзистор НДП6020П;
-2N3904 транзистор;
-Диод 1N5819 — 2 шт;
-Резисторы : 1 x 220 Ом, 1 x 470 Ом, 2 x 10 кОм, 2 x 100 кОм, 1 x 220 кОм, 1 x 470 кОм, 1 x 1 МОм;
-0,1 мкФ конденсатор;
-Разъемы JST;
-Комплект проводов dupont;
-Микро SD карта;
-Lipo аккумулятор 2500 мАч;
-Аудиоразъем;
-Динамик;
-Наушники;
-Кнопки 2 шт;
-3D-принтер;
-Лак-спрей;
-Саморезы М2;

Шаг первый: электроника
Аппаратная архитектура основана на микроконтроллере ESP32. LOLIN32 запускает приложение и взаимодействует с различными элементами.
Устройство для чтения MP3 — это очень дешевая плата с драйвером карты micro SD, на котором можно хранить и воспроизводить файлы MP3. ESP32 отправляет основные команды (воспроизведение, остановка и т.д.) на DFPlayer и получает ответ через последовательный интерфейс. Интерфейс используется для отслеживания текущего статуса DFPlayer: работает или не работает. Выход на динамик доступен для подключения динамика мощностью не более 3 Вт или гарнитуры.

1,3-дюймовый OLED-экран подключается через шину I2C. Экран 128 x 64 пикселей используется для отображения изображения, представляющего текущую папку MP3 и уровень оставшегося заряда батареи.

Два поворотных энкодера управляют громкостью и выбором трека. Для выбора трека нужно повернуть ручку, для воспроизведения нажать.
Часть управления питанием используется для управления процессом включения / выключения. Длительное нажатие (1 секунда) запускает систему, второе длительное нажатие останавливает ее. Если в течение 5 минут проигрыватель не включают и песня не воспроизводится, питание автоматически отключится.

Минута отдыха Детский музыкальный проигрыватель Дети

Мастер использовал EasyEDA для проектирования схемы.
Блок управления питанием подробно описан на прилагаемой схеме, он основан на MOSFET-транзисторе NDP6020P. Когда переключатель нажат (питание включено), транзистор 2N3904 запускает полевой МОП-транзистор, позволяя току течь от батареи (через TP4056) и загружая ESP32. Одним из первых действий, выполняемых ESP32, является активация сигнала POWER_CONTROL (вывод 12) для фиксации полевого МОП-транзистора. Кнопку можно отпустить, питание ESP32 остается. Второе нажатие на переключатель (для выключения питания) отслеживается ESP32 через сигнал SWITCH_MONITOR (контакт 13). Затем ESP32 деактивирует сигнал POWER_CONTROL, чтобы разблокировать полевой МОП-транзистор и отключить ток.

Питание обеспечивается батареей Lipo емкостью 2500 мАч, связанной с контроллером заряда TP4056. Подключение TP4056 осуществляется следующим образом:
micro-USB: для зарядки аккумулятора
IN- и IN +: не используются
B- и B +: к аккумулятору
OUT- и OUT +: к основной плате.

Уровень заряда батареи контролируется ESP32.

Кабельная разводка стереоразъема позволяет подключать выход HP- / HP + DFPlayer Mini:
внутренний динамик на полную мощность, когда наушники не подключены
на пониженной мощности (в моно) при подключенных наушниках. Это уровень безопасности для защиты детских ушей.
Schematic_Main_2020-12-04_12-53-05.pdf
Schematic_Audio_Connection_Board_2020-12-20_11-30-07.pdf

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Шаг второй: монтаж
Печатную плату мастер заказал на сайте занимающимся производством плат.
Основная плата (PCB) включает в себя ESP32, DFPlayer mini и компоненты Power Control. Связь с другими элементами осуществляется с помощью перемычек и разъемов JST.

Файлы для печати платы можно загрузить здесь.

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Шаг третий: музыкальные треки
Из-за авторских прав мастер не предоставляет файлы MP3, пользователь должен самостоятельно загрузить файлы. Если нужно изменить темы папок или добавить новые папки, придется изменить код.
При сохранении файлов MP3 на SD-карте необходимо соблюдать определенные требования.
На данной карте формат FAT32, и файлы организованы следующим образом:
6 папок, созданных в корне, пронумерованы от 01 до 06, соответствуют 6 аудио темам:
папка 01: песни для детей
папка 02: сказки
папка 03: песни Диснея
папка 04: Рождественские песни
папка 05: другие песни для детей
папка 06: классическая музыка
Файл 07: песни United Kids
Каждая папка содержит файлы MP3, имена которых состоят из 4 цифр, между которыми следует свободный текст. Например, 001_chanson1, 002_chanson2 и т. д. Важно соблюдать это правило, иначе файлы не будут распознаваться MP3-плеером. Фактически учитываются только первые 4 символа.

В корне создана 1 дополнительная папка с именем 99, в которой содержатся служебные сообщения: например, приветственное сообщение, предупреждение о низком заряде батареи и т. д.

В настоящее время реализовано только одно дополнительное сообщение: приветственное сообщение после загрузки. Пользователь может записать его самостоятельно или просто проигнорировать. Авторское сообщение настроено с именем его внучки. Переписать сообщение можно с помощью приложения Audacity. Сохраните файл нужно, как 001.mp3.

Минута отдыха Детский музыкальный проигрыватель Дети

Шаг четвертый: программное обеспечение
Мастер использует IDE Arduino для разработки программного обеспечения и SmartGit для управления конфигурацией.
В коде нет ничего сложного, это обычное программирование, как это часто бывает в таки случаях. Несмотря ни на что, мастер попытался немного структурировать код, создав модули:
Blinky2.ino: основной модуль с классическими функциями setup () и loop ()
Blinky2.h: здесь несколько параметров. Измените NUMBER_OF_FOLDERS, если вы добавляете / удаляете папки MP3.
// Number of folders of songs const int NUMBER_OF_FOLDERS = 7;
ButtonFolder.h, ButtonFolder.ino, ButtonVolume.h, ButtonVolume.ino: асинхронное управление поворотными энкодерами.
Mp3.ino, Mp3.h: управление командами DFPlayer Mini. (необходимо установить библиотеку DFRobotDFPlayerMini)
Power.ino, Power.h: управление включением и выключением, управление батареей
Display.ino: управление OLED-дисплеем с помощью библиотеки U8g2lib, которую также придется установить.
Display.h: в основном включает определение изображений, представляющих каждую папку.

Минута отдыха Детский музыкальный проигрыватель Дети

 Показать / Скрыть текстBlinky2.ino
Power.ino
Blinky.h
Display.ino
ButtonVolume.ino
ButtonFolder.ino
Mp3.h
Mp3.ino
Display.h
Power.h
ButtonFolder.h
ButtonVolume.h
LICENSE.txt

Минута отдыха Детский музыкальный проигрыватель Дети

Шаг пятый: дисплей
Если пользователь решит изменить темы папок или добавить новые папки, также придется изменить маленькое изображение, связанное с ними. В этом разделе объясняется, как можно преобразовать изображение в код C, на примере темы «классическая».
Для начала рекомендуется установить GIMP на свой компьютер.
Затем запускаем GIMP и загружаем файл изображения. Экран имеет размер 128 x 64, поэтому изображение должно соответствовать разрешению.

Далее следуем инструкции по этой ссылке Чтобы изображение поместилось на экране, мастер установил высоту изображения на 64 пикселя.
Теперь у пользователя должен быть файл с расширением .xbm, содержащий исходный код C: classic.xbm со структурой, подобной этой, что ниже:

Минута отдыха Детский музыкальный проигрыватель Дети

 Показать / Скрыть текст#define classic_width 64
#define classic_height 64
static unsigned char classic_bits[] = {
0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ….

…., 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00 };
Скопируйте и вставьте этот код в файл Display.h.
Добавьте (из строки 378) следующее объявление:
IMAGE classic = {classic_width, classic_height, classic_bits};
Наконец, обновите структуру (конец файла):
IMAGE images[NUMBER_OF_FOLDERS]= {comptine, loup, mickey, pere_noel,comptine2, classic, kidsunited};
Теперь можно скомпилировать окончательный код и загрузить файл в ESP32.

Минута отдыха Детский музыкальный проигрыватель Дети

Шаг шестой: печать корпуса
Корпус был разработан с использованием программы Fusion 360. Для печати мастер использовал свой принтер Prusa Mk3s + и PrusaSlicer. Параметры печати: нить PLA, качество 0,15 мм, поддержка. Для печати мастер использовал нить розового цвета.

После печати нужно приклеить уши в верхней части корпуса, нанести два слоя матового лака и установить заднюю панель.
Файлы для печати можно скачать ниже.
Display protection v32.stl
Box v38.stl
Ear v34.stl
Speaker protection v33.stl
Back panel v30.stl
Battery protection v30.stl

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Шаг седьмой: окончательная сборка
Теперь можно приступить к сборке проигрывателя. Устанавливает и закрепляет винтами дисплей. Задняя часть дисплея закрывается крышкой.
Динамик закрывает тканью, а затем устанавливает в слот. Устанавливает кнопку включения и энкондеры. Прикручивает основную плату. Плату TP4056 устанавливает в держатель зарядного устройства. Устанавливает и подключает аккумулятор и аудиоразъем.
Теперь осталось только прикрутить заднюю крышку.

Минута отдыха Детский музыкальный проигрыватель Дети

Минута отдыха Детский музыкальный проигрыватель Дети

Все готово.

Источник

Показать больше

Статьи по Теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Проверьте также
Закрыть
Кнопка «Наверх»

Мы cохраняем файлы cookie: это помогает сайту работать лучше. Если Вы продолжите использовать сайт, мы будем считать, что это Вас устраивает.