Mp3 плеер своими руками

Mp3 плеер своими руками

Делаем mp3 плеер!

Автор: Саша Леськив, sasha_leskiv@mail.ru
Опубликовано 17.09.2013
Создано при помощи КотоРед.

Привет всем!!
Сегодня я хочу предложить вам не совсем привычную схему для этого сайта.
Все, кто пересматривал статьи здесь, наверняка заметил, что большинство из устройств представляют собой различные световые установки, которые, в большинстве, базируются на микроконтроллерах и кучи светодиодов.
В этой статье я расскажу, как можно дома, без использования профессионального оборудования, собрать компактный, автономный и полностью работоспособный mp3 плеер.
Итак, немного о устройстве:
Плюсы:
+ читает mp3 файлы с SD/MMC/MicroSD карточек объёмом до 2 гигабайт (все существующие битрейты (до 320 кбит/с включительно));
+ качество звука, как на меня, очень хорошее. Возможно, там и нет эквалайзера, как такового(только одна кнопка, которая повышает басы на 15 децибел), но этого вполне хватает;
+ потребление 5-6 мА, тоесть при обычном Li-Po аккумуляторе 1000мА/ч будет работать 16-20 часов;

Минусы:
– нет перемотки и не отображается время трека;
– уровень заряда батерии не всегда корректно работает;
– возможно, некоторым он кажется и не таким уж компактным;

P.S. – да забейте вы на все эти минусы, ведь каким бы плеер не вышёл “неидеальным”, вы сделаете его сами и пусть кто-то только попробует вам что-то сказать!

Итак, ближе к делу. Изучим схему:


На первый взгляд, все не так уж и просто. Я сдесь чуть “поколдовал” на этой картинкой в Paint и вот та сама схема, но с моими коментариями и исправлениями:

Кстати, кто не знает, AGND и DGND – это земли, которые нужно соединить непосредственно возле источника питания – то есть прямо возле провода, который идёт от аккумулятора.
Думаю, всё остальное и так понятно.
Итак, что нам нужно:

Все микросхемы, микроконтроллеры, резисторы, конденсаторы, катушки, кварцы (на 16м и 20 мГц), диоды, а также USB mini и 3.5мм(под наушники) разъемы. Так же не забываем про экран (ls020). Для этого нам нужно купить любой телефон Siemens 65-ой серии (s65;m65;cx65);

Лично я купил б/у телефон cx65(он даже оказался рабочий). Вынуть экран не составило труда.

2. Также нам понадобиться паяльник 30-40 Ватт, канифоль жидкий и твердый;

3. Для пайки ATmega128, VS1011E можно использовать термофен, а можно запаять вручную, при помощи экрана от старого антенного провода. Такой метод пайки наглядно продемонстрирован в этом видео:

На этом вроде бы все. Хотя. забыл самое главное, что вам понадобиться – это 2-3 дня свободного времени, терпение и прямые руки 😀

Ну что ж, приступим. Вырезаем из двухстороннего текстолита прямоугольный кусочек размером

