Оглавление:

Как использовать MP3-модуль DFMini Player с Arduino: 4 шага
Как использовать MP3-модуль DFMini Player с Arduino: 4 шага

Видео: Как использовать MP3-модуль DFMini Player с Arduino: 4 шага

Видео: Как использовать MP3-модуль DFMini Player с Arduino: 4 шага
Видео: Урок 19 Делаем MP3 плеер на DFPlayer Mini и Arduino 2024, Ноябрь
Anonim
Как использовать MP3-модуль DFMini Player с Arduino
Как использовать MP3-модуль DFMini Player с Arduino

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

Во всех этих системах нам необходимо устройство воспроизведения звука MP3 для подключения к Arduino. Поэтому в этой статье мы изучим следующие моменты: Базовая схема работы DFMini Player MP3; Организация и настройка звуковых файлов на карте памяти; Музыкальное управление с помощью Arduino.

Запасы

PCBWay Custom PCB;

Модуль DFPlayer Mini MP3 - UTSOURCE;

Резистор 10кР - UTSOURCE;

Кнопка переключения - UTSOURCE;

Макетная плата - UTSOURCE;

Arduino UNO - ОТСУРС;

Пин заголовка - UTSOURCE;

Шаг 1. Что такое MP3-модуль DF Mini Player

Что такое MP3-модуль DF Mini Player
Что такое MP3-модуль DF Mini Player
Что такое MP3-модуль DF Mini Player
Что такое MP3-модуль DF Mini Player

Модуль DFMini Player - это небольшой музыкальный проигрыватель, недорогой и маломощный, предназначенный для воспроизведения звуков, хранящихся на карте памяти.

Исходя из этого, модулем можно управлять в автономном режиме, то есть в этом режиме будет только модуль DFMini, аккумулятор для питания, динамик, кнопки для управления им и SD-карта с песнями. Другой способ управлять им - использовать Arduino или другое управляющее устройство.

Например, Arduino будет отправлять команды через последовательную связь с модулем DFMini Player. Модуль DFMini Player показан на рисунке 1.

Для управления им важно использовать базовую автономную схему. Эта схема показана на рисунке 2.

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

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

Шаг 2:

Изображение
Изображение

В этом автономном методе песни должны быть сохранены на карте памяти, как показано на рисунке 3.

Таким образом, при каждом нажатии кнопок система будет воспроизводить каждую песню в возрастающем или убывающем порядке. Однако при использовании Arduino или другого устройства управления мы должны изменить способ организации музыкальных файлов на SD-карте.

Теперь я объясню, как управлять проигрывателем DFMini с помощью Arduino через последовательную связь.

Шаг 3: Управление проигрывателем DFMini с помощью Arduino

Управление проигрывателем DFMini с помощью Arduino
Управление проигрывателем DFMini с помощью Arduino
Управление проигрывателем DFMini с помощью Arduino
Управление проигрывателем DFMini с помощью Arduino

На этом этапе Arduino отправляет регулятор громкости, диапазон, команды эквализации и другие функции.

Arduino должен связываться через последовательный порт с DFMini Player и отправлять команды управления.

Электронная схема цепи управления представлена на рисунке 4.

Сначала мы должны собрать схему, показанную на рисунке ниже. После сборки этой схемы вы должны добавить песни на карту памяти. На этом этапе песни следует переименовать, например, в 01, 02, 03.

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

Шаг 4:

После присвоения имен файлам напишите следующий код на вашем Arduino.

// Ожидает ввода данных через последовательный порт (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("Воспроизведение музыки"); Serial.println (команда); command = command - 48; myDFPlayer.play (команда); menu_opcoes (); } // Воспроизведение // Остановить if (command == 's') {myDFPlayer.stop (); Serial.println («Музыка остановлена!»); menu_opcoes (); } // Пауса / Продолжение музыки if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Продолжить…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Музыка приостановлена!"); myDFPlayer.pause (); } menu_opcoes (); }

// Увеличивает громкость

если (команда == '+') {myDFPlayer.volumeUp (); Serial.print ("Текущий объем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } если (команда == '') {myDFPlayer.next (); Serial.println ("следующий:"); Serial.print ("Текущий трек:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Уменьшает громкость if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Текущий объем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("=========================================== ================================================== ===================================== ")); Serial.println (F ("Команды:")); Serial.println (F («[1-3] Для выбора файла MP3»)); Serial.println (F («[s] остановка воспроизведения»)); Serial.println (F ("[p] приостановить / продолжить музыку")); Serial.println (F («[+ или -] увеличивает или уменьшает громкость»)); Serial.println (F (" вперед или назад по дорожке")); Serial.println (); Serial.println (F ("=========================================== ================================================== ==================================== ")); }

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

Музыкальное управление состоит из отправки данных из последовательного интерфейса Arduino IDE на нашу плату Arduino. Первоначально система выполняет конфигурацию в настройке и проверяет, вставлена ли SD-карта в модуль.

Если он не вставлен, система выдает сообщение для предупреждения пользователя.

Кроме того, система отображает сообщения с параметрами конфигурации системы.

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Инициализация серийного номера Arduino Serial.begin (115200); // Проверка по модулю ответа на запрос // карта SD для encontrado Serial.println (); Serial.println (F («DFRobot DFPlayer Mini»)); Serial.println (F («Инициализация модуля DFPlayer… Подождите!»)); если (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Не инициализировано:")); Serial.println (F («1. Проверьте соединения DFPlayer Mini»)); Serial.println (F («2. Вставьте SD-карту»)); в то время как (правда); } Serial.println (); Serial.println (F («Модуль DFPlayer Mini инициализирован!»)); // Начальное определение myDFPlayer.setTimeOut (500); // Тайм-аут серийного номера 500 мс myDFPlayer.volume (5); // Том 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Если карта памяти вставлена, поток кода войдет в функцию цикла.

void loop () {// Ожидает ввода данных через последовательный порт while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '3')) {Serial.print ("Воспроизведение музыки"); Serial.println (команда); command = command - 48; myDFPlayer.play (команда); menu_opcoes (); } // Воспроизведение // Остановить if (command == 's') {myDFPlayer.stop (); Serial.println («Музыка остановлена!»); menu_opcoes (); } // Пауса / Продолжение музыки if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Продолжить…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Музыка приостановлена!"); myDFPlayer.pause (); } menu_opcoes (); }

// Увеличивает громкость

если (команда == '+') {myDFPlayer.volumeUp (); Serial.print ("Текущий объем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } если (команда == '') {myDFPlayer.next (); Serial.println ("следующий:"); Serial.print ("Текущий трек:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Уменьшает громкость if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Текущий объем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Пользователь может отправить следующие управляющие символы:

Цифры от 1 до 3: выберите песню для воспроизведения;

  • Буква s: остановить песню; Буква p: приостановить песню;
  • Отправьте знак +: Увеличьте громкость песни;
  • Послать сигнал -: уменьшить громкость песни;
  • Отправить сигнал <: выбрать предыдущую песню;
  • Отправить сигнал>: выбрать следующую песню;

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

Каждое условие представлено ниже и внутри с соответствующими командами.

if ((command> = '1') && (command <= '3')) {Serial.print ("Воспроизведение музыки"); Serial.println (команда); command = command - 48; myDFPlayer.play (команда); menu_opcoes (); } // Воспроизведение // Остановить if (command == 's') {myDFPlayer.stop (); Serial.println («Музыка остановлена!»); menu_opcoes (); } // Пауса / Продолжение музыки if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Продолжить…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Музыка приостановлена!"); myDFPlayer.pause (); } menu_opcoes (); }

// Увеличивает громкость

если (команда == '+') {myDFPlayer.volumeUp (); Serial.print ("Текущий объем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } если (команда == '') {myDFPlayer.next (); Serial.println ("следующий:"); Serial.print ("Текущий трек:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Уменьшает громкость if (command == '-') {myDFPlayer.volumeDown (); Serial.print («Текущий объем:»); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Итак, если вы применили все представленные шаги, вы смогли узнать:

  • Базовая схема работы DFMini Player MP3;
  • Организация и настройка звуковых файлов на карте памяти;
  • Музыкальное управление с помощью Arduino. С помощью этого кода вы можете разрабатывать другие проекты, которые должны использовать звук в качестве системной функциональности.

Благодарности

В заключение, мы благодарим вас за чтение и поддержку PCBWAY. COM за поддержку Silício Lab в создании этой статьи для вас.

Лаборатория Silícios благодарит UTSOURCE за предоставление электронных компонентов для создания этого проекта.

Рекомендуемые: