0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать простой плеер из Arduino и SD-ридера

Содержание

Делаем аудио плеер на Ардуино для проигрывания WAV-файлов

Простой и забавный проект для Ардуино, благодаря которому мы сможем за 10-15 минут сделать аудио плеер, который воспроизводит файлы формата .wav. Он состоит из динамика, простого транзистора, действующего в качестве усилителя и адаптера micro-SD-карты на которой мы разместим наши файлы WAV.

Что нам понадобится и где купить

Список деталей небольшой и собрать его не трудно. Также для удобства мы привели ссылки на товары на сайте АлиЭкспресс. Если у вас нет таких деталей — лучше сразу сделать один большой заказ, сумма заказа получится минимальной.

Кол-воДеталь
1Arduino Uno (другие платы Ардуино тоже подойдут кроме Duo
1Адаптер Micro-SD карт (читать и записывать)
18 Ом динамик
1Micro-SD карта
1Макетная плата
1BC 546b NPN-транзистор
17K резистор
Провода-перемычки папа-папа

На данный момент мы рекомендуем заказывать всё на известном сайте АлиЭкспресс. При тщательном выборе поставщика именно там вы получите качественный и недорогой товар. Большинство российских Интернет-магазинов ставят цены зачастую в разы выше. В ближайшее время мы сделаем очень подробное описание процесса заказа на сайте АлиЭкспресс, а пока можно ознакомиться с нашей мини-инструкцией.

Программное обеспечение

Также нам для проекта пригодится некоторое программное обеспечение на нашем компьютере и некоторые библиотеки.

  • Arduino IDE (рекомендуем последнюю версию)
  • SD Formatter tool от SD Association
  • Библиотека TMRpcm library (Github)

Как работает аудиоплеер?

Ардуино в приведенной ниже схеме загружает файлы .wav с карты micro-SD. Затем он генерирует сигнал и выводит его через динамик, подключенный к цифровому выходу 9. Это позволяет динамику создавать звуки и воспроизводить музыку. В этом уроке вы можете запрограммировать аудиоплеер Ардуино так, чтобы он играл ваш любимую песню или мелодию.

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

Сэмплов в секунду (Гц): 16000 (16 КГц)
Канал: Моно
Бит на сэмпл: 8

Преобразование файлов в формат .wav для вашего аудиоплеера Arduino

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

Небольшая инструкция для того, чтобы сделать песни совместимыми с аудиоплеером на Ардуино:

  1. Загрузите музыкальный файл или введите ссылку на песню или аудиофайл, который нужно преобразовать. Вы даже можете выбрать файлы из Dropbox или Google Диска.
  2. В дополнительных настройках измените разрешение бит на 8 бит.
  3. Измените частоту дискретизации до 16000 Гц.
  4. Измените аудиоканалы на моно.
  5. Нажмите «Показать дополнительные параметры» («Show advanced options»).
  6. Установите формат PCM как 8-битный — PCM unsigned 8-bit.
  7. Нажмите «Преобразовать» (Convert), и файлы будут преобразованы!

Форматирование Micro-SD карты

Загрузите инструмент SD Formatter, ссылку мы давали выше.

Запустите инструмент как администратор. Выберите нужный диск для форматирования. Назовите свою карту, заполнив поле метки тома и нажмите кнопку «Форматировать».

Добавьте ранее сконвертированные WAV-файлы на карту и сохраните их с простыми именами, такими как, например, «81.wav».

Схема соединения аудиоплеера

Наша схема выглядит так:

  • MOSI — контакт 11 на Arduino Uno
  • MISO — контакт 12 на Arduino Uno
  • CLK-контакт 13 на Arduino Uno
  • CS — зависит от экрана или модуля SD-карты.

Пин 4 используется для согласованности с кодом Ардуино ниже.

Код для устройства

Скетч для нашей платы:

В целом, на этом всё. Осталось просто подключить питание, и ваш аудиоплеер Arduino будет успешно воспроизводить вашу любимую песню.

Урок 17. Подключение Mini MP3 плеера к Arduino

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

В данный модуль вставляется microSD карточка, на которую предварительно мы можем записать Mp3 композиции, которые, в дальнейшем, сможем воспроизводить с помощью Mini MP3 Проигрывателя.

Нам понадобится:

Для реализации проекта нам необходимо установить библиотеки:

Демонстрация:

Подготавливаем microSD карточку:

Mini MP3 Проигрыватель может распознавать карты объемом до 32G и файловой системой FAT16 , FAT32 .

  1. Для начала нам необходимо подключить карту через катридер к компьютеру и отформатировать карточку.
  2. Теперь нам нужно создать папку с названием «mp3«.
  3. Записать ваши mp3 композиции в данную папку и дать им имена «0001.mp3» , «0002.mp3«, «0003.mp3» и тд. Так же файл можно называть «0001alla-tratata.mp3» главное, указать в самом начале номер трека в четырех символьном формате.

Описание контактов:

Pin NumberPin DescriptionDescriptionNote
1VCCПитаниеПитание постоянного тока от 3 до 5 Вольт
2RXUART serial input
3TXUART serial output
4DAC_RAudio output right channelВыход на усилитель, правый канал
5DAC_LAudio output left channelВыход на динамик, со встроенного усилителя до 3W
9IO1Trigger port 1Короткое нажатие ||◄ (длительное нажатие — уменьшение громкости)
10GNDGroundВыход на динамик, со встроенного усилителя до 3W
11IO2Trigger port 2Короткое нажатие ►|| (длительное нажатие — увеличение громкости)
12ADKEY1AD port 1Trigger play first segment
13ADKEY2AD port 2Trigger play fifth segment
14USBUSB DPUSB Port
15USB-USB- DMUSB Port
16BusyPlaying StatusLow means playingHigh means no

Модуль имеет сразу два вида выходного сигнала: первый — со встроенным усилителем, а второй вариант — через внешний усилитель например УНЧ модуль 2*3 Вт класса D PAM8403. В наших примерах будет рассматриваться вариант со встроенным усилителем.

  • Подключение к усилителю c помощью выходов DAC_R и DAC_L
  • Подключение к динамику напрямую. динамик подключается одним контактом IO1 , а вторым к IO2

Пример 1. Управление с помощью Arduino

Схема подключения:

Данный Mini MP3 Проигрыватель может быть подключен как обычному Serial порту, так и к виртуальному Serial порту. Это дает возможность arduino подключиться к компьютеру и к mp3 проигрывателю.

Подключать удобнее всего с помощью Breadboard mini и проводков папа-папа. Так же не забудьте подключать Mp3 плеер к Serial порту с через резисторы на 1 кОм.

В результате у вас должна получиться примерно следующая картина:

Не забудьте установить библиотеку Mini mp3 Arduino Library V2.0.

Скетч №1:

Данный пример запустит проигрывание треков и каждые 10 секунд будет переключать на следующий трек.

Между двумя командами необходимо делать задержку delay (100); 100 миллисекунд, в противном случае некоторые команды могут работать не стабильно.

Читать еще:  Инструкция Как выкрутить сломанный болт: 100% Рабочий способ

Скетч №2:

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

Скетч №3:

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

Полный список функций:

  • mp3_play (); // Запуск воспроизведения
  • mp3_play (5); // Воспроизвести файл «mp3/0005.mp3»
  • mp3_next (); // Следующий трек
  • mp3_prev (); // Предыдущий трек
  • mp3_set_volume (uint16_t volume); // Уровень громкости 0

30
mp3_set_EQ (); // Эквалайзер 0

5 (0 — Normal, 1 — Pop, 2 — Rock, 3 — Jazz, 4 — Classic, 5 — Bass)

  • mp3_pause (); // пауза
  • mp3_stop (); // остановить воспроизведение
  • mp3_random_play (); // Воспроизвести в случайнВоспроизвести в случайном порядке.
  • void mp3_get_state (); //send get state command
  • void mp3_get_volume ();
  • void mp3_get_u_sum ();
  • void mp3_get_tf_sum ();
  • void mp3_get_flash_sum ();
  • void mp3_get_tf_current ();
  • void mp3_get_u_current ();
  • void mp3_get_flash_current ();
  • void mp3_single_loop (boolean state); //set single loop
  • void mp3_DAC (boolean state);
  • Пример 2. Автономное управление без Arduino, с помощью подключенных кнопок.

    Данный модуль может работать как под управлением микроконтроллера Arduino, так и автономно, как самостоятельный проигрыватель mp3.

    Но модулем нужно как-то управлять, регулировать громкость, переключать треки и тд. Эти возможности мы можем реализовать очень просто, нам нужно подключить управляющие кнопки, и с помощью них мы сможем полноценно управлять mp3 проигрывателем.

    Есть несколько вариантов подключения:

    Простой способ (Минимум функций):

    Расширенный способ (Максимальный функционал):

    Урок 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.

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

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

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

    Музыка на Arduino с модулем MP3 и WAV

    Модули Ардуино позволяют создать множество различных электронных устройств, которые будут работать по несложным программам. Одним из таких устройств является компактный плеер. Ардуино плеер, проигрывающий WAV и МР3 файлы, может быть реализован на базе любого контроллера (Uno, Nano, Mega и т.п.) с помощью адаптера micro-SD, который позволяет записывать и считывать музыкальные файлы.

    Формирование звука на Arduino

    Несмотря на то, что платформа Arduino, в основном, предназначена для работы с цифровыми устройствами, в архитектуру микроконтроллеров входят аналого-цифровой и цифро-аналоговый преобразователи и несколько каналов широтно-импульсной модуляции. Это позволяет осуществлять захват звуковых сигналов и их воспроизведение. Платформа Ардуино включает в себя как 8-битные AVR контроллеры, так и мощные 32 битные ARM процессоры. Принцип воспроизведения файлов Arduino MP3 не позволяет обеспечить высокое качество звука, поскольку с выхода контроллера снимаются импульсы прямоугольной формы (меандр), отличающиеся от идеального синусоидального сигнала.

    Самым бюджетным модулем платформы Ардуино, является Arduino UNO с микроконтроллером ATmega 328, в котором интегрированы два 8-битных и один 16-битный счётчик, каждый из которых может быть использован для генерации ШИМ. Контроллеры получают сигналы от внешних источников и выдают свои собственные сигналы через порты ввода/вывода (GPIO). Теоретически порты микроконтроллера предназначены для работы с уровнями логического нуля и логической единицы, тем не менее, выводы GPIO позволяют оцифровывать аналоговые сигналы с ограничением по уровню и генерировать сигналы различной формы с помощью ШИМ и фильтра низких частот. Внешние данные могут поступать разными способами, но основным методом оцифровки звукового сигнала является использование АЦП.

    Так же данные могут поступать на микроконтроллер через первый разряд порта ввода/вывода. Аналого-цифровой преобразователь позволяет точно оцифровывать входной сигнал с разрешением до 10 бит. Оцифровка может выполняться на более высокой скорости преобразования, но при этом уменьшается точность, так как два младших бита игнорируются. После того как входной сигнал был оцифрован и прошёл необходимые преобразования он может быть конвертирован в аналоговую форму через блок ШИМ. Амплитуда сигнала кодируется через соотношение длительностей логического нуля и логической единицы. Важным этапом обработки выходного сигнала является фильтрация, удаляющая высокочастотные компоненты модуляции. Так же фильтры ограничивают частотный диапазон звукового сигнала.

    Для воспроизведения отдельных частот звукового диапазон можно использовать внутренний генератор Arduino. Для этого достаточно подключить к плате пьезоэлектрический динамик и задать простую функцию. Динамик подключается между контактами GND и «2» разъема Digital. Динамик нужно подключать через резистор 100 Ом. Далее задаётся конкретная функция. Выбирается контакт const byte dinPin = 2; Контакт настраивается как выходной pinMode (dinPin, output); //. Затем командой tone можно включить генератор с заданной частотой. Команда выглядит следующим образом: tone ( dinPin, 440 ) ; // Получился электронный камертон генерирующий ноту Ля первой октавы. Нота будет звучать до тех пор, пока генерация не прекратится командой noTone ( dinPin ); //

    Плеер для Ардуино

    Простейший плеер можно собрать буквально за 20 минут. Для этого потребуются следующие элементы:

    • Адаптер для карт памяти.
    • Соединительные провода.
    • Динамик 8 Ом.
    • Транзистор BC 546 B.

    На транзисторе собран усилитель низкой частоты. Без него можно обойтись, подключив к плате Ардуино высокоомный пьезоэлектрический динамик, но он имеет ограниченный частотный диапазон и не обеспечит нормального качества звучания. Arduino wav-файлы воспроизводит нормально, а вот для чтения файлов в формате МР3 он не предназначен, поэтому все звуковые файлы нужно конвертировать в формат wav, используя программу Online-convert.com. Файлы записываются в формате wav pcm Mono 8 kHz 8 bit. SD-карту памяти нужно отформатировать и затем перенести на неё wav файлы с простыми идентификаторами типа “001.wav. Адаптер для чтения SD-карт имеет встроенный стабилизатор напряжения, поэтому обе платы можно питать от одного источника +5 В. Адаптер подключается к плате Ардуино следующим образом:

    • CS – 10 контакт.
    • MOSI –11 – “ – “.
    • MISO –12 – “ – “.
    • CLK – 13 – “ – “.
    • GND – земля.
    • 5 V – питание + 5 В.

    Для работы устройства следует загрузить библиотеку TMRpcm-Arduino, которая предназначена для чтения файлов в формате wav непосредственно с карты памяти. Библиотека поддерживает все модули, выполненные на микроконтроллере ATmega328.

    Модуль МР3 для ардуино

    Более сложной модификацией плеера является вариант с использованием отдельного устройства, где датчик МР3 позволяет воспроизводить файлы именно в этом формате. Обычным носителем информации в мини плейерах является твердотельный накопитель информации или карата памяти micro-SD. На ней располагаются звуковые файлы определённого формата. Чаще всего используются карты с ёмкостью, не превышающей 32 Гб. Для подключения к Arduino удобно использовать DF Player Mini MP3. Он представляет собой компактную плату, на которой находятся следующие компоненты:

    • Слот для установки карты.
    • Усилитель звуковой частоты.
    • Дискретные элементы.

    Питание модуля осуществляется от источника постоянного тока с напряжением 3,5-5,0 В. Плейер поддерживает форматы MP3, WAV, WMA и TF карты с системами FAT16 и FAT32. В устройстве имеется возможность управлять уровнями громкости от 0 до 30 и включать одну из 6 предустановленных настроек эквалайзера. Подключение плеера к ардуино выполняется следующим образом:

    • VCC – + 5 V
    • RX – RX
    • TX – TX
    • SPK 1 – динамик
    • SPK 2 – динамик
    • GND – GND

    Линии RX и TX подключаются через резисторы 1 кОм. Для того чтобы устройство заработало нужно загрузить библиотеку Mini mp3 Arduino Library V2.0. Основной набор команд, выполняемых плеером:

    • Mp3_play (0002) – воспроизведение файла с указанным номером.
    • Mp3_stop – остановка воспроизведения.
    • Mp3_next – следующий файл.
    • Mp3_prev – предыдущий файл.
    • Mp3_set_volume – выбор уровня громкости.
    • Mp3_set_EQ (0-5) – выбор предустановки эквалайзера.

    Если подключить к плееру USB порт через контакты USB «+» и «–», то можно воспроизводить звуковые файлы, записанные на флэш-карте.

    Сайт про изобретения своими руками

    МозгоЧины

    Сайт про изобретения своими руками

    Как сделать простой плеер из Arduino и SD-ридера

    Как сделать простой плеер из Arduino и SD-ридера

      SaorY Posted on 05.09.2015Изобретатели,Новичкам,Электронные самоделки9 Comments

    Доброго дня, мозгоизобретатели! В копилку Arduino-поделок предлагаю простой плеер, собрать который будет полезно и новичку, и опытному мозгочину.

    Суть самоделки такова: мелодии считываются с карты и по командно воспроизводятся через последовательное соединение.

    Имена файлов с мелодиями для воспроизведения должны быть такими же, что и прописанные в коде.

    • Arduino UNO
    • SD-кардридер
    • динамик

    Шаг 1: Код Arduino

    Распиновка
    ** MOSI – pin 11 ** MISO – pin 12** CLK – pin 13** CS – pin 4

    Сам код
    #include // SD card library

    #define Sd_Chip_pin 4

    #include // playing the melody library

    char val;TMRpcm tmrpcm; // Create a melody function

    tmrpcm.speakerPin = 9; // 9 pin to attach digital speakers + leg

    // sd module bağlanma return; > >

    Шаг 2: Видео

    Благодарю за мозговнимание, надеюсь было интересно!

    ( Специально для МозгоЧинов#Arduino-playing-the-melody-with-the-Sd-card

    Рекомендуемые посты

    Аппарат для точечной сварки на базе Arduino

    Способы подключения автоматов в электрощите

    Усовершенствование фонарика — замена кнопки

    9 Replies to “Как сделать простой плеер из Arduino и SD-ридера”

    Да как-то не уважительно га русскоязычном форуме не по-русски изъясняться. На польском форуме ляпни, так сразу «От курва. »

    Друзья, дело не в уважении наверное…. От лица администрации закрываю на это глаза — лишь бы человек был хороший и мысли верные выражал. 60% конечно же читателей вряд ли поймёт о чем он, но… оставим на его усмотрение. Каждый отвечает за себя, а мы следим за порядком в целом.

    може все ж отримаю допомогу ? і все ж піду з видаленням акаунта ? ідей все менше, а народ більше хвилює моя мова, а не те що можу знати. то не добре. якщо мені треба, лізу на китайскі на мексиканскі сайти, при умові що я по їх не «ботю» для ардуін використаю специфічний екранчик, були проблеми з бібліотеками, і ніхто не міг допомогти, пішов на сайт програмерів, мені важко писати російскою. я читаю але практично не пишу, або дуже безграмотно. а спілкувався довелось. мені треба в мене немає вибору. тому кому треба — той прочитає. а тут задаєш питання автору а він губиться, не розуміючи ні те що постить ні те про що спитали. думаю останній мій коммент . спробую більше не писати. звісно якщо не отримаю допомогу і мене таки видалять 🙂

    для тех кто не в теме

    может все же получу помощь ? и все же пойду с удалением акаунта ? идей все меньше, а народ больше волнует мой язык, а не то что могу знать. то не хорошо. если мне надо, лезу на китайские на мексиканские сайты, при условии что я по не их «ботю» для ардуино использую специфический экранчик, были проблемы с библиотеками, и никто не мог помочь, пошел на сайт програмерив, мне трудно писать по русски. я читаю но практически не пишу, или очень безграмотно. а общался пришлось. мне надо, у меня нет выбора. поэтому кому надо — тот прочитает. а здесь задаешь вопрос автору а он теряется, не понимая ни то что спросили, ни то о чем спросили. думаю последний мой коммент . попробую больше не писать. конечно если не получу помощь, и меня все же удалят:)

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

    Простой аудиоплеер и усилитель на Arduino Uno

    Добавление звуков или музыки в какой-нибудь ваш проект (устройство) всегда выглядит хорошо. Особенно просто добавить музыку/звук в ваш радиоэлектронный проект если он построен на основе платы Arduino и у вас есть свободные контакты на этой плате. В этом случае вам нужно будет просто докупить модуль для SD карты и нормальный динамик.

    В этой статье мы рассмотрим как можно просто проигрывать музыку или добавлять различные звуковые эффекты в ваш проект с использованием платы Arduino. Хочется сказать спасибо сообществу Arduino которое разработало специальные библиотеки, позволяющее реализовать работу со звуком в Arduino с минимальными усилиями. В этом проекте кроме платы Arduino мы еще использовали микросхему LM386 для усиления сигнала и уменьшения помех.

    Необходимые компоненты

    Плата Arduino Uno
    Модуль чтения SD карт
    SD карта
    Аудио усилитель LM386
    Конденсатор 10 мкФ (2 шт.)
    Конденсатор 100 мкФ (2 шт.)
    Резистор 1 и 10 кОм
    Кнопка (2 шт.)
    Макетная плата
    Соединительные провода

    Основы работы с WAV аудиофайлами в Arduino

    Для проигрывания звуков/музыки с SD карты с помощью платы Arduino необходимо чтобы они были в .wav формате потому что плата Arduino умеет работать только с аудиофайлами этого формата. Чтобы сделать mp3 плеер на основе платы Arduino можно воспользоваться большим количеством предлагаемых на рынке шилдов (плат расширения) для Arduino, позволяющих работать с mp3. Либо можно с помощью специальных сайтов в сети интернет конвертировать формат mp3 в формат wav (этот способ мы будем использовать в данной статье).

    Таким образом, для конвертирования любых аудио файлов в wav формат необходимо выполнить следующую последовательность действий:

    Шаг 1. Перейдите на сайт — Online Wav Converter.

    Шаг 2. Установите параметры wav файла, указанные в следующей таблице. В дальнейшем вы можете экспериментировать с этими настройками, но указанные в таблице настройки обеспечивают наилучшее качество звучания.

    Bit Resolution8 Bit
    Sampling Rate16000 Hz
    Audio ChannelMono
    PCM formatPCM unsigned 8-bit

    Шаг 3. На указанном веб-сайте нажмите “choose file” и выберите файл который вы хотите конвертировать. Затем заполните необходимые настройки. Вы должны будете на экране компьютера получить примерно следующую картинку:

    Шаг 4. Теперь нажмите “Convert File” и ваш файл будет конвертирован в wav формат, который можно будет скачать к себе на компьютер.

    Шаг 5. Отформатируйте свою SD карту и сохраните ваш .wav аудио файл на нее. Запомните имя (наименование) своего файла. Можно загружать и несколько аудио файлов при необходимости. Мы в нашем проекте выбрали 4 файла с песнями и назвали их 1, 2, 3 и 4 (имена не должны изменяться). Соответственно, после конвертации мы получили файлы 1.wav, 2.wav, 3.wav and 4.wav как показано на следующей картинке.

    Работа схемы

    Схема устройства представлена на следующем рисунке.

    Поскольку наши аудио файлы хранятся на SD карте мы подключили модуль чтения SD карт к плате Arduino. Плата Arduino и модуль чтения SD карт взаимодействуют используя последовательный протокол связи SPI. Поэтому модуль чтения SD карт и подключен к контактам SPI платы Arduino как показано на схеме выше. Также необходимые соединения платы Arduino с модулем чтения SD карт дополнительно представлены в следующей таблице.

    Плата ArduinoМодуль чтения SD карт
    +5VVcc
    GndGnd
    Pin 12MISO (Master In Slave out)
    Pin 11MOSI (Master Out Slave In)
    Pin 13SCK (Synchronous Clock)
    Pin 4CS (Chip Select)

    Теперь наша плата Arduino сможет считывать музыкальные файлы с SD и проигрывать их на своем контакте 9. Но аудио сигнал на выходе контакта 9 платы Arduino будет достаточно слабый, поэтому мы будем усиливать его с помощью микросхемы аудио усилителя LM386. Данная микросхема позволяет усиливать аудио сигнал до 200 раз и ее контакт Vdd (pin 6) запитывается от контакта 5V платы Arduino. Если вы хотите увеличить/уменьшить громкость звука вам необходимо увеличить/уменьшить напряжение подаваемое на этот контакт. Максимально на этот контакт можно подать 15 В. Более подробно о микросхеме LM386 можно прочитать по этой ссылке (на английском языке).

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

    Вы можете собрать представленную схему на макетной плате как показано на следующем рисунке:

    Программирование Arduino для проигрывания музыки

    Когда вся аппаратная часть рассматриваемого проекта у вас уже готова вставьте SD карту в модуль для их чтения и выполните следующую последовательность действий:

    Шаг 1. Скачайте библиотеку для работы с аудиофайлами по следующей ссылке — TMRpcm library. На открывшемся сайте выберите “Clone or download” и выберите скачивание в формате ZIP архива.

    Шаг 2. Добавьте этот Zip файл в вашу Arduino IDE при помощи выбора пункта меню Sketch->Include Library -> Add .ZIP Library как показано на рисунке ниже и выберите ZIP файл который вы только что скачали.

    Шаг 3. Полный текст программы приведен в конце статьи, просто скопируйте и вставьте ее в вашу Arduino IDE, а потом загрузите ее в вашу плату Arduino. В этом разделе будут объяснены лишь наиболее значимые фрагменты программы.

    Проигрывание аудио файла

    Вы можете проигрывать аудио файл, хранящийся в Wav формате на SD карте, с помощью следующей команды:

    music.play(«3.wav»);
    //object name.play (“FileName.wav”);

    Постановка на паузу аудиофайла

    Для этого можно использовать команду вида:

    Перемотка вперед/назад аудио файла

    В платформе Arduino нет прямых способов перемотки аудио файла вперед/назад, однако можно проигрывать аудиофайл с заданного фрагмента времени. При дополнительном программировании эту способность можно использовать для перемотки аудио файла.

    music.play(«2.wav»,33); //проигрывание песни с 33-й секунды
    //objectname.play(“Filename.wav”,time in second);

    Установка качества аудио

    Скачанная нами библиотека обеспечивает два возможных уровня качества проигрывания музыки: в нормальном режиме и с двухкратной частотой дискретизации (2X oversampling).

    music.quality(0); //Normal Mode
    music.quality(1); //2X over sampling mode

    Установка уровня громкости

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

    music.setVolume(5); //установка уровня громкости 5
    //objectname.setVolume(Volume level);

    Работа музыкального аудиоплеера на основе Arduino

    После загрузки программы в плату Arduino просто нажмите кнопку, подсоединенную к контакту 2 платы Arduino, и начнется воспроизведение первой песни, записанной на SD карту (в нашем случае это 1.wav). Если нажмете кнопку еще один раз, то произойдет переключение на вторую песню — 2.wav и т.д.

    Можно ставить песню на паузу и возобновлять ее проигрывание с помощью кнопки, подключенной к контакту 3 платы Arduino. Более подробно все эти процессы показаны на видео, приведенном в конце статьи.

    Исходный код программы

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

    #include «SD.h» //библиотека чтобы считывать информацию с SD карты
    #include «TMRpcm.h» //библиотека чтобы проигрывать аудио файлы
    #include «SPI.h» //SPI библиотека для SD карты
    #define SD_ChipSelectPin 4 //Chip select is pin number 4
    TMRpcm music; //Lib object назовем «music»
    int song_number=0;
    boolean debounce1=true;
    boolean debounce2=true;
    boolean play_pause;
    void setup() <
    music.speakerPin = 9; //аудио выход на контакте 9
    Serial.begin(9600); //задействуем последовательный порт для целей отладки
    if (!SD.begin(SD_ChipSelectPin)) <
    Serial.println(«SD fail»);
    return;
    >
    pinMode(2, INPUT_PULLUP); //подключение кнопки 1 с внутренним подтягивающим резистором для переключения на следующий аудио файл
    pinMode(3, INPUT_PULLUP); //подключение кнопки 2 с внутренним подтягивающим резистором для паузы/воспроизведения аудио файла
    //pinMode(3, INPUT_PULLUP); //Button 2 with internal pull up to fast forward
    music.setVolume(5); // установка уровня громкости (от 0 до 7)
    music.quality(1); // установите 1 для 2x oversampling (удвоенной частоты дискретизации) и 0 для обычного режима воспроизведения аудио
    //music.volume(0); // 1(up) or 0(down) to control volume
    //music.play(«filename»,30); plays a file starting at 30 seconds into the track
    >
    void loop()
    <
    if (digitalRead(2)==LOW && debounce1 == true) //нажата кнопка 1
    <
    song_number++;
    if (song_number==5)

    debounce1=false;
    Serial.println(«KEY PRESSED»);
    Serial.print(«song_number=»);
    Serial.println(song_number);
    if (song_number ==1)
    //проигрывание песни 1 с 10-й секунды
    if (song_number ==2)
    // проигрывание песни 2 с 33-й секунды
    if (song_number ==3)
    //проигрывание песни 3 с начала
    if (song_number ==4)
    // проигрывание песни 4 с 25-й секунды
    if (digitalRead(3)==LOW && debounce2 == true) //кнопка 2 нажата
    music.pause(); Serial.println(«PLAY / PAUSE»);
    debounce2=false;
    >
    if (digitalRead(2)==HIGH) // устранение дребезга контактов
    debounce1=true;
    if (digitalRead(3)==HIGH) // устранение дребезга контактов
    debounce2=true;
    >
    >

    Видео, демонстрирующее работу схемы

    Источники:

    Делаем аудио плеер на Ардуино для проигрывания WAV-файлов

    http://lesson.iarduino.ru/page/urok-17-podklyuchenie-mini-mp3-pleera-k-arduino/

    http://portal-pk.ru/news/247-delaem-mp3-pleer-na-dfplayer-mini-i-arduino.html

    http://arduinomaster.ru/datchiki-arduino/arduino-mp3-wav-modul/

    Как сделать простой плеер из Arduino и SD-ридера

    Простой аудиоплеер и усилитель на Arduino Uno

    Ссылка на основную публикацию
    Статьи c упоминанием слов:
    Adblock
    detector