Съдържание:

Как да използвате MP3 модула на DFMini Player с Arduino: 4 стъпки
Как да използвате MP3 модула на DFMini Player с Arduino: 4 стъпки

Видео: Как да използвате MP3 модула на DFMini Player с Arduino: 4 стъпки

Видео: Как да използвате MP3 модула на DFMini Player с Arduino: 4 стъпки
Видео: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Ноември
Anonim
Как да използвате MP3 модула на DFMini Player с Arduino
Как да използвате MP3 модула на DFMini Player с Arduino

Няколко проекта изискват възпроизвеждане на звук, за да добавят някакъв вид функционалност. Сред тези проекти подчертаваме: достъпност за хора с увредено зрение, MP3 музикални плейъри и изпълнение на гласови звуци от роботи, например.

Във всички тези системи се нуждаем от MP3 устройство за възпроизвеждане на звук, за да се свържем с Arduino. Затова в тази статия ще научим следните точки: Основна работна схема на DFMini Player MP3; Организация и конфигуриране на звукови файлове на картата с памет; Музикално управление с Arduino.

Консумативи

PCBWay персонализирана печатна платка;

Мини MP3 модул DFPlayer - UTSOURCE;

10kR резистор - UTSOURCE;

Бутон за превключване - UTSOURCE;

Платформа - UTSOURCE;

Arduino UNO - UTSOURCE;

Заглавен щифт - 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 Player, използвайки Arduino чрез серийна комуникация.

Стъпка 3: Управление на DFMini Player с Arduino

Управление на DFMini плейъра с Arduino
Управление на DFMini плейъра с Arduino
Управление на DFMini плейъра с Arduino
Управление на DFMini плейъра с Arduino

В тази стъпка контролът на силата на звука, контролът на обхвата, командите за изравняване и други функции ще бъдат изпратени от Arduino.

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

Електронната схема на веригата за управление е показана на фигура 4.

Първо трябва да съберем схемата, показана на фигурата по -долу, След като сглобите тази схема, трябва да добавите песните на картата с памет. В тази стъпка песните трябва да бъдат преименувани например на 01, 02, 03.

Не можете да оставяте песните с техните имена, тъй като ще възникне проблем, когато Arduino изпрати командата за изпълнение на конкретната песен. Следователно трябва да конфигурирате, както е показано по -долу.

Стъпка 4:

След като дадете имена на файловете, напишете следния код на вашия Arduino.

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

// Увеличава силата на звука

if (команда == '+') {myDFPlayer.volumeUp (); Serial.print ("Текущ обем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (команда == '') {myDFPlayer.next (); Serial.println ("следващ:"); Serial.print ("Текуща песен:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Намалява силата на звука, ако (команда == '-') {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 сериен com o по модул mySoftwareSerial.begin (9600); // Инициализиране на сериен до Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Инициализиране на DFPlayer модул … Изчакайте!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Не е инициализирано:")); Serial.println (F ("1. Проверете връзките на DFPlayer Mini")); Serial.println (F ("2. Поставете SD карта")); while (вярно); } Serial.println (); Serial.println (F ("DFPlayer Mini модул инициализиран!")); // Инициализирани определения myDFPlayer.setTimeOut (500); // Тайм -аут сериен 500ms myDFPlayer.volume (5); // том 5 myDFPlayer. EQ (0); // Equalizacao нормално menu_opcoes (); }

Ако картата с памет е поставена, кодовият поток ще влезе във функцията за цикъл.

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

// Увеличава силата на звука

if (команда == '+') {myDFPlayer.volumeUp (); Serial.print ("Текущ обем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (команда == '') {myDFPlayer.next (); Serial.println ("следващ:"); Serial.print ("Текуща песен:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Намалява силата на звука, ако (команда == '-') {myDFPlayer.volumeDown (); Serial.print ("Текущ обем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Потребителят може да изпрати следните контролни знаци:

Номера 1 до 3: Изберете песента, която да се пусне;

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

От тези сигнали, букви и цифри, Arduino ще ги получава по поредицата и ще контролира музиката, която ще се възпроизвежда.

Всяко условие е представено по -долу и вътрешно, със съответните команди.

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

// Увеличава силата на звука

if (команда == '+') {myDFPlayer.volumeUp (); Serial.print ("Текущ обем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (команда == '') {myDFPlayer.next (); Serial.println ("следващ:"); Serial.print ("Текуща песен:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Намалява силата на звука, ако (команда == '-') {myDFPlayer.volumeDown (); Serial.print ("Текущ обем:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Така че, ако сте приложили всички представени стъпки, можете да научите:

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

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

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

Лаборатория Silícios благодари на UTSOURCE да предложи електронните компоненти за изграждането на този проект.

Препоръчано: