Оглавление:

MP3-плеер с Arduino: 6 шагов
MP3-плеер с Arduino: 6 шагов

Видео: MP3-плеер с Arduino: 6 шагов

Видео: MP3-плеер с Arduino: 6 шагов
Видео: Мини MP3 плеер и Ардуино 2024, Ноябрь
Anonim
Image
Image
Техническая спецификация
Техническая спецификация

В этой сборке мы использовали mp3-плеер с Arduino Uno, усилитель звука mini PAM8403 с регулировкой громкости, mp3-модуль DFPlayer Mini и пару 3-ваттных динамиков.

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

Для этой сборки мы специально используем Arduino Uno, но вы также можете подключиться к ESP8266 или ESP32. Очевидно, потребуется регулировка штифтов.

Шаг 1: техническое описание

Шаг 2. Модуль DFPlayer

Модуль DFPlayer
Модуль DFPlayer

Модуль DFPlayer использует последовательную связь RX TX, VCC, GND. Он имеет выход на два динамика и аудиовход.

Шаг 3: Мини-усилитель PAM8403

Мини-усилитель PAM8403
Мини-усилитель PAM8403

Шаг 4: Сборка

сборка
сборка

Шаг 5: библиотеки

Библиотеки
Библиотеки

Добавьте следующую библиотеку «DFRobotDFPlayerMini» для связи с модулем mp3.

Просто зайдите в «Скетч >> Включить библиотеки >> Управление библиотеками…»

Шаг 6: Исходный код

Мы начнем с определения библиотек и констант, которые мы будем использовать с нашим кодом.

Начните с создания одного объекта, серийного программного обеспечения, и другого, myDFPlayer.

Переменная buf, имеющая тип String, будет служить для хранения данных, поступающих из последовательного порта Arduino, которые будут командами для модуля MP3. Переменная "pause" будет использоваться, чтобы указать, воспроизводится ли музыка или приостановлена (pause = true, и указывает, что она приостановлена, в противном случае она воспроизводится).

#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Начните с последовательного порта программного обеспечения №№ 10 и 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Объекты, отвечающие за соединение с модулем MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // изменяемые ответы на команды для управления игроком String buf; // вариативная реакция на оружие или стадию игрока (0: tocando; 1: pausado) boolean pausa = false; // изменяемый отклик на арматуру для выравнивания // varia de 0 a 5 int equalizacao = 0; // (0 = Нормальный, 1 = Поп, 2 = Рок, 3 = Джаз, 4 = Классический, 5 = Бас) "// различные варианты ответа от общего количества музыки не содержат SD-карты. Int maxSongs = 0;

Настраивать

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

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Инициализация серийного номера Arduino Serial.begin (115200); // Проверка по модулю ответа на запрос // карта SD для encontrado Serial.println (); Serial.println («DFRobot DFPlayer Mini»); Serial.println ("Начало работы по модулю DFPlayer… (3 ~ 5 секунд)"); если (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println («1. Проверьте, как конексы делают DFPlayer Mini»); Serial.println ("2. Insira um cartao SD"); в то время как (правда); } Serial.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Начальное определение myDFPlayer.setTimeOut (500); // Тайм-аут серийного номера 500 мс myDFPlayer.volume (10); // Объем 10 от 0 до 30 myDFPlayer. EQ (0); // Equalizacao normal // recupera o numero de Músicas encontradas no SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Serial.println (); Serial.print ("Число архивов без карты SD:"); Serial.println (maxSongs); // Большинство команд меню menu_opcoes ();

Меню опций

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

void menu_opcoes () {Serial.println (); Serial.println ("Команды:"); Serial.print ("[1-"); Serial.print (maxSongs); Serial.println ("] Для выбора или сохранения MP3"); Serial.println ("[s] parar reproducao"); Serial.println ("[п] пауза / континуа музыка"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ или -] aumenta ou diminui o volume"); Serial.println (); }

Петля

void loop () {// Возврат данных к серийному номеру while (Serial.available ()> 0) {// Восстановление данных после ввода buf = Serial.readStringUntil ('\ n'); // Воспроизведение (указание из музыки) if ((buf.toInt ()> = 1) && (buf.toInt () <= maxSongs)) {Serial.print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); myDFPlayer.play (buf.toInt ()); // играть на музыку menu_opcoes (); } // Pausa / Continua a musica if (buf == "p") {if (pausa) {Serial.println ("Continua musica…"); myDFPlayer.start (); } else {Serial.println ("Musica pausada…"); myDFPlayer.pause (); } pausa =! pausa; menu_opcoes (); } // Parada if (buf == "s") {myDFPlayer.stop (); Serial.println («Музыка парада!»); menu_opcoes (); } // Выбор равенства if (buf == "e") {equalizacao ++; если (equalizacao == 6) {equalizacao = 0; } myDFPlayer. EQ (equalizacao); Serial.print ("Equalizacao:"); Serial.print (equalizacao); Serial.println ("(0 = нормальный, 1 = поп, 2 = рок, 3 = джаз, 4 = классический, 5 = бас)"); menu_opcoes (); } // Объем Aumenta if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("Volume atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Уменьшение громкости if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("Volume atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // цикл

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