74х70 мм. НО! Это версия печатки с блоком питания на MAX756 и стабилизаторе питания на 3.3 вольта (LM1117). Позже я решил использовать lp2981 (3.3), ведь она и намного меньше, и дешевле и КПД почти 100%. Поэтому, если будет желание, можете переделать плату (но не забывайте, что вам же ещё где-то нужно будет акккумулятор крепить!Программой Layout 6.0 открываем файл “mp3 на ATMega128 и VS1011E (с переходником) Под печать.lay” нажимаем “Печать” и выбираем следующие параметры печати:

Печатаем на лазерном принтере, используя бумагу от какого-то календаря или журнала (в общем, глянцевую)

Далее, вырезаем эти платы. Берем правую и наносим на текстолит методом ЛУТ, про который вы можете почитать в гугле.

Следующий шаг – нужно просверлить любые 3-4 отверстия (желательно, возле краев платы). Потом берем бумажку с левой платой и иголкой прокалываем те отверстия, которым соответствуют дырки на текстолите. И пытаемся сопоставить их как можно точнее. Другую сторону платы переносим на текстолит тем же методом. Кстати, если слои чуть не совпадут, это не страшно. Там уже по ситуации можно будет чуть сместить перемычку или что-то типа того.

После этого цепляем плату за те отверстия и травим. После травления смываем ацетоном порошок от принтера и получаем плату. Лудим ее(лично я лудил жидким канифолем с паяльником, а потом промывал спиртом, но можно и с помощью сплава Розе).

Припаиваем ATmega128, кварц 16мГц, кондёры по 22 пика от ножек кварца к земле. Также нужно вывод резет заземлить через 0.1 микрофарад и соединить с плюсом через 10к. Позаботьтесь о том, чтобы на все нужные ноги подавался + и -. Сверьтесь с моей схемой.

Подсоединяем программатор, втыкаем его в комп. Открываем PonyProg или CodeVision открываем с их помощью файл прошивки “MP3_PLAYER_BETA.hex”. Прошиваем. Выставляем фьюзы так: ничего не программируем, кроме SUT0, BOOTSZ1, BOOTSZ0.

С этим разобрались. Теперь нужно позаботиться о подсветке. Подсветка здесь собрана на микроконтроллере ATtiny25 (изначально была ATtiny15l, но сейчас она уже не выпускается. если у вас уже есть такая, пишите мне на почту, я вам скину прошивку под нее). Ее подключать к программатору уже легче: соединяем MISO, MOSI, SCK, RESET, VCC, GND по даташиту. Прошиваем файлом “DCDC25.hex”. ВНИМАНИЕ! Фьюзы не трогаем вообще! Оставляем заводские установки.

Припаиваем ее к плате с диодами и кондёрами и проверяем подсветку:

Далее, дело техники и времени. Припаивайте все остальные детали, перемычки, разъемы, кнопки и т.д. и т.п.

Ну а теперь несколько слов о припаивании vs1011E. Чтобы вы понимали, переходник будет находиться со стороны ATmega128.

Поэтому нам нужно просверлить только те отверстия, в которые будут вставляться “ножка” DIP корпуса, которая идёт на другую сторону платы. Это 4, 16, 20, 21, 22, 39, 42 и 46 выводы. Все остальные перемычки припаивать прямо к дорожкам со стороны переходника. К незадействованным ножкам в переходник перемычка не будет вставляться вообще. После этого впаяйте в переходник декодер vs1011E и вставите его так чтобы соответствующие перемычки вошли туда, куда им надо. Далее очень быстро, но акуратно припаяйте переходник. Почему быстро? Потому-что вы можете прогреть перемычку слишком сильно и она отвалиться от платы. Наверное, это будет сложно исправить.

После этого можно включать. Вообще, плеер может работать и от 16мГц..но тогда он не будет воспроизводить mp3 с битрейтом более 256 кбит/сек. Для этого микроконтроллер нужно разогнать. Это сделать довольно просто. Первый вариант: постепенно увеличиваете частоту (сначала 16мГц, включили, выключили, далее 17. и так до 20.). Другой метод, провереный мной: у меня не было только три кварцовые частоты: 16, 18 и 20. 16 – плеер работает, 18 – плеер работает, 20 – ничего. По началу думал, что все, больше, чем 18 не пойдет. но тут идея: включил плеер на 18 мегагерцовом кварце, включил песню, она играет..и прям на ходу отпаиваю 18 и креплю 20 – вуаля, после перезагрузке плеер пашет!! При этом, не помешало бы убрать согласующие кондеры (от ножек кварца к земле), потому что лично у меня они вызывали только помехи, а с кварцом 20мГц, плеер вообще не включился. Ну и ещё одно замечание “первобытному” бп схемы. Кварц заменялся до его смены и с приходом новой частоты работы у плеера стали возникать куча глюков – от белых квадратов на экране до полной остановки работы. с lp2981 все прошло) Ну что ж, я вроде бы все рассказал, что хотел))

Читайте также:  Arduino uno. подключение ик-приемника

Кстати, важное объявление. Сразу говорю, что автор прошивки – не я. Она уже была представлена сдесь:

Я являюсь только автором печатки и улучшений схемы (ну и mp3, конечно же)).

