Оглавление:
- Запасы
- Шаг 1. Что такое MP3-модуль DF Mini Player
- Шаг 2:
- Шаг 3: Управление проигрывателем DFMini с помощью Arduino
- Шаг 4:
Видео: Как использовать MP3-модуль DFMini Player с Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Некоторые проекты требуют воспроизведения звука для добавления какой-либо функциональности. Среди этих проектов мы выделяем: доступность для слабовидящих, музыкальные плееры 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
Модуль 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
На этом этапе 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 за предоставление электронных компонентов для создания этого проекта.
Рекомендуемые:
Учебное пособие: как использовать датчик цветового детектора RGB TCS230 с Arduino UNO: 3 шага
Учебное пособие: Как использовать датчик цветового детектора RGB TCS230 с Arduino UNO: Описание: В этом руководстве вы увидите несколько простых шагов о том, как использовать датчик цветового детектора RGB с помощью Arduino Uno. В конце этого урока вы получите ряд результатов сравнения нескольких цветов. TCS3200 s полный цветовой дет
Учебное пособие: как использовать мини-датчик движения PIR HC-SR 505 с Arduino UNO: 3 шага
Учебное пособие: Как использовать мини-датчик движения PIR HC-SR 505 с Arduino UNO: Описание: В этом учебном пособии будет показано несколько простых шагов о том, как использовать модуль датчика движения с помощью Arduino Uno. В конце этого руководства вы получите результат сравнения, когда датчик может обнаруживать движение и не может обнаруживать никаких движений
Учебное пособие: как использовать аналоговый ультразвуковой датчик расстояния US-016 с Arduino UNO: 3 шага
Учебное пособие: Как использовать аналоговый ультразвуковой датчик расстояния US-016 с Arduino UNO: Описание: Ультразвуковой пусковой модуль US-016 позволяет не измерять 2 см ~ 3 м, напряжение питания 5 В, рабочий ток 3,8 мА, поддержка аналогового выходного напряжения, стабильно и надежно. Этот модуль может отличаться в зависимости от приложения
Поворотный энкодер: как он работает и как использовать с Arduino: 7 шагов
Поворотный энкодер: как он работает и как использовать с Arduino: вы можете прочитать этот и другие замечательные руководства на официальном сайте ElectroPeak. Обзор В этом уроке вы узнаете, как использовать поворотный энкодер. Сначала вы увидите некоторую информацию о датчике вращения, а затем узнаете, как
Как использовать терминал Mac и как использовать ключевые функции: 4 шага
Как использовать терминал Mac и как использовать основные функции: мы покажем вам, как открыть терминал MAC. Мы также покажем вам несколько функций Терминала, такие как ifconfig, изменение каталогов, доступ к файлам и arp. Ifconfig позволит вам проверить ваш IP-адрес и ваш MAC-адрес