Главная » Arduino
Призовой фонд
на август 2019 г.
1. 1000 руб
Паяльник
2. Тестер компонентов MG328
Паяльник
3. 200 руб.
От пользователей

Аудиоплеер на Arduino

Соберем аудиоплеер. Что нам для этого понадобится? Во-первых, нам нужен "мозг", который будет все контролировать. В качестве такого мозга возьмем Arduino. Во-вторых, нам нужно будет откуда-то считывать данные. В качестве такого носителя данных возьмем компактные мини SD-карты. И, конечно же, динамики для воспроизведения звука. Еще запрограммируем пульт для дистанционного управления.

Сначала разберемся как подключить SD карту к Arduino. Есть специальные SD Card Shield, в которых выведены все контакты. Но такие шилды стоят денег, а я думаю у каждого где-нибудь завалялся адаптер для подключения мини SD-карты в разъем для полноразмерной SD-карты. Они, как правило, идут в комплекте. Распиновка у них следующая

 

Как видим, SD-карты работают от напряжения 3.3 вольта, а у Arduino высокий логический уровень это 5 вольт. По-хорошему, надо бы использовать тут делители напряжения или стабилизаторы. Хорошая статья есть на сайте Паяльник. Но так как у меня не оказалось под рукой ни стабилизаторов, ни резисторов нужных номиналов, то на свой страх и риск я напрямую припаял провода к этим выводам.

Две земли соединил между собой, чтобы подключать только одну из них. Вывод MISO соединяем с 12 пином, CLK - с 13, MOSI - с 11 и CS - c 4 пинами.

Воспроизводить звук на Arduino будем при помощи библиотеки TMRpcm. Особенностью этой библиотеки является то, что она может воспроизводить только файлы в 8 битном 8-32 кГц WAV-формате. К сожалению, программно Arduino не сможет быстро раскодировать MP3 поток, поэтому для воспроизведения MP3 файлов надо купить отдельный шилд с декодером. В 8 битных WAV-файлах амплитуда колебания кодируется 8 битами, которые легко считать в 8 битные регистры Arduino для последующей отправки уже на пины. Лучше всего конвертировать файлы в этот формат у меня получилось с помощью утилиты Wav Sample Rate Converter.

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

Землю (черный провод) воткнем в GND, а канал (белый провод) - в 9 пин.

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

Далее разберемся с пультом дистанционного управления. У меня завалялся какой-то пульт от китайской mp3 магнитолы. Я буду использовать его, а вы можете взять любой пульт от телевизора, потому что мы будем использовать библиотеку IRremote, которая поддерживает практически все форматы кодирования. В качестве ИК приемника я возьму VS 1838В. Вот его распиновка

Левая ножка будет подключена ко 2 пину Arduino, средняя к GND, а правая к 5 вольтам. Хорошую статью про то как подключать ИК -приемник тоже можно найти на сайте Паяльник.

С железом разобрались, теперь разберемся с управлением. Что нам нужно от пульта? Нужны функции воспроизведения, паузы, регулировки звука и выбора песни. Можно подключить еще монитор, выводить на него список файлов, выбирать нужный с помощью стрелочек "вверх-вниз" на пульте, но пока сделаем проще. Сделаем так, чтобы при нажатии кнопки "следующий" у нас играл следующий по списку файл, а при нажатии на кнопку "предыдущий" мы начинали проигрывание с первого файла. Нам потребуется узнать у какой кнопки какой код. После загрузки скетча "player.ino" при нажатии на кнопку вы сможете увидеть ее код в консоли. После этого надо будет поправить файл "Buttons.h" с вашими кодами

И вот он - конечный результат

Прикрепленные файлы:

Теги:

Опубликована: 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (2) | Я собрал (0) | Подписаться

+3
Дмитрий #
А где схема? Или хоть какое нибудь её подобие...
Ох уж эти ардуинщики, скетч накарябать это пол дела, как по мне слабовато для статьи и фото мутные
Ответить
0
Антон #
Жаль что на NANO не идет
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором Конструктор регулируемого преобразователя напряжения LM317
вверх