Просто когда я попал на тот сайт, мне сразу захотелось его собрать, но. проблема была в том, что я ещё никогда не собирал столь сложные схемы и для меня там было много непонятного. Я долго лазил по гуглу, искал темы об микроконтроллерах, создавал форумы, спрашивал то то, то се. также переписывался с автором вышеуказанного сайта. Короче говоря, были заботы. Здесь же я “разжевал” для вас всё и думаю, что после этой статьи у вас вопросов не останется. Ну а если и будут, то пишите на почту sasha_leskiv@mail.ru. И ещё одно, что хотел сказать. собрать такой mp3 может каждый. Ведь мне то, на данный момент, всего лишь 14 лет и этой только вторая моя схема на микроконтроллере, причём первая так и не увенчалась успехом. также я первый раз работал с настолько мелкими микросхемами и деталями, в общем. Ведь здесь я запаял микросхему размером меньше 1×1см и с 48 выводами, учитывая, что перед этим самая сложная микросхема, которую я встречал – 20 выводная в DIP корпусе. Вот так вот.

Так что дерзайте, собирайте, результат будет сногсшибательным :DD

P.S. (все печатки и прошивки в архиве внизу)

Ну и что бы это была за статья без фото конечного вида стройства и видео презентации сборки и работы))

Видеопрезентация сборки-работы (не с самыми новыми фото):

Мой Кот оценил, надеюсь, и ты будешь доволен!

Простейший самодельный MP3 плеер Сакура с открытым исходным кодом

Купив деталей на 30 долларов и с добрым количеством терпения, вполне можно собрать целый МР3 плеер, с открытым исходным кодом, и широкими возможностями к модификации. Он может быть модифицирован так, что будет принимать команды по последовательному интерфейсу, может быть частью художественного проекта, использован как голос для вашего очередного умного говорящего робота-друга, или наполнен музыкой, и использован как есть. Вставляйте карту какого хотите размера, вплоть до теоретического предела формата MMC. Весь программный код и схемы, представленные здесь, распространяются свободно.

Основные возможности плеера: режим воспроизведения в случайном порядке, базовая навигация в треках, регулятор громкости, поддержка FAT32, поддержка фрагментированных файлов, неограниченное количество файлов в корневом каталоге и высокое качество воспроизведения. Файлы с битрейтом 256 кбит/с воспроизводятся без сбоев. Поддерживаются файлы с разным битрейтом, максимальный – 320 кбит/с.

Wav -файлы так же поддерживаются, но они должны быть меньшего качества чем CD , до тех пор, пока вы не поставите кварцевый резонатор для PIC контроллера с большей частотой. В моем тестовом устройстве это работает, но использовать PIC контроллер на тактовой частоте более 8 мегагерц при напряжении питания всего 3,3 вольта проблематично. Я все еще работаю над воспроизведением wav -файлов, по этому, если вы столкнулись с забавными результатами, воспроизводя wav -файлы, дайте мне знать.

Чтобы записать данные на карту памяти, вам потребуется устройство чтения/записи карт. Во множество компьютеров такие устройства встроены. Внешние USB модели доступны в продаже по цене приблизительно в 10 долларов. Проверьте формат файловой системы карты, он должен быть FAT32 а не FAT16.

Для нормального проигрывания загрузите MP 3-файлы на карту (проверьте, чтобы все файлы имели расширение «. mp 3») и вставьте ее в плеер. Включите плеер и он сразу же начнет воспроизводить первый трек. Файлы воспроизводятся в таком порядке, в каком они были записаны на карту памяти.

Чтобы перейти в режим воспроизведения в случайном порядке, держите нажатой кнопку «следующий трек» (next track) при включении плеера. Он останется в этом режиме до следующего цикла выключения/включения. Как только все песни будут проиграны, плеер переходит в спящий режим до следующего цикла выключения/включения.

Предостережение для новичков! Это проект промежуточного уровня. Вам потребуются такие вещи как PIC программатор, некоторое знание программирования на языке С, так же как и неплохого, но и не огромного знания электроники. Осциллограф также не повредит. Будьте осторожны, детали очень маленькие.

Если вы новичок, просмотрите эти книги и web сайты:

www . parallaxinc . com www . sparkfun . com www . microchip . com www . microchipc . com www . dontronics . com www . jameco . com ccsinfo . com (единственный компилятор, который я использовал в проекте – компилятор для контроллеров средней разрядности (midrange compiler)).

Все три книги Фореста Мимса (Forrest Mims) доступны в радиорубке (Интернет магазин radioshak . com ).

Практическая электроника для изобретателей, автор Paul Scherz и журнал Чекнутый и Вольты (в книжной крепости (Интернет магазин) они есть практически всегда.)

Почему проект назван Сакура? Этот проект начался, когда везде цвели вишни. Сакура означает цветение вишни по Японски. И первый прототип проекта был помещен в корпус из розового пластика.

Ниже представлена схема. Щелкните здесь, чтобы получить схему в крупном разрешении.

Исходный код

Исходный код написан на С. Я использую PCM компилятор для контроллеров средней разрядности (PCM midrange compiler) от CCS. Он стоит около ста долларов и производит очень компактный код, имеет полный набор встроенных функций и типов данных. Я очень доволен им. Web сайт разработчиков компилятора – ccsinfo.com .

Для людей, которым не нужно модифицировать код программы есть . hex файлы, готовые для загрузки непосредственно в PIC контроллер. Не забудьте очистить флажки ( fuses ) BROWNOUT и WATCHDOG , это будет значить – запретить их.Если вы не сделаете этого, все устройство откажется работать. Это наиболее распространенная ошибка.

На текущий момент все 4 килобайта памяти программ почти полностью заняты. 256 байт флеш ( EEPROM) памяти полностью используются для хранения таблиц функции воспроизведения в случайном порядке. Имеется несколько некритичных функций, которые можно удалить, чтобы освободить немного пространства в памяти, такие как интерфейс кнопок и подпрограммы режима воспроизведения в случайном порядке. Если компания Микрочип когда ни будь выпустит 18-ногий контроллер с 8 килобайтами памяти, я обязательно использую его для этого проекта. Так же вы можете сделать код более эффективным, чем сделанный мной код. Если сделаете, дайте мне знать, что именно вы сделали.

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

Самодельный портативный mp3 плеер USB, microSD

Данный mp3 плеер, не совсем обычной конструкции, был сделан из подручных средств.
Хорошее решение для дачи и с минимальными затратами. В ходе генуборки собралось много хлама на выброс и кое что решил пустить в дело). Корпус сделан из картона от бытовой техники склеенного вдвое, что придает конструкции хорошую жесткость. Почему картон? С ним проще работать и его много остается после покупок бытовой техники, и в данной самоделке картон хорошо подходит для создания корпуса.

Пошаговая сборка и демонстрация работы mp3 плеера в видеоролике для ознакомления

Было использовано:
1. Картонная коробка от бытовой техники
2. Медные проводки от старой электроники
3. 2 динамика от старых компьютерных колонок
4. Клавиатура от старого сотового телефона
5. Аккумуляторная батарея от старого сотового телефона
6. Выключатель( ссылка на выключатель )
7. 4 самореза
8. Модуль заряда аккумуляторных батарей( ссылка на модуль )
9. Mp3 плеер без корпуса ( ссылка на плеер )
10. Декоративная пленка на клейкой основе
11. Термоклей, супер клей, изолента

Читайте также:  Блок питания с предрегулятором

Из инструментов:
1. Плоскогубцы
2. Ножницы
3. Канцелярский нож
4. Отвертка
5. Клеевой пистолет
6. Паяльник ( ссылка на мини USB паяльник , очень удобный)
7. Третья рука (ссылка на самоделку)

Шаг 1
Нарезаем картон на парные куски, по 4шт каждого размера.
1. 4см х 8см, 3,6см х 7,6см
2. 4см х 6,5см, 3,6см х 6,1см
3. 6,5см х 8см, 6,1см х 7,6см

И склеиваем их между собой. Это придаст конструкции жесткость.

Шаг 2
Электроника, которая будет использована в самоделке.

Дешевый mp3 плеер с USB и microSD разъемами( ссылка на плеер ). Питается от сети 5в или 3.7в от аккумулятора. Усилитель сигнала на 3вт в нем уже встроен. Так же встроен стабилизатор напряжения. Подключение питания через microUSB и две клеммы для аккумулятора.

Модуль заряда литиевых батарей 18650 на TP4056 5В 1А с micro USB интерфейсом ( ссылка на модуль ). Он подойдет для заряда аккумуляторов от сотовых телефонов.

Аккумуляторная батарея Philips 1100mAh. Вытащил из сломанного телефона.

Динамики из старых компьютерных колонок.

Недавно заказывал выключатели( ссылка на выключатель ) хорошего качества для ремонта настольной лампы. Как раз одна осталась.

И несколько кнопок с клавиатуры сломанного телефона.

Шаг 3
Вырезаем место под динамик, чтобы плотно сидел на месте.

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

Прикидываем будущее размещение модуля заряда.
Модуль заряда и аккумулятор будут находиться в корпусе второй колонки.

В корпусе первой колонки будут расположены плата плеера и кнопки управления.

Шаг 4
Вырезаем отверстия для USB и microSD разъемов на верхней части корпуса.

Выпаиваем штатные кнопки из платы плеера. Их разместим на той же верхней части корпуса для удобства управления.

Припаиваем проводки к кнопкам. Я брал 4 пары разных по цвету проводов, чтобы потом было удобнее паять на плате плеера.

Шаг 5
Берем декоративную пленку на клейкой основе(у меня осталась черная) и обклеиваем ей части корпуса.

Должно получиться так.

Шаг 6
Вырезаем отверстие под кнопку на верней части корпуса первой колонки и размещаем там кнопку управления.

С обратной стороны фиксируем термоклеем для надежности.

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


Шаг 7
Теперь можно припаивать проводки от кнопок на плату плеера.

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

Шаг 8
Соблюдая полярность припаиваем одну пару проводов от модуля заряда к аккумулятору.

Прикручиваем динамики к корпусу саморезами и фиксируем саморезы с обратной стороны термоклеем.

Приклеиваем верхнюю часть корпуса и фиксируем модуль заряда термоклеем для надежности.

Проделываем прорези для проводов идущих к первой колонке, фиксируем их термоклеем с внутренней стороны и проверяем работу модуля перед креплением задней части корпуса.

Шаг 9
Скручиваем провода двух динамиков и припаиваем их к плате плеера соблюдая полярность.

Припаиваем провода питания к плате плеера и к выключателю. Соблюдайте полярность!

Болтающиеся части и провода фиксируем внутри термоклеем. Проверяем работу плеера перед креплением задней части корпуса.

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




Приклеиваем кнопки от клавиатуры старого телефона супер клеем. Будьте аккуратны, не залейте клеем кнопки управления.

Можно приступать к тесту

Индикация питания и работы плеера хорошо видны.


USB флешки читает хорошо. Музыка играет громко. На максимальной громкости присутствует хрип динамиков, но и средней громкости вполне достаточно для прослушивания.

Работа от аккумулятора 1100mAh примерно 2-3 часа на средней громкости при воспроизведении с USB носителей, но остается энергия для воспроизведения с microSD карт. С microSD картами будет работать в 2-3 раза дольше, так как питание потребляется 3в, вместо 5в.

MP3-плеер своими руками. Как собрать и запрограммировать гаджет у себя дома

Содержание статьи

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

Помню, как в 2004 году у меня появился MP3-плеер и привел меня в полный восторг. Памяти, у него, правда, было всего 128 Мбайт, что по тем временам уже считалось скромным. Кроме того, плеер отличался очень дурной особенностью коверкать записанные на него файлы. Как объяснялось в инструкции, это не баг, а «фича», то есть защита от копирования.

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

Итак, от своего проекта я хотел, чтобы:

  • устройство (очевидно) воспроизводило MP3;
  • поддерживались современные карты SD;
  • в качестве файловой системы использовалась FAT;
  • качество звучания было приемлемым;
  • по возможности было невысокое энергопотребление.

Компоненты

За основу устройства я взял недорогой MP3-кодек VS1011E. На самом деле разумнее было бы выбрать более продвинутые VS1053 или VS1063 или обновленную версию VS1011 — VS1003 (у нее тактовая частота выше), стоят они все примерно одинаково.

Однако вникать в эти тонкости я не стал и остановился на первой попавшейся микросхеме. В качестве контроллера я взял STM32F103C8T6, чтобы можно было сделать макет, используя готовую плату Blue Pill, а уже потом собрать все по-серьезному. Экран я выбрал TFT, разрешение — 128 на 160 (ST7735). У меня для него уже есть написанные ранее библиотеки.

Код, как и в случае с телефоном, мы будем писать на C с использованием библиотек libopencm3 и FatFs.

Устройство будет работать просто: читать данные из файла на флешке и скармливать кодеку, а все остальное кодек сделает сам.

Макет

Прежде чем переходить к коду, есть смысл собрать макет устройства (я вообще поклонник отладки программ на реальном железе). Берем плату Blue Pill и подпаиваем к ней модуль дисплея с картодержателем. Пайка позволяет нам не сталкиваться с проблемой дребезга соединений, которая может доставить много неприятностей на этапе отладки.

Тестовый модуль для VS1011 я собрал на макетке, использовав переходник с QNF48 на DIP, схему которого я посмотрел в даташите. На самом деле так заморачиваться необязательно — можно взять готовый модуль. Но у меня его не было, а ждать не хотелось.

В итоге я все это собрал за несколько часов и был готов переходить к коду.

Схема плеера
Макет устройства
Макетная плата кодека VS1011
Макетная плата кодека VS1011
Дисплей макета с ранним вариантом интерфейса

Шаблон будущей программы

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

В исходнике ниже — стандартные заголовочные файлы, функции инициализации периферии, функции инициализации дисплея и клавиатуры и в конце вывод строчки Hello world.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Читайте также:  Как провести скрытую проводку в кирпичной перегородке в стиле лофт?

Простой USB проигрыватель

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

Звуковая карта хорошего качества стоит дорого.

А почему бы не сделать свой USB проигрыватель?

Поможет нам в этом микросхема PCM2902 — 16-ти битном дельта — сигма АЦП-ЦАП.

Основные технические характеристики

Характеристики при VBUS= 4.84 V, VCCCI = 3.5 V:

ЦАП

Частота дискретизации — 32, 44.1, 48 KHz
Потребляемый ток — 90 мA
Номинальное выходное напряжение — (0 dB) 1,1В RMS
Верхний предел диапазона — (-3 dB) 22.7 kHz (fs = 48 kHz)
Частота среза пост-фильтра — 28 kHz
Выходное сопротивление – 100 Ом
Отношение сигнал/шум > 95 dBA
КНИ + шум — (1 kHz) 0.005% (B = 22 kHz)
Разделение каналов > 99 dB (1 kHz), при > 76 dB (20 kHz)

АЦП

Частота дискретизации — 8, 11.025, 16, 22.05, 32, 44.1, 48 kHz
Уровень входного сигнала — 2,1В
Входное сопротивление — 10 кОм
КНИ + шум — (1 kHz, -0,5 dBFS) 0.01% (B = 22 kHz)
Разделение каналов > 73 dB (1 kHz), при > 47 dB (20 kHz)

Блок-схема PCM2902

Схема включения PCM2902

Этот кодек кроме аналогового входа и выхода имеет так же и цифровой S/PDIF вход-выход. Полная поддержка USB 1.1. Работает в дуплексном режиме.

PCM2902 имеет интересный собственный контроль за уровнем громкости HID (Human Interface Device), кнопками, которые подключены к входам HID0, HID1, HID2 можно, соответственно, управлять режимами ТИХО, ГРОМКОСТЬ + и ГРОМКОСТЬ –, что исключает необходимость двигать ползунки в микшере на ПК.

Принципиальная схема


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

Подключаем USB провод к ПК.

Хорошо, что драйвера для этой микросхемы уже есть в Windows. По крайней мере в Windows 7 точно есть. PCM2902 определяется как USB Audio codec.

Чтоб это проверить — заходим в Диспетчер устройств и находим:

USB audio CODEC и USB — устройство ввода

Далее настраиваем наш плеер.

Заходим в панель управления — оборудование и звук — звук.

Наш USB Audio codec должен быть устройством по умолчанию, если нет, то это делаем. А также отключаем встроенную звуковую карту.

Теперь нажимаем на кнопочку Свойства. Появляется меню Свойства. Заходим на вкладку дополнительно и выставляем 2 канала 16bit, 48000Гц.

Далее переходим на вкладку Запись.
Выбираем микрофон USB Audio codec по умолчанию и нажимаем кнопку свойства.

Выбираем вкладку Прослушать:

Теперь заходим в вкладку Дополнительно и выставляем 2 канала 16bit, 48000Гц.

Теперь подключаем наушники и слушаем музыку!

Урок 19. Делаем MP3-плеер на DFPlayer Mini и Arduino.

Как воспроизвести аудиофайлы в формате wav я уже рассказывал в уроке: Arduino SD карта. Воспроизводим звуки и музыку в wav формате. Данный способ подходит, когда нужно воспроизвести файлы не очень высокого качества, например, уведомления, оповещение и пр. Если же надо воспроизводить файлы в формате mp3, нам поможет модуль DFPlayer Mini.

MP3-плеер DFPlayer Mini позволяет воспроизводить аудиофайлы, записанные на карту памяти формата microSD. С помощью этого плеера можно управлять музыкой: приостановка и возобновление воспроизведения аудиофайла. А также можно установить громкость из 30-ти уровней громкости и одни из 6-ти режимов эквалайзера.

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

Характеристики DFPlayer MP3 mini:

  • Напряжение питания: 3,3–5 В
  • Количество каналов: 1 моно, 3 Вт + 2 стерео, без усилителя
  • Поддерживаемые частоты дискретизации: 8, 11, 12, 16, 22, 24, 32, 44,1, 48 кГц
  • Разрядность ЦАП: 24 бита
  • Поддерживаемые файловые системы: FAT16, FAT32
  • Максимальный объём SD-карты: 32 ГБ
  • Количество каталогов композиций: до 100
  • Количество композиций в каталоге: до 255
  • Форматы аудиофайлов: MP3, WAV, WMA
  • Кол-во уровней громкости: 30
  • Режимов эквалайзера: 6 (Normal/Pop/Rock/Jazz/Classic/Base)

Для реализации самого простого плеера не нужно подключать DFPlayer к Arduino. Достаточно подключить несколько кнопок вот по такой схеме.

Но у нас уроки про Arduino, поэтому рассмотрим простой пример подключения MP3-плеер к Arduino, который подключается по аппаратному или программному UART порту (пины RX и TX) Ардуино.

Код с выводом отладочной информацией будет вот таким. Данный код взят с сайта библиотеки DFRobotDFPlayerMini. Также нам понадобится библиотека для работы спрограммным UART портом SoftwareSerial.Скачать библиотеки можно внизу статьи, в разделе материалы для скачивания.

Для воспроизведения аудиофайла необходимо поместить на карту памяти microSD один трек. Файлы рекомендуется помещать в папку mp3 и называть порядковыми номерами вот в таком формате 0001.mp3. Мой опыт показывает, что можно скидывать файлы с любым названием и помещать в корень флешки, но воспроизводиться файлы будут в том порядке, в каком их загрузилина карту памяти. При пакетной загрузке одни файлы загружаются быстрее, а другие медленнее, из-за чего воспроизведение треков идет в хаотичном порядке.

Пример MP3-плеера на DFPlayer Mini и Arduino с возможностью выбора трека и изменением громкости.

Давайте сделаем полноценный MP3-плеера на Arduino. Для этого нам понадобится:

5. Динамик. Я использую от ноутбука.

6. 2 резистора на 10 кОм.

Все компоненты нашего будущего MP3-плеера на DFPlayer соединяем по схеме.

Загрузим файлы с треками на карту памяти microSD, я использую 3 трека с YouTube, чтобы можно было воспроизводить музыку в видеоролике и не получить бан. Архив с треками можно скачать внизу статьи, в разделе материалы для скачивания.

Код для MP3-плеера на DFPlayer Mini и Arduino с возможностью выбора трека и изменением громкости будет вот такой.

У платы Arduino NANO всего один аппаратный Serial Port, поэтому будем использовать программный порт. Для этого нужно установить и подключить библиотеку SoftwareSerial.h.

Чтоб проверить, подключен или нет DFPlayer используется условие:

Если в мониторе порта мы видим надпись «DFPlayer Mini online.» все подключено правильно и работает.

Данные строки кода

Включают первый трек. И выводят в монитор порта информацию об этом.

Строки ниже выводят в монитор порта полезную информацию о статусе работы.

Первая строчка выводит статус: цифра с кодом.

Вторая строчка выводить уровень текущей громкости от 0 до 30

Третья выводит настройки эквалайзера, также в цифровом значении.

Четвертая выводит, сколько треков найдено на карте памяти.

Последняя стока выводит, какой трек воспроизводится сейчас.

В мониторе порта это будет выглядеть вот так:

В основном цикле loop выводим условия проверки нажатия той или иной кнопки. И выполняем нужную команду.

Это одно условие для примера, остальные устроены аналогично, их рассматривать не будем. Список команд для работы с DFPlayer Mini myDFPlayer.next(); // Воспроизвести следующий mp3

Как видите, не так много кода и алгоритм работы достаточно несложный. Планирую реализовать пару проектов с использованием модуля DFPlayer Mini и Arduino, ESP8266, ESP32 для публикации на сайте. Благо, опыт работы с этим модулем и данными платформами есть.

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

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке.

Понравилась статья? Поделитесь ею с друзьями:

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector