Самодельный портативный mp3 плеер USB, microSD. Видеоплеер из подручных материалов

Набравшись немного терпения, вы можете спаять самодельный MP3-плеер своими руками, при этом затратив менее 1000 руб. Т.к. программное обеспечение данного плеера представлено в открытом виде (доступны все исходники проекта), то вы можете дорабатывать его вводя новые функции, к примеру: управление по последовательному интерфейсу, можете использовать плеер в различных проектах робототехники, ну и естественно по его прямому предназначению – прослушивание музыки. Карта памяти – SD/MMC, размер памяти ограничен теоретическим лимитом спецификациями MMC-формата.

Данный MP-3 плеер поддерживает такие функции как случайное воспроизведение треков, навигация по трекам (вперед, назад, пауза), регулирование громкости воспроизведения. Также присутствует поддержка файловой системы FAT32, фрагментированных файлов, неограниченное число файлов в корневой директории, ну и естественно качество воспроизведения находится на высоком уровне. MP3-файлы с битрейтом 256 кБит/с воспроизводятся без каких-либо затыков, файлы с переменным битрейтом также воспроизводятся без проблем (в пике до 320 кБит/с).

WAV файлы также поддерживаются, но качество должно быть ниже чем у CD, пока вы не поставите кварцевый резонатор с большей частотой. На моем тестовом плеере это работает, однако запустить PIC с более чем ~8 МГц кварцем при питании 3.3 Вольта проблематично.

Для записи файлов на карту памяти вам будет нужен кард-ридер. Помните, что карта памяти должна быть в формате FAT32, а не в FAT16 или каком-либо другом.

Файлы на карте памяти должны быть с расширением.mp3. Вставьте карту памяти в плеер и включите питание, воспроизведение начнется с первого трека. Файлы воспроизводятся в том порядке – как они были на нее записаны (если не включена функция случайного воспроизведения).

Чтобы включить случайное воспроизведение, удерживайте кнопку “следующий трек” во время включения MP3-плеера. Функция будет работать до следующего включения плеера. Когда все треки будут проиграны, воспроизведение останавливается и плеер уходит в “sleep” режим.

Исходный код

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

Если в исходном коде вам не нужно делать каких-либо изменений и корректировок, то в архив я вложил уже готовый HEX-файл. Перед прошивкой не забудьте очистить фьзы BROWNOUT и WATCHDOG, иначе устройство не заработает!

Почти вся память контроллера 4К используется. Память EEPROM 256 байт полностью используется под таблицу данных для функции случайного воспроизведения. При необходимости можно освободить память, удалив несколько не очень критичных функций, к примеру функции для кнопок и случайное воспроизведение.

Список используемых радиоэлементов :

Кол-во Номер Описани е
1 PIC16LF88, в SOIC корпусе Микроконтроллер
1 VS1011b, SOIC-корпус. Думаю vs1011e также должна подойти с некоторыми изменениями MP3 -декодер
1 Alps # SCDA1A0901 (available at Mouser.com) SD/MMC сокет
1 Светодиод красного свечения
1 digikey# CP-3523SJCT-ND Стерео-гнездо для наушников
1 ECS inc.# ECS-129-18-4 12.96 МГц или аналог 12.96 МГц кварц
2-4 digikey# 311-1154-1-ND 22пФ конденсатор
1 digikey# MCP1700T3302ETTCT-ND 3.3 В стабилизатор, SOT23-3 корпус
6 digikey# BC1300CT 0.1 мкФ конденсатор
3 digikey# PCE3093CT 100 мкФ конденсатор, поверхност. монтажа
9 10K резистор
5 digikey# 401-1131-1-ND мини-джойстик
1 наушники
1 digikey# SBH-431A-ND Держатель для батарей
1 1M резистор
1 1K резистор
1 digikey# 478-3026-1 10 – 15 мкФ конденсатор

В настоящее время, когда в магазинах изобилие всевозможных гаджетов; планшетов, смартфонов, mp3 плейеров, может возникнуть вопрос для чего собирать цифровое устройство дома, своими руками? Дело это непростое, да и удовольствие не из дешевых. Но зачем в советское время собирали детекторные приемники, приемники на одном или нескольких транзисторах. Ведь и тогда в магазинах были в продаже так называемые “транзисторы”, маленькие переносные радиоприемники с хорошим дизайном, да и по своим параметрам часто превосходящие самодельные. Дело в том, что радиолюбители по натуре люди творческие, и никогда не пойдут в магазин покупать что либо, если такое же устройство или аналог, можно собрать своими руками. Так произошло недавно и со мной. Несмотря на то, что есть и mp3 плейер и плейер на телефоне, решил собрать аудиоплейер своими руками. Просматривая недавно радиолюбительские сайты, на одном интернет ресурсе нашел схему интересного и относительно простого аудио плейера Wav файлов. Если кто-то не в курсе, что это за формат, Wav, поясню, это формат аудиофайлов, используется часто в работе музыкантами. Почему именно Wav, а не более популярный в широких кругах mp3? Аудио плеер Wav файлов собрать значительно легче, чем mp3 файлов.

В моем устройстве применен распространенный и недорогой микроконтроллер AVR attiny2313v. Ниже вы можете видеть его схему, взятую с интернет ресурса, по которой сделал данный плеер с небольшими изменениями:

Схема плеера

Файлы Wav формата хранятся на micro SD флешке, подключенной в устройстве через SD адаптер. При желании если позволяет опыт, можно переразвести печатную плату и подключать micro SD флешку через собственный разъем. Аналогичный разъем стоит в сотовых телефонах. При этом нужно помнить, что номера контактов SD флешки не соответствуют номерам контактов micro SD флешки. Список контактов обоих флешек с нумерацией приведен на следующем рисунке:

В устройстве, которое планируется как переносной аудио плеер с питанием от аккумуляторов, будут применены 2 последовательно соединенных б\у аккумулятора от сотовых телефонов на 3.7 вольта каждый. Привожу рисунок разведенной мною печатной платы из программы sprint layout:

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

Вместе эти два аккумулятора, которые выбрал, дают 7,4 вольта. Так как для питания карты памяти необходимо питание 3.3 вольта, решено было питать все устройство, в том числе и микроконтроллер от стабилизатора 3.3 вольта в корпусе ТО-220. Тут использовал AZ1085-3.3. Стабилизатор без радиатора должен легко выдавать стандартный 1 ампер, что для моих целей более чем достаточно. Так выглядит стандартный корпус стабилизатора в ТО-220.

Если применить для питания карты памяти отдельный стабилизатор на 3.3 вольта, думаю даже в корпусе ТО - 92 будет достаточно. Тогда микроконтроллер можно будет питать от стандартных 5 вольт. Также на печатной плате были установлено гнездо Джек-3.5 стерео, в котором запараллелил оба канала, чтобы звук был хоть и моно, но в обоих наушниках. Так выглядела плата после травления:

Контакты стабилизатора перенеслись при ЛУТе не полностью, и были подрисованы перманентныим маркером. Травить предпочитаю лимонной кислотой и перекисью водорода:

Питание планируется помимо аккумуляторного, стационарное, через гнездо, от нестабилизированного адаптера питания, с которого подается 11 вольт. В обвязке стабилизатора, в отличие от стандартных конденсаторов на 0.33 и 0.1 микрофарад, которые ставятся в схеме на 7805, должны были быть применены танталовые конденсаторы на 10 микрофарад по входу и на 22 микрофарада по выходу. Поискав в своих закромах, нашел 3 нужных конденсатора на 10 микрофарад, по выходу поставил 2 параллельно. Управляется устройство тремя кнопками, 2 из них без фиксации, это Выбор директории Dir1\Dir2 и Play\Select, и 1 с фиксацией, Repeat, то есть повтор. Когда она нажата, трек повторяется бесконечно. Залуженная плата и просверлены отверстия:

В этом варианте устройства выбор трека кнопками, подключенными к контактам микроконтроллера 6,7,8,9 не осуществлен. Также не используется UART, контакты МК 2,3 и включение эффектов Монстер и Хелиум, контакты 12,15. SD адаптер временно прикрепил к плате на скотч, впоследствии закреплю на термоклей. Вот собранное устройство:

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

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

Для пакетной конвертации файлов хорошо подходит Weeny Free Audio converter . Формат файлов должен быть WAV , 8 бит, 32000 герц, Моно. Файлы должны быть размещены в двух папках созданных в корневом каталоге флешки. Папки должны называться (1) и (2), без скобок. Начинаться файлы должны с букв английского алфавита, первый файл, a_любой текст, второй, b_любой текст, третий, c_любой текст, d... и так далее. Например, как на следующем рисунке:

Поддерживаются любые Micro SD карты объемом до 2 гигабайт. Карты памяти SDHC или SDXC не поддерживаются. Рисунок как выставлять фьюзы для программы uniprof приведен ниже:

Видео работы плеера

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

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

Данный MP-3 плеер поддерживает достаточно много функций, например случайное воспроизведение дорожек, навигация по дорожкам (вперед, назад, пауза), регулирование громкости звука воспроизведения. Также тут присутствует поддержка файловой системы FAT32, фрагментированных файлов. Качество звука и воспроизведения музыкальных файлов находится на очень высоком уровне. MP3-файлы с битрейтом 256 кБит/с воспроизводятся без каких-либо проблем, файлы с переменным битрейтом также воспроизводятся без проблем, максимально до 320 кБит/с.

WAV файлы также поддерживаются, но качество не на высоком уровне, для улучшение качество этого формата нужно поставить кварцевый резонатор с более высокой частотой. Для записи файлов на карту памяти вам нужен кард-ридер. Карта памяти должна быть в формате FAT32, а не в FAT16. Файлы на карте памяти должны быть в формате mp3. Нужно вставить карту памяти в MP3 плеер и включить питание, воспроизведение файлов начнется с первой дорожки.

Файлы воспроизводятся в записанном на карте порядке, но у плеера есть также функция случайного выбора дорожек. Чтобы включить случайное воспроизведение, нужно удержать кнопку <следующий трек> во время включения плеера. Когда все дорожки будут проиграны, воспроизведение останавливается и плеер уходит в ждущий режим.

В качестве компилятора использован PCM midrange compiler от CCS. Данный самодельный МП3 плеер обойдется вам не дорого, но собрать достаточно сложно из-за используемых в нем смд компонентов и цифровых технологий, если у вас нет опыта, лучше не связывайтесь с такими проектами! Возможно также дополнение устройства юсб портом, для возможности использования флешек.

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

В настоящее время рынок насыщен МП-3 плеерами, хранящими аудиозаписи в виде МП-3 файлов в флэш-памяти, но в основном это миниатюрные карманные устройства, рассчитанные на индивидуальное прослушивание музыки на наушники. Здесь приводится описание схемы самодельного автомобильного МП-3 плеера. Его выходная мощность 2 x 25 Ватт при сопротивлении акустических систем по 4 Ом. Носителем информации является SD-карта любого объема данных. Файлы в ней размещаются в корневом каталоге, все должны иметь расширения «.mp3». После установки карты и включения начинается последовательное воспроизведение треков, в том порядке, в котором они размещены на карте.

Плеер поддерживает файловую систему FAT32.

WAV — файлы не поддерживаются.
Должны быть только MP3 файлы.

Управление осуществляется пятью кнопками. Кнопкой S1 можно переходить от одного трека к следующему по порядку их расположения на карте памяти. Кнопка S3 останавливает воспроизведение, и при повторном нажатии воспроизведение продолжается. Кнопкой S5 можно перебирать треки в обратном направлении, например, если нужно повторить воспроизведение уже прослушанного трека, либо вернуться на несколько треков назад.

Кнопки S2 и S4 служат для регулировки громкости.

Основу схемы составляет декодер МП-3 файлов VS1011 (в 28-вы водном корпусе), который преобразует их в аналоговый сигнал, а так же микроконтроллер PIC16F88, управляющий декодером МП-3 файлов и картой памяти. Микроконтроллер работает с внешним резонатором 8 MHz, декодер МП-3 файлов использует кварцевый резонатор на 13 MHz (12,96 MHz).

Сформированный аудиосигнал подается на интегральный УМЗЧ на микросхеме А2. Это стереофонический мостовой УМЗЧ для применения в автомобильной аудио-технике. Микросхема УМЗЧ должна быть установлена на радиатор.

Подстроечными резисторами R16 и R17 устанавливается номинальный уровень сигнала, поступающий на УМЗЧ, а так же необходимый стереобаланс. Цепи R18-С16 и R19-C17 представляют собой простейшие фильтры, подавляющие импульсные продукты цифро-аналогового преобразования.

Цифровая часть схемы питается напряжением 3,6V, полученным при помощи интегрального регулируемого стабилизатора на микросхеме А1. В самом начале налаживания, перед первым включением питания нужно удалить перемычку F1 чтобы отключить питание цифровой части. Затем проверить работоспособность
УМЗЧ и настроить стабилизатор напряжения. Нужно подключить вольтметр (мультиметр) к точке +3,6V и подстройкой F1 выставить в этой точке напряжение 3,5…3,6V. После этого можно впаять перемычку F1.

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

Фьюзы brownout — disabled
watchdog — disabled


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

Привет всем!!
Сегодня я хочу предложить вам не совсем привычную схему для этого сайта.
Все, кто пересматривал статьи здесь, наверняка заметил, что большинство из устройств представляют собой различные световые установки, которые, в большинстве, базируются на микроконтроллерах и кучи светодиодов.
В этой статье я расскажу, как можно дома, без использования профессионального оборудования, собрать компактный, автономный и полностью работоспособный 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 дня свободного времени, терпение и прямые руки:D

Ну что ж, приступим. Вырезаем из двухстороннего текстолита прямоугольный кусочек размером ~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 все прошло) Ну что ж, я вроде бы все рассказал, что хотел))

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

https://service4u.narod.ru/html/mp3.html

Просто когда я попал на тот сайт, мне сразу захотелось его собрать, но...проблема была в том, что я ещё никогда не собирал столь сложные схемы и для меня там было много непонятного...Я долго лазил по гуглу, искал темы об микроконтроллерах, создавал форумы, спрашивал то то, то се...также переписывался с автором вышеуказанного сайта. Короче говоря, были заботы. Здесь же я "разжевал" для вас всё и думаю, что после этой статьи у вас вопросов не останется. Ну а если и будут, то пишите на почту [email protected] . И ещё одно, что хотел сказать... собрать такой mp3 может каждый. Ведь мне то, на данный момент, всего лишь 14 лет и этой только вторая моя схема на микроконтроллере, причём первая так и не увенчалась успехом...также я первый раз работал с настолько мелкими микросхемами и деталями, в общем. Ведь здесь я запаял микросхему размером меньше 1x1см и с 48 выводами, учитывая, что перед этим самая сложная микросхема, которую я встречал - 20 выводная в DIP корпусе. Вот так вот.

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

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

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

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

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

Удачи!


Как вам эта статья?



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: