Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Co to jest moduł DF Mini Player MP3?
- Krok 2:
- Krok 3: Kontrolowanie odtwarzacza DFMini za pomocą Arduino
- Krok 4:
Wideo: Jak korzystać z modułu odtwarzacza MP3 DFMini z Arduino: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Kilka projektów wymaga reprodukcji dźwięku, aby dodać jakąś funkcjonalność. Wśród tych projektów wyróżniamy na przykład: dostępność dla osób niedowidzących, odtwarzacze MP3 i wykonywanie dźwięków głosowych przez roboty.
We wszystkich tych systemach potrzebujemy urządzenia do odtwarzania dźwięku MP3, aby połączyć się z Arduino. Dlatego w tym artykule nauczymy się następujących punktów: Podstawowy obwód obsługi DFMini Player MP3;Organizacja i konfiguracja plików dźwiękowych na karcie pamięci;Sterowanie muzyką za pomocą Arduino.
Kieszonkowe dzieci
PCBWay Niestandardowa płytka drukowana;
Moduł DFPlayer Mini MP3 - UTSOURCE;
Rezystor 10kR - UTSOURCE;
Przycisk przełącznika - UTSOURCE;
Deska do krojenia chleba - UTSOURCE;
Arduino UNO - ŹRÓDŁO UTS;
Kołek nagłówka - UTSOURCE;
Krok 1: Co to jest moduł DF Mini Player MP3?
Moduł DFMini Player to mały odtwarzacz muzyczny, tani i energooszczędny, którego zadaniem jest odtwarzanie dźwięków zapisanych na karcie pamięci.
Na tej podstawie modułem można sterować w trybie samodzielnym, czyli w tym trybie będzie tylko moduł DFMini, bateria do zasilania, głośnik, przyciski do sterowania nim i karta SD z utworami. Innym sposobem sterowania jest użycie Arduino lub innego urządzenia sterującego.
Na przykład Arduino będzie wysyłać polecenia poprzez komunikację szeregową z modułem odtwarzacza DFMini. Moduł DFMi Player pokazano na rysunku 1.
Aby to kontrolować, ważne jest użycie podstawowego samodzielnego obwodu. Ten obwód pokazano na rysunku 2.
Dwa przyciski pokazane w obwodzie powyżej służą do zmiany ścieżek muzycznych i sterowania głośnością dźwięku. Przycisk podłączony do pinu IO1 służy do przejścia do poprzedniego utworu i zmniejszenia głośności. Po szybkim dotknięciu system powraca do poprzedniego utworu, jednak jeśli naciśniesz przycisk dłużej niż 1 sekundę, system zmniejszy głośność utworu.
Przycisk podłączony do pinu IO2 służy do przechodzenia do następnego utworu i zwiększania głośności. Po szybkim dotknięciu system przechodzi do następnego utworu, jednak jeśli naciśniesz przycisk na dłużej niż 1 sekundę, system zwiększy głośność utworu.
Krok 2:
W tej samodzielnej metodzie utwory muszą być zapisane na karcie pamięci, jak pokazano na rysunku 3.
W ten sposób po każdym naciśnięciu przycisków system odtworzy każdy utwór w kolejności rosnącej lub malejącej. Jednak w przypadku korzystania z Arduino lub innego urządzenia sterującego musimy zmodyfikować sposób organizowania plików muzycznych na karcie SD.
Teraz wyjaśnię, jak sterować odtwarzaczem DFMini za pomocą Arduino poprzez komunikację szeregową.
Krok 3: Kontrolowanie odtwarzacza DFMini za pomocą Arduino
W tym kroku sterowanie głośnością, zakresem, poleceniami korekcji i innymi funkcjami zostanie wysłane przez Arduino.
Arduino musi komunikować się przez port szeregowy z odtwarzaczem DFMini i wysyłać polecenia sterujące.
Schemat elektroniczny obwodu sterującego pokazano na rysunku 4.
Najpierw musimy złożyć obwód pokazany na poniższym rysunku. Po złożeniu tego obwodu należy dodać utwory z karty pamięci. Na tym etapie nazwy utworów powinny zostać zmienione na przykład na 01, 02, 03.
Nie możesz pozostawić utworów z ich nazwami, ponieważ wystąpi problem, gdy Arduino wyśle polecenie wykonania określonego utworu. Dlatego musisz skonfigurować, jak pokazano poniżej.
Krok 4:
Po nazwaniu plików napisz następujący kod na swoim Arduino.
//Oczekuje na wprowadzenie danych przez serialwhile (Serial.available() > 0) { polecenie = Serial.read(); if ((polecenie >= '1') && (polecenie <= '9')) { Serial.print("Odtwarzanie muzyki"); Serial.println(polecenie); polecenie = polecenie - 48; myDFPlayer.play(polecenie); menu_opcoes(); } //Reprodukcja //Stop if (polecenie == 's') { myDFPlayer.stop(); Serial.println("Muzyka zatrzymana!"); menu_opcoes(); } //Pausa/Continua a musica if (polecenie == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Kontynuuj…"); mójDFPlayer.start(); } if (pausa == 1) { Serial.println("Muzyka wstrzymana!"); mójDFPlayer.pause(); } menu_opcoes(); }
//Zwiększa głośność
if (polecenie == '+') { myDFPlayer.volumeUp(); Serial.print("Bieżący wolumen:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (polecenie == '') { myDFPlayer.next(); Serial.println("następny:"); Serial.print("Aktualna ścieżka:"); Serial.println(mojDFPlayer.odczytaj numerBieżącegoPliku()+1); menu_opcoes(); } //Zmniejsza głośność if (polecenie == '-') { myDFPlayer.volumeDown(); Serial.print("Bieżący wolumen:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } } void menu_opcoes() { Serial.println(); Serial.println(F("=================================================== =========================================================== ============================================)); Serial.println(F("Polecenia:")); Serial.println(F(" [1-3] Aby wybrać plik MP3)"); Serial.println(F(" [s] zatrzymanie odtwarzania")); Serial.println(F("[p] wstrzymaj/kontynuuj muzykę")); Serial.println(F("[+ lub -] zwiększa lub zmniejsza głośność")); Serial.println(F(" do przodu lub do tyłu ścieżki")); Serial.println(); Serial.println(F("=================================================== =========================================================== =====================================)); }
Przedstawiony powyżej kod jest dość prosty i pomoże Ci wybrać utwór po jego numerze, zatrzymać, wstrzymać, kontrolować głośność i przekazać utwory.
Sterowanie muzyczne polega na przesyłaniu danych z portu szeregowego Arduino IDE do naszej płytki Arduino. Początkowo system dokonuje konfiguracji w setup i sprawdza, czy karta SD jest włożona do modułu.
Jeśli nie jest włożony, system wyświetla komunikat ostrzegający użytkownika.
Dodatkowo system wyświetla komunikaty z opcjami konfiguracji systemu.
void setup(){ //Comunicacao serial com lub moduł mySoftwareSerial.begin(9600); //Zainicjuj numer seryjny Arduino Serial.begin(115200); //Zweryfikuj moduł, czy odpowiadasz i //Sprawdź SD w połączeniu z Serial.println(); Serial.println(F("DFRobot DFPlayer Mini")); Serial.println(F("Inicjowanie modułu DFPlayer… Czekaj!")); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Nie zainicjowano:")); Serial.println(F("1. Sprawdź połączenia DFPlayer Mini")); Serial.println(F("2. Włóż kartę SD")); podczas (prawda); } Serial.println(); Serial.println(F("Zainicjowano moduł DFPlayer Mini!")); //Definicoes iniciais myDFPlayer.setTimeOut(500); //Limit czasu szeregowego 500ms myDFPlayer.volume(5); //Tom 5 myDFPlayer. EQ(0); //Equalizacao normalne menu_opcoes(); }
Jeśli karta pamięci jest włożona, przepływ kodu przejdzie do funkcji pętli.
void loop(){ //Oczekuje na wprowadzenie danych przez serial while (Serial.available() > 0) { polecenie = Serial.read(); if ((polecenie >= '1') && (polecenie <= '3')) { Serial.print("Odtwarzanie muzyki"); Serial.println(polecenie); polecenie = polecenie - 48; myDFPlayer.play(polecenie); menu_opcoes(); } //Reprodukcja //Stop if (polecenie == 's') { myDFPlayer.stop(); Serial.println("Muzyka zatrzymana!"); menu_opcoes(); } //Pausa/Continua a musica if (polecenie == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Kontynuuj…"); mójDFPlayer.start(); } if (pausa == 1) { Serial.println("Muzyka wstrzymana!"); mójDFPlayer.pause(); } menu_opcoes(); }
//Zwiększa głośność
if (polecenie == '+') { myDFPlayer.volumeUp(); Serial.print("Bieżący wolumen:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (polecenie == '') { myDFPlayer.next(); Serial.println("następny:"); Serial.print("Aktualna ścieżka:"); Serial.println(mojDFPlayer.odczytaj numerBieżącegoPliku()+1); menu_opcoes(); } //Zmniejsza głośność if (polecenie == '-') { myDFPlayer.volumeDown(); Serial.print("Bieżący wolumen:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } }
Użytkownik może wysłać następujące znaki kontrolne:
Numery od 1 do 3: Wybierz utwór do odtworzenia;
- Litera s: zatrzymaj piosenkę; litera p: wstrzymaj piosenkę;
- Wyślij znak +: Zwiększ głośność utworu;
- Wyślij sygnał -: Zmniejsz głośność utworu;
- Wyślij sygnał <: Wybierz poprzedni utwór;
- Wyślij sygnał >: Wybierz następny utwór;
Z tych sygnałów, liter i cyfr Arduino otrzyma je za pośrednictwem portu szeregowego i będzie sterować odtwarzaną muzyką.
Każdy warunek jest przedstawiony poniżej i wewnętrznie, wraz z odpowiednimi poleceniami.
if ((polecenie >= '1') && (polecenie <= '3')){ Serial.print("Odtwarzanie muzyki"); Serial.println(polecenie); polecenie = polecenie - 48; myDFPlayer.play(polecenie); menu_opcoes(); } //Reprodukcja //Stop if (polecenie == 's') { myDFPlayer.stop(); Serial.println("Muzyka zatrzymana!"); menu_opcoes(); } //Pausa/Continua a musica if (polecenie == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Kontynuuj…"); mójDFPlayer.start(); } if (pausa == 1) { Serial.println("Muzyka wstrzymana!"); mójDFPlayer.pause(); } menu_opcoes(); }
//Zwiększa głośność
if (polecenie == '+') { myDFPlayer.volumeUp(); Serial.print("Bieżący wolumen:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (polecenie == '') { myDFPlayer.next(); Serial.println("następny:"); Serial.print("Aktualna ścieżka:"); Serial.println(mojDFPlayer.odczytaj numerBieżącegoPliku()+1); menu_opcoes(); } //Zmniejsza głośność if (polecenie == '-') { myDFPlayer.volumeDown(); Serial.print("Bieżący wolumen:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } }
Tak więc, jeśli zastosowałeś wszystkie przedstawione kroki, mogłeś nauczyć się:
- Podstawowy obwód operacyjny DFMi Player MP3;
- Organizacja i konfiguracja plików dźwiękowych na karcie pamięci;
- Sterowanie muzyczne za pomocą Arduino. Z tego kodu możesz tworzyć inne projekty, które wymagają użycia dźwięku jako funkcjonalności systemu.
Podziękowanie
Na koniec dziękujemy za przeczytanie i wsparcie PCBWAY. COM za wsparcie Silício Lab w produkcji tego artykułu dla Ciebie.
Laboratorium Silícios dziękuje firmie UTSOURCE za zaoferowanie komponentów elektronicznych do budowy tego projektu.
Zalecana:
Jak korzystać z modułu RFID-RC522 z Arduino: 5 kroków
Jak korzystać z modułu RFID-RC522 z Arduino: W tym instruktażu przedstawię podstawowe zasady działania modułu RFID w połączeniu z jego tagami i chipami. Przedstawię również krótki przykład projektu, który wykonałem przy użyciu tego modułu RFID z diodą LED RGB. Jak zwykle z moimi Ins
Jak korzystać z modułu GY511 z Arduino [Zrób cyfrowy kompas]: 11 kroków
Jak korzystać z modułu GY511 z Arduino [Utwórz cyfrowy kompas]: Przegląd W niektórych projektach elektronicznych musimy znać położenie geograficzne w dowolnym momencie i odpowiednio wykonać określoną operację. W tym samouczku dowiesz się, jak używać modułu kompasu LSM303DLHC GY-511 z Arduino do tworzenia cyfrowego kompasu
Jak korzystać z modułu Led RGB: 4 kroki
Jak korzystać z modułu LED RGB: Opisy:Z wbudowanym rezystorem, aby zapobiec wypalaniu się diody LED.Można używać z różnymi mikrokontrolerami.Aktywne wysokie napięcie robocze: 3,3V/5VMożna podłączyć bezpośrednio do Arduino, bez żadnych przewodów
Jak korzystać z terminala Mac i jak korzystać z kluczowych funkcji: 4 kroki
Jak korzystać z terminala Mac i jak korzystać z kluczowych funkcji: Pokażemy Ci, jak otworzyć terminal MAC. Pokażemy również kilka funkcji w Terminalu, takich jak ifconfig, zmiana katalogów, dostęp do plików i arp. Ifconfig pozwoli Ci sprawdzić Twój adres IP i reklamę MAC
Jak korzystać z odtwarzacza multimedialnego Beelink SEA I: 5 kroków
Jak korzystać z odtwarzacza multimedialnego Beelink SEA I: W tej instrukcji pokażę ci kilka fajnych rzeczy, które możesz zrobić za pomocą odtwarzacza multimedialnego Beelink Sea I. Po pierwsze, pokażę ci, jak nagrać full HD ( Strumień wideo 1080p) z nim. Następnie połączymy 4 specjalne przyciski funkcyjne