logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

DFPlayer Mini - krótki opis taniego odtwarzacza MP3

grala1 21 Lis 2017 03:13 12645 18
  • Witam wszystkich.
    Chciałbym przedstawić Wam tani chiński odtwarzacz MP3 - DFPlayer Mini.
    Koszt takiego odtwarzacza to mniej niż 1.5$.
    DFPlayer mini ma możliwość odtwarzania muzyki w formacie MP3 lub WAV z wbudowanego czytnika karty micro SD, można też odtwarzać muzykę po podłączeniu do odtwarzacza Pendrive USB. Nośnik pamięci nie powinien być większy niż 32GB i być formacie FAT16 lub FAT32.
    Odtwarzacz ten ma możliwość sterowania zarówno poprzez odpowiednie zwieranie goldpinów jaki i poprzez interfejs UART z prędkością 9600 bps.
    Odtwarza ma wymiary 20,5x20,5x13mm.
    DFPlayer Mini - krótki opis taniego odtwarzacza MP3
    DFPlayer Mini - krótki opis taniego odtwarzacza MP3
    Odtwarzaczem zainteresowałem się po przeczytaniu artykułu jednego z forumowiczów gdzie opisywał stworzony przez siebie emulator zmieniarki dla aut grupy VAG.
    https://www.elektroda.pl/rtvforum/topic3380561.html
    Odtwarzacz zamówiony bezpośrednio z Chin, po 3tyg był już w moich rękach.
    Podstawowe sterowanie "analogowe" pokazuję poniższy obrazek.
    DFPlayer Mini - krótki opis taniego odtwarzacza MP3
    W ten sposób można włączyć następny/poprzedni utwór, ściszyć/podgłośnić.
    Do odtwarzacza można bezpośrednio podłączyć niewielki głośnik - ja użyłem 1.5W 8Ω.
    Niestety urządzenie ma wyjście tylko na jeden głośnik ale można uzyskać stereo poprzez wyjścia DAC_R, DAC_L gdzie należało by je podłączyć przez wzmacniacz lub można podłączyć tutaj słuchawki.
    Urządzenie można zasilać z 5V, pobór prądu mniejszy niż 15mA, wzrasta gdy podłączymy nośnik USB.
    Utwory nagrane na nośnik pamięci powinny być odpowiednio nazwane - np 001, 002 itd. Utwory powinny być pogrupowane w folderach które również są numerowane - 01, 02, itd.
    Maksymalna ilość folderów to 99, zaś maksymalna ilość utworów w folderze to 255.
    Jeżeli nie będziemy używać sterowania powodującego włączenie odpowiedniego nr utworu tylko będziemy używać poprzedni/następny to utwory jak i foldery mogą być nazwane dowolnie.
    Poniżej pinout odtwarzacza
    DFPlayer Mini - krótki opis taniego odtwarzacza MP3
    Co do komunikacji poprzez UART to należy użyć ustawień jak na poniższym obrazku.
    DFPlayer Mini - krótki opis taniego odtwarzacza MP3
    Należy pamiętać że mimo tego że urządzenie zasilane jest z 5V to poziom napięć UART to 3.3V i z tego powodu należy dodać rezystor 1kΩ pomiędzy Tx urządzenia wysyłającego komendy i Rx odtwarzacza (jeżeli w urządzeniu wysyłającym komendy będziemy używać standardu 5v, przy 3,3V rezystor jest zbędny). Ja użyłem rezystora 10kΩ bo taki miałem pod ręką.
    DFPlayer Mini - krótki opis taniego odtwarzacza MP3
    Na poniższym filmie (przepraszam za nie najlepszą jakość) pokazane wysyłanie komend z użyciem programu COM Port Toolkit oraz konwertera USB-UART opartego u układ FT232.



    Podstawowe komendy to:
    - następny 0x7E FF 06 01 00 00 00 EF
    - poprzedni 0x7E FF 06 02 00 00 00 EF
    - ciszej 0x7E FF 06 04 00 00 00 EF
    - głośniej 0x7E FF 06 02 00 00 00 EF
    Podane powyżej komendy nie zwierają sum kontrolnych, można je wysłać bez sum jak i z suma kontrolną.
    Jak wyliczyć sumę kontrolną?
    Liczymy to w systemie szesnastkowym.
    Komenda z suma kontrolną dla włączenia kolejnego utworu to:
    7E FF 06 01 00 00 00 FE FA EF
    gdzie FE FA to suma kontrolna.
    Musimy dodać do siebie FF+06+01+00+00+00=106
    0-106=FA EF co daje naszą sumę kontrolną.
    Przy wysyłaniu komendy do urządzenia można zażądać odpowiedzi po czym będzie wiadomo że komenda została zrozumiana.
    W poniższym filmie krótka prezentacja sterowania odtwarzacza poprzez procesor AVR który obsługuje tutaj przyciski (NEXT, PREV, VOL+, VOL-) po czym wysyła odpowiednie komendy, odbiera z urządzenia informację o obecnej karcie SD lub podłączonym nośniku USB i wysyła komendę 0x7E FF 06 01 00 00 00 EF powodującą kolejne odtwarzanie utworów. Jest też sterowanie pilotem poprzez IR.



    Wady jakie zauważyłem przy tym odtwarzaczu to brak możliwości podłączenia drugiego głośnika, brak możliwości przewijania, brak pamięci odtwarzanego utworu po wyłączeniu zasilania oraz ustawionej głośności, brak możliwości odtwarzania utworów w kolejności przy sterowaniu "analogowym" (podawaniu masy na odpowiednie goldpiny) - po zakończeniu odtwarzania utworu trzeba wymusić odtworzenie kolejnego utworu, ten problem można ominąć przy sterowaniu przez UART.

    Odtwarzacz można użyć przy budowie zegarka gdzie można go zatrudnić do odgrywania hejnału przy pełniej godzinie lub jako pobudki przy budziku, dzwonka MP3 do drzwi itp.
    Poniżej dokumentacja DFPlayer`a mini.

    Fajne? Ranking DIY
    O autorze
    grala1
    Specjalista grupy V.A.G.
    Offline 
    grala1 napisał 9728 postów o ocenie 4736, pomógł 1462 razy. Mieszka w mieście Kalisz. Jest z nami od 2006 roku.
  • #2 16839763
    Marek_Ertew
    Poziom 16  
    Pozwolę sobie załączyć garść uwag, rozszerzających opis.

    1. Moduł może pełnić rolę czytnika kart. Po połączeniu go z komputerem odtwarzanie jest przerywane, a włożona karta SD widoczna jest w systemie jako normalna pamięć USB. Polecam podłączyć do modułu gniazdko µUSB i zamiennie podłączać do niego standardowy kabel USB lub kabel USB OTG (w gniazdko wpięta pamięć USB).
    Uwaga na napięcie zasilania!

    2. Jeśli mówimy o napięciu, bebechy modułu są zasilane napięciem 3v3 które zasila również interfejsy USB, SD i UART. Moduł ma wbudowany stabilizator i można go zasilać napięciem od 3v3 do 5v. Zatem cały moduł można podpiąć pod napięcie 3v3 a 5v doprowadzić wyłącznie do gniazdka USB.

    3. Zgodnie z dokumentacją, suma kontrolna i żądanie odpowiedzi są zalecane gdy µC jest taktowany wbudowanym oscylatorem RC albo rezonatorem ceramicznym. Przy zastosowaniu kwarcu, sumę kontrolną można pominąć, nie wysyłać tych dwóch bajtów.
    Ja swój moduł odpalałem z użyciem biblioteki dla arduino która wysyła sumę kontrolną. Niestety obecnie nie mam jak sprawdzić czy moduł zadziała bes sum kontrolnych. Swoją sztukę oddałem w imię wyższej idei, czekam na kolejną.

    4. Istnieją też inne tryby adresowania. Można np. zaadresować 3000 plików w pojedynczym katalogu albo zawiesić odtwarzanie aktualnej muzyki, odtworzyć krótki komunikat i wrócić do zawieszonej muzyki. Niestety, tego również nie sprawdzę.
  • #4 16841508
    grala1
    Specjalista grupy V.A.G.
    Nie jestem audiofilem ale dla mnie dźwięk jest ok w głośniku jak i w słuchawkach, testowałem w aucie i dla mnie brzmi to dość dobrze.
    Jak napisałem wcześniej jeden z użytkowników zrobił na tym emulator zmieniarki do auta więc pozwolę sobie zacytować jego wypowiedź:
    GrzesiekN napisał:
    Właśnie wracam z montażu w samochodzie. Wcześniej napisałem, że jakość sygnału audio jest bardzo dobra. Pozwoliłem sobie na to stwierdzenie patrząc na oscyloskop podczas odtwarzania sygnałów testowych na biurku. Teraz mogę powiedzieć, że nic bym nie zmienił. Działa wszystko od subbasu aż po gwizdek. Nie przewiduję reklamacji.
    Pozdrawiam
  • #5 16842194
    Marek_Ertew
    Poziom 16  
    Na jakość dźwięku nie mogę narzekać. Jedynie zakłócenia pojawiają się w momencie gdy µC wysyła dane do modułu. Tak zastosowałem µC zasilany napięciem 5V i dałem rezystor 2k na linii danych µC->moduł.

    Natomiast w module brakuje:
    - odczytu aktualnej pozycji odtwarzania,
    - przewijania lub odtwarzania od określonego momentu,
    - dostępu do systemu plików np. odczytu nazwy plików/katalogów,
    - najprostszej kolejki odtwarzania np. komendy "gdy skończysz aktualny plik, otwórz wskazany".
    Chyba za dużo wymagam ;) Zostaje szukać lepszej alternatywy w równie atrakcyjnej cenie.
  • #6 16842249
    grala1
    Specjalista grupy V.A.G.
    Ja mam 10k i nie słyszę żadnych zakłóceń.
    Co do odczytu aktualnej pozycji to można ustawić timer który będzie to liczył od momentu informacji z odtwarzacza że idzie nowy utwór i zerować go w momencie gdy pojawi się po raz kolejny informacja o odtwarzaniu kolejnego utworu.
    Kolejkowanie też można było by zrobić tylko trzeba zatrudnić do tego procesor. Jeżeli utwory mają być odtwarzane jeden za drugim to z tego co pamiętam to jest to komenda 11.
    Odczytu nazwy utworów brak jak i przewijania o czym pisałem na początku.
  • #7 16869444
    silelis
    Poziom 12  
    Mam dwa pytania jeśli chodzi o ten moduł:
    1) Czy na liniach USB D+ i D+ należny dać opornik 10 om??? Zazwyczaj z takim rozwiązaniem się spotykałem, czy tutaj jest on na module?
    2) Jakiej wielkości kondensatory nalezy dać na DAC_L i DAC_R?? Czy te również są na module??
  • #8 16869454
    grala1
    Specjalista grupy V.A.G.
    Ja nie używam żadnych rezystorów przy złączu USB i żadnych kondensatorów przy wyjściu głośnika.
  • #9 16884951
    silelis
    Poziom 12  
    Mam pytanie odnośnie nazewnictwa folderów i plików na nośniku.

    W datasheet jest napisane, że muszą one być w postaci 001, 002, 003,, 00N, przy czym nazwa pierwszego katalogu nie musi być 001, a np. 007 i wtedyt on będzie w komendzie jako pierwszy.

    A czy ktoś sprawdził czy można nazywać katalogi nazwami (bez liter) i czy wtedy numery katalogów są poukładane sortowaniem alfabetycznym?

    To samo się tyczy nazw piosenek. Pytam się ponieważ to nazewnictwo po numerach jest dość sztuczne i do komercyjnych aplikacji średnio się nadaje.
  • #10 17036384
    wojdyl1
    Poziom 9  
    Witam,
    zachęcony prostym odtwarzaczem plików mp3 kupiłem ten moduł.
    podłączyłem według instrukcji ( z samego początku postu). zasilanie z baterii 3.3V , głośnik 0.5 W 8 omów, i niestety mi nie działa. karta micro SD 1 GB z formatowana FAT32 i wgrany plik 001.mp3. po uruchomieniu zasilania nic się nie dzieje, gdy wcisnę odtwarzanie zapala się kontrolka na module , potem gaśnie i zaczyna z głośnika wydobywać się krótkie bzyczenie. Po potem wszystko milknie.
    Macie może jakieś pomysły jak go uruchomić ? będę wdzięczny za każdy pomysł. Posiadam tylko miernik i lutownicę :)
  • #11 17036542
    grala1
    Specjalista grupy V.A.G.
    Spróbuj zasilić 5V.
    Jak to nie pomoże to odłącz głośnik i wtedy sprawdź czy dioda będzie gasła.
    Miałem podobnie i wyglądało na to że głośnik zbyt mocno obciążał moduł.
  • #12 17036676
    Marek_Ertew
    Poziom 16  
    @wojdyl1, obstawiam że wzmacniacz i głośnik zbytnio obciążają stabilizator 3.3V, napięcie siada i dlatego wszystko się wyłącza. Spróbuj do wyjścia liniowego podłączyć głośniki ze wzmacniaczem, w ostateczności słuchawki przez szeregowy kondensator między wyjście stereo (wystarczy jeden kanał) a masę.

    Druga opcja to jak radzi @grala1, podniesienie napięcia zasilania. Moim zdaniem napięcie zasilania 3.3V jest zbyt niskie dla tego modułu. "bebechy" modułu oraz karta SD wymagają napięcia 3.3V, lecz odtwarzacz zawiera wbudowany stabilizator. Napięcie zasilania moim zdaniem powinno wynosić minimum 3.6V (rozładowany akumulator li-ion) a max 5V.
    Jedyne na co musisz uważać to sterowanie. Jeśli łączysz odtwarzacz z mikroprocesorem zasilanym napięciem 5V, musisz dodać szeregowy rezystor 1k na linii uC (TX) -> odtwarzacz (RX).
  • #13 17036737
    wojdyl1
    Poziom 9  
    Dziękuję bardzo za podpowiedź, sprawdziłem i wszystko się zgadza, głośnik zbyt obciążał moduł.
    Teraz podłączyłem słuchawkę i wszystko ruszyło.
    Dziękuje jeszcze raz.

    Dodano po 40 [minuty]:

    mam jeszcze jedno pytanie, jaki głośnik zewnętrzy mogę użyć do modułu by pracował dobrze odtwarzając przemówienie, zasilanie małe tylko 3.3 V bez wzmacniacza.
    Słuchawki nie wchodzą w grę. Czego wy używaliście?
  • #14 17038014
    Marek_Ertew
    Poziom 16  
    Odtwarzacz ma dwa wyjścia audio które pracują jednocześnie. Jedno to wyjście liniowe stereo (marna wydajność), drugie to wyjście mono puszczone przez wbudowany wzmacniacz (oddzielny układ na PCB).

    Twój problem z głośnikiem może leżeć w:
    1. zbyt słabym zasilaczu 3.3V (napięcie siada pod obciążeniem),
    2. uszkodzonym wzmacniaczu lub głośniku (wątpię),
    3. po prostu ten wzmacniacz tak ma, że nie chce pracować przy niskim napięciu zasilania.
    Proszę napisz skąd masz napięcie 3.3V i dlaczego nie możesz zastosować wyższego napięcia? Akumulator litowy zazwyczaj dysponuje wyższym napięciem a w większości urządzeń stacjonarnych da się znaleźć napięcie 5V lub wyższe (dochodzi stabilizator).
    Jeśli nie możesz wygrać z napięciem zasilania, wymień głośnik na dowolny inny (może ten ma zwarcie) i blisko odtwarzacza dołóż kondensatory filtrujące napięcie.
    Jeśli oba powyższe sposoby zawiodą, to zabawa ze specjalnym głośnikiem raczej na niewiele się zda. Ostateczne wyjście to dołożenie dodatkowego wzmacniacza. Przykładowo PAM8302 dostępny np. tutaj: https://www.adafruit.com/product/2130 będzie działać już przy 3.3V a w połączeniu z głośnikiem 4Ω masz szansę na uzyskanie mocy prawie 1W.
  • #15 17048303
    wojdyl1
    Poziom 9  
    okazało się ,że zasilanie nie dawało właściwego prądu i stad moduł nie dawał rady, i tylko przy małym obciążeniu można było czegoś posłuchać. Zainstalowałem baterie od telefonu i wszystko ruszyło. dziękuję za pomoc.
  • #16 17101155
    umbrella2
    Poziom 9  
    Hej.
    Chciałem zmontować zabawkę dla moich maluchów na tym właśnie układzie, ale mam problem .
    Chciałbym aby za pomocą 36 przycisków można było by uruchomić 36 piosenek .
    Widzę, że bezpośrednie sterowanie może odbywać się za pomocą portów ADKEY1 i 2 ale niestety wybieranie utworów tą metodą kończy się na pozycji 14.
    Sterowanie musiało odbywać się wiec poprzez arduino i porty RX i TX . Nie wiem tylko jak tego dokonać . Bibliotekę do KEYPADA znalazłem tu :

    Link

    ale jak przypisać tam nazwy ścieżek .

    Proszę o pomoc. Maluchy będą pewnie wniebowzięte jak się Tacie uda.
  • #17 17544241
    Tomek515
    Poziom 23  
    Można by tego modułu użyć w taki sposób aby po podaniu napięcia automatycznie odtwarzał ścieżkę?

    Może polecicie ewentualnie coś innego gotowego co mogło by pełnić taka funkcje
  • #19 20154658
    jankus
    Poziom 2  
    Witam!
    Mam innego rodzaju problem.
    Zrobiłem tak, że za pomocą rezystorów odtwarza określone foldery/plik w folderze.
    Fajnie to działa ale... problem polega na tym że jak się dłużej przytrzyma określony przycisk, to odtwarza w pętli w nieskończoność aż do zaniku napięcia lub wciśnięcia innego przycisku/utworu.
    Ma może ktoś pomysł jak wyłączyć/obejść ten problem?
    Kombinowałem jak by tutaj odciąć masę na jakiś czas po wciśnięciu przycisku ... ale nic niestety nie wykombinowałem.
    Przycisk jest monostabilny i ma tylko jeden styk zwierający.
    Może jakiś przekaźnik z podtrzymaniem przez kondensator .... nic mądrego nie wymyśliłem.
    Jakieś najprostsze rozwiązanie tego problemu?
    Pozdrawiam serdecznie
    p.s. W ostateczności dołożę jakieś Tiny lub Nano ale wolał bym tego uniknąć ponieważ chodzi o kilka sztuk które już zrobiłem.
REKLAMA