Tania MP3 + mikrokontroler ( problem on/off=play i inne )

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
Awatar użytkownika
mariusz_edw
Użytkownik
Posty: 307
Rejestracja: 22 lip 2005, 13:02
Lokalizacja: Polanica Zdrój
Kontakt:

Tania MP3 + mikrokontroler ( problem on/off=play i inne )

Post autor: mariusz_edw » 02 sty 2010, 15:14

Witam.

Już wielokrotnie zabierałem się do wykorzystania taniego odtwarzacza MP3 z allegro w projekcie z mikrokontrolerem (potrzeba uzyskania dobrej jakości komunikatów dźwiękowych / głosowych). Świadomie i definitywnie nie chcę korzystać z kostek ISD.

Jak na złość, wciąż nie są dostępne tanie lub proste do zrealizowania we własnym zakresie odtwarzacza MP3 oparte na mikrokontrolerach (stąd próby zaaplikowania gotowych mp3-jek).

Jak na złość praktycznie wszyscy producenci tanich mp3 (przynajmniej tych dostępnych na allegro) aplikują funkcje on/off oraz play w jednym przycisku.

Da się to kontrolować z poziomu uP, stosując dłuższy impuls do załączania mp3, krótszy do wywołania funkcji play. Ale to nie koniec problemów.

Najgorsze jest to, że MP3-ki zapamiętują ostatnio odtwarzany plik, a co gorsza, nawet moment, w którym mp3 zostało wyłączone. To sprawia, że to co chcemy odtwarzać pozostaje poza jakąkolwiek kontrolą. Pół biedy, jeśli chcemy wykorzystać mp3 do odtwarzania pojedynczego komunikatu. Gdy chcemy mieć możliwość odtwarzania od kilku do kilkudziesięciu różnych komunikatów problem zaczyna być nie do przejścia.

Gdyby takie mp3 po włączeniu zasilania rozpoczynało odtwarzać pierwszy plik, wystarczyłoby wygenerować odpowiednią liczbę impulsów przesuwających nas do żądnego pliku. Niestety mp3-ki startują od ostatnio odtwarzanego pliku, co wszystko psuje.

Stąd też od dawna poluję wręcz na allegro na wszelkie tanie mp3-ki z większą liczbą przycisków. Niestety łowy idą słabo.

Jeśli ktoś ma jakieś:

a). pomysły
b). namiary na odtwarzacze mp3 oparte na uP osiągalne do realizacji dla "zwykłych ludzi"
c). tanie mp3, mogą być ze zniszczoną obudową, ale sprawne technicznie

to proszę o wypowiedzi lub kontakt.

Awatar użytkownika
Zenerek
Użytkownik
Posty: 336
Rejestracja: 21 lip 2006, 11:23
Lokalizacja: Bydgoszcz
Kontakt:

Post autor: Zenerek » 02 sty 2010, 15:35

U mnie jest tak, że jak wyłączę mp3 na "miękko" przyciskiem, to zapamiętuje ostatni utwór. Ale! Jak wyłączę na "twardo" - odłączam akumulator, to widocznie ta pamięć się kasuje i odtwarza od początku po włączeniu. Sprawdź pod tym kontem mp3, które masz pod ręką. Odłączanie baterii można przecież zrealizować za pomocą MOSFETa. A może jest gdzieś przycisk reset, wtedy mógłbyś bezpośrednio z uP sterować.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1418
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 02 sty 2010, 16:42

Odnośnie a)
Można też pójść tą drogą (link), czyli zbudować odtwarzać dźwięk w formie nieskompresowanej, poprzez sprzętowy PWM lub dodatkowy przetwornik C/A.
Pojemność karty SD powinna wystarczyć i jest to dość tanie rozwiązanie.
Problemem może być jakość dźwięku i obciążenie procesora.


Odnośnie b)
Istnieje projekt yampp.
Nie wiem jak to wyjdzie z kosztami, ale można w ten sposób zrealizować odtwarzacz muzyki w formacie mp3.

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 02 sty 2010, 17:32

Co do c) i pomysłu wykorzystania "jakiegoś" mp3 to stanowczo odradzam. Jeśli jest więcej niż kilka komunikatów, to policz sobie ile zajmie czas potrzebny na dotarcie do wybranego utworu. Może się okazać, że nawet kilkanaście - kilkadziesiąt sekund! Weź to pod uwagę. A jeśli się upierasz, to bodajże na allegro są tanie 10-30zł transmitery/odtwarzacze mp3, nie pamiętam modelu, ale kolega budował na jednym właśnie układ do odtwarzania komunikatów. Dało się przerzucać kilka utworów na sekundę, ale przy 16 komunikatach to i tak była porażka:/

Awatar użytkownika
mariusz_edw
Użytkownik
Posty: 307
Rejestracja: 22 lip 2005, 13:02
Lokalizacja: Polanica Zdrój
Kontakt:

Post autor: mariusz_edw » 02 sty 2010, 19:08

Zenerek pisze:U mnie jest tak, że jak wyłączę mp3 na "miękko" przyciskiem, to zapamiętuje ostatni utwór. Ale! Jak wyłączę na "twardo" - odłączam akumulator, to widocznie ta pamięć się kasuje i odtwarza od początku po włączeniu. Sprawdź pod tym kontem mp3, które masz pod ręką. Odłączanie baterii można przecież zrealizować za pomocą MOSFETa. A może jest gdzieś przycisk reset, wtedy mógłbyś bezpośrednio z uP sterować.
Faktycznie, muszę sprawdzić jak ma się sytuacja w moich egzemplarzach. MP3 przystosowane do pracy z baterii pobierają z definicji niewielki prąd stąd do ich załączania wystarczy pewnie jakikolwiek tranzystor, niekonicznie MOSFET.
Aro pisze:Co do c) i pomysłu wykorzystania "jakiegoś" mp3 to stanowczo odradzam. Jeśli jest więcej niż kilka komunikatów, to policz sobie ile zajmie czas potrzebny na dotarcie do wybranego utworu. Może się okazać, że nawet kilkanaście - kilkadziesiąt sekund! Weź to pod uwagę. A jeśli się upierasz, to bodajże na allegro są tanie 10-30zł transmitery/odtwarzacze mp3, nie pamiętam modelu, ale kolega budował na jednym właśnie układ do odtwarzania komunikatów. Dało się przerzucać kilka utworów na sekundę, ale przy 16 komunikatach to i tak była porażka:/
Mam to na uwadze, i zdaję sobie sprawę z faktu, że tego nie ominę. Tak sobie myślę, że jeśli komunikat ma być sterowany zegarem, i wystąpić o określonej godzinie, wówczas już minutę wcześniej uP mógłby wykonać procedurę "wybierania utworu", a z dokładnością co do sekundy wygenerować sygnał play.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 02 sty 2010, 22:05

Czyli z tego co rozumiem chcesz wykorzystać MP3 tak jak by to był układ ISD :?:
Muszę przyznać przewrotna idea. Łatwiej by było chyba cyfrowy dyktafon zmusić do takiego działania. Nie jestem pewien ale MP3 chyba zapamiętuje co ostatnio odtwarzała w pliku, bo z punktu budowy i działania taki odtważacz to właściwie nic innego jak Pendriv. Czyli jeżeli twój układ był by przystawką USB do MP3 to powinno sie dać zrobić bez problemu. Chyba są MP3 którym można wydawać polecenie przez USB :?:

Awatar użytkownika
mariusz_edw
Użytkownik
Posty: 307
Rejestracja: 22 lip 2005, 13:02
Lokalizacja: Polanica Zdrój
Kontakt:

Post autor: mariusz_edw » 03 sty 2010, 0:51

kayron pisze:Czyli jeżeli twój układ był by przystawką USB do MP3 to powinno sie dać zrobić bez problemu. Chyba są MP3 którym można wydawać polecenie przez USB :?:
Nie o to chodzi. MP3 (taką za "5 zł") przeznaczam na straty, zdejmuję obudowę i podpinam się sygnałami pod switche sterujące. USB nie jest mi potrzebne poza (potencjalnie jednorazowym) wgraniem komunikatów.

ISD jest drogie, stare, niewygodne w obsłudze, gwarantuje kiepską jakość, i generalnie jest "badziewne". Taki sobie archaizm - przeżytek, jak FDD w komputerach klasy PC. Do stereofonicznych MP3, umożliwiających przechowywanie wielu godzin nagrań posiadających jakość dźwięku zbliżoną do CD (mp3), łatwe wgranie gotowych mp3 do pamięci i jeszsze wiele innych zalet, klasyczne ISD nawet się nie umywa.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 03 sty 2010, 8:36

Jest taki procek AT89C51SND2C do mp3 ale nigdy się nim bliżej nie interesowałem.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 03 sty 2010, 11:27

Hm..:?: Jakie ISD masz na myśli :?: bo te nowe by cię mogły zaskoczyć swoimi możliwościami. Te 14xx i 25xx to faktycznie są ciankie, ale te nowe to już inna bajka.
Natomiast tą metodą z podpinaniem się pod klawisze MP3 niewiele zdziałasz, a skoro USB jest ci potrzebne tylko do wgrania materiału do MP3, tym bardziej przystawka sterująca USB ma sens. Pomijając że uzyskasz w ten sposób nieporównywalnie większe możliwości sterowania, i szybkość działania. Problem z użytkiem klawiatury sprowadza sie do:
- uniwersalności klawiatury, co niekorzystnie wpływa na czas reakcji, jeden przycisk ma wiele funkcji.
- działaniu na omacku i zgadywaniu co tak naprawdę odtwarzasz i robisz w danej chwili. Nawet jeżeli CPU pamięta na jakimś stosie kroki które wykonał, to istnieje spora szansa pomyłki.
- kod sterujący i algorytm wcale nie jest prostszy, niż jak byś to robił komunikując się bezpośrednio przez port komunikacyjny.
Snow. Koledze chyba nie chodzi o procesor co ma na pokładzie dekoder strumienia MP3. Atmel robił taką 51 z MP3 i sterownikiem SD/MMC, ale jest ona trudna do zdobycia i kosztowała też nie mało. Z drugiej strony 51 jest już dzisiaj mało wspierana co może spowodować ze taki procesor jest kłopotliwy do oprogramowania, zważywszy że to nie jest zwykła 51, ale bardzo rozbudowany układ.

sta
Użytkownik
Posty: 215
Rejestracja: 26 kwie 2006, 0:32
Lokalizacja: 52°11'N 20°51'E

Post autor: sta » 03 sty 2010, 12:33

napiszę jakbym się nie znał;) Kiedyś zaglądałem do takiego grajka i był tam oddzielny scalak z pamięcią i dostępem do wszystkich linii danych. Wystarczyłoby mikrokontrolerem "zasymulować" ten układ i odtwarzać wtedy pierwszy plik z listy.
W razie potrzeby pomyślę jeszcze

Awatar użytkownika
timo66
Moderator
Posty: 1816
Rejestracja: 20 maja 2006, 19:15
Lokalizacja: 66'15" M.a.R.s.
Kontakt:

Post autor: timo66 » 03 sty 2010, 12:40

A może zbudować coś "własnego" oparte ma karcie pamięci??


http://toxygen.net/tmp/

Awatar użytkownika
Pikczu
Użytkownik
Posty: 755
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 03 sty 2010, 14:33

Daleko szukać jest wszystko produkt firmy olimex
cena 125 zł rozwiązanie prawie idealne.
http://www.shop.kristech.eu/index.php?c ... anguage=pl

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 03 sty 2010, 14:39

Tak i obok pisze brak towaru. :grin: No i na ARMie jest to chyba więc pytanie czy autorowi by odpowiadało :?:
DOWN => a to źle to zrozumiałem.
Ostatnio zmieniony 03 sty 2010, 15:06 przez kayron, łącznie zmieniany 1 raz.

Awatar użytkownika
Pikczu
Użytkownik
Posty: 755
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 03 sty 2010, 14:44

kayron Nie na armie ale na układzie VS1002 z wtyczka do plyt z ARM-em
Tu link do producenta: http://www.olimex.com/dev/index.html
chyba nawet przez uart tym można sterować.

Awatar użytkownika
mariusz_edw
Użytkownik
Posty: 307
Rejestracja: 22 lip 2005, 13:02
Lokalizacja: Polanica Zdrój
Kontakt:

Post autor: mariusz_edw » 11 sty 2010, 19:32

Pikczu pisze:chyba nawet przez uart tym można sterować.
Chyba, czy na pewno? Jeśli tak to jestem zainteresowany ;) W dokumentacji o tym nie wspomniano. W ogóle w tej "dokumentacji" niewiele napisano...

W międzyczasie sprawdziłem jak sytuacja ma się, m. in. z pożyteczną amnezją numeru odtwarzanego utworu po wyjęciu baterii.

1. Creative MuVo 64MB:
- zakupiona kiedyś na allegro za 5 zł,
- po wyjęciu baterii traci pamięć odtwarzania (OK)
- szybkie przełączanie utworów (OK)

2. MP CHART 256 MB
- zakupiona na allegro za jakieś 12 zł,
- po wyjęciu baterii pamięta ostatnio odtwarzany utwór (źle)
- zmianie utworu towarzyszy efekt wyciszania, co bardzo wydłuża szybkość przełączania mp3 (źle)

3. Odtwarzacz mp3 / transmiter ABP23
- zakupiony na allegro za 13 zł,
- po odłączeniu od zasilania dalej pamięta ostatnio odtwarzany utwór (źle)
- szybkie przełączanie utworów (OK)

Najwygodniejszą do zastosowania wydaje się być ta pierwsza. Po odłączeniu zasilania i ponownym podłączeniu zaczyna odtwarzać pierwszą mp3 dzięki czemu istnieje pełna kontrola nad numerem odtwarzanego utworu. Zasilanie bezpośrednio z 5V.

Jako drugą zastosowałbym ABP23. Głównie ze względu na dużą szybkość przełączania utworów (i aktualną dostępność na allegro). Niestety nie da się wykonać resetu do utworu pierwszego. Pozostaje zastosowanie procedury przełączenia się do żądanego utworu a później wysterowania klawisza BACK taką samą liczbę razy lub tego samego NEXT wygenerować liczbę impulsów odpowiadających liczbie wszystkich pozostałych utworów. Rozwiązanie będzie działać... ale wystarczy jeden niepożądany przeskok ścieżki, i cała kolejność się krzaczy.

MP CHART raczej nie nadaje się do tego zadania.

ODPOWIEDZ