Witajcie, dziś chciałbym przedstawić wam poradnik jak odtwarzać pliki audio przy pomocy Arduino.
Nie jest to wcale takie trudne jakby się mogło wydawać :)
Wystarczy czytnik kart SD i jakiś wzmacniacz np. głośniki komputerowe z wbudowanym wzmacniaczem.
1. Czytnik kart SD
Bardzo łatwo wykonać go samemu chociaż można kupić gotowy moduł.
Ale oczywiście powiem wam jak wykonać go sobie samemu bo wychodzi szybciej i taniej :)
Będzie nam potrzebna karta SD lub SDHC sformatowana na FAT16 lub FAT32
Do wykonania czytnika kart SD potrzebujemy:
- pojedynczą listwę goldpin’ów
- podwójną listwę goldpinów (opcjonalnie jeśli nie chcemy się bawić w klejenie ze sobą pojedynczych listw)
- 3szt. rezystorów 1.8kΩ i 3szt. rezystorów 3.3kΩ aby zrobić dzielnik napięcia dla sygnałów z Arduino zasilanego 5V
- kondensator ceramiczny 100nF
Do wykonania czytnika kart oczywiście potrzebujemy jeszcze płytki stykowej i przewodów a jeśli jesteś już bardziej doświadczony możesz go wykonać na uniwersalnej płytce PCB.
Schemat czytnika kart SD:
Wykonujemy złącze do karty SD:
Łamiemy listwę pojedynczych goldpin’ów na 3 części po 7 pinów albo na jedną część 1×7 i jedną podwójną 2×7.
Wyginamy po jednej stronie piny w taki sposób aby utworzyć styki do karty SD, drugą stronę zostawiamy jak jest i łączymy je ze sobą.
Jeśli użyliśmy pojedynczych goldpinów to polecam skleić je “kropelką”/”super glue” bądź klejem na gorąco “termoglutem” a jeśli użyliśmy podwójnej listwy problem klejenia mamy z głowy :D
Do części która będzie się stykać z kartą przylutowujemy z drugiej strony odcinek 1×7 goldpinów. Gotowe złącze powinno wyglądać tak :)
Jeśli nie mamy goldpinów możemy wykorzystać adapter do kart microSD i bezpośrednio do niego przylutować kabelki.
Wszystkie części łączymy na płytce stykowej tak jak na poniższym obrazku.
Pamiętaj że karta musi być zasilana napięciem 3.3V
2. Podłączenie do wzmacniacza (np. starych głośników PC) / słuchawek
Długo szukałem schematu jak poprawnie podłączyć wyjście PWM z Arduino (generujące sygnał audio) i ostatecznie to okazało się najlepsze.
Zalecam ustawić potencjometr obracając go do końca w prawo i wtedy dopiero podłączyć układ do wzmacniacza i dobrać właściwe ustawienie.
Nie odpowiadam za uszkodzenie wzmacniacza w wyniku nieumiejętnego podłączenia.
Potrzebujemy:
- Kondensator elektrolityczny 100µF (na napęcie 16V lub wyższe)
- Rezystor 1kΩ
- Kondensator ceramiczny 10nF
- Potencjometr montażowy 10kΩ
- Gniazdo stereo jack 3.5mm na przewód lub do druku (ja użyłem do druku)
Schemat:
Połączenie na płytce stykowej:
3. Czytnik kart SD razem z filtrem do wzmacniacza na płytce stykowej
3. Program i biblioteka SimpleSDAudio
Jest to chyba najlepsza biblioteka do odtwarzania plików audio jaką udało mi się znaleźć w sieci.
Obsługuje częstotliwości do 62.500 kHz i tryb STEREO chociaż według mnie MONO nam w zupełności wystarczy :)
Biblioteke możemy pobrać tutaj SimpleSDAudio_V1.03.zip
Wypakowujemy ją do folderu “libraries” tam gdzie zainstalowaliśmy Arduino.
Wgrywamy na kartę pamięci plik EXAMPLE.AFM (znajdziemy go w folderze “examples”)
Przykładowy szkic z biblioteki SimpleSDAudio:
1 2 3 4 5 6 7 8 9 10 11 |
#include <SimpleSDAudio.h> void setup() { // SdPlay.setSDCSPin(10); // Enable if your SD card CS-Pin is not at Pin 4... SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER); SdPlay.setFile("EXAMPLE.AFM"); SdPlay.play(); } void loop(void) { } |
4. Plik audio WAV konwertujemy na format który obsługuje biblioteka SimpleSDAudio
Potrzebny nam będzie plik audio w formacie “.wav” który skonwertujemy do formatu który obsługuje biblioteka. Jeśli nie mamy pliku w formacie “.wav” tylko np. “.mp3” to będziemy musieli użyć jakiegoś programu do konwersji mp3 na wav.
Pokażę wam jak to zrobić na przykładzie darmowego programu Switch Sound File Converter do pobrania tutaj.
Ok, jeśli mamy plik “.wav” możemy przystąpić do przerobienia go na format który odczytuje biblioteka.
W tym celu, w miejscu z rozpakowaną biblioteką SimpleSDAudio wchodzimy do folderu “tools”, następnie do “Arduino with 16 MHz” i nasz plik “plik_audio.wav” przenosimy na plik “FullRate@16MHz_Mono” który to nam go przerobi.
Mamy już plik “plik_audio.afm” który możemy wrzucić na kartę pamięci.
No i mamy gotowy odtwarzacz :)
Teraz pytanie do czego go możemy wykorzystać? Możemy np. zrobić dzwonek do drzwi lub podłączyć czujnik ruchu aby odtwarzał dźwięk gdy wykryje ruch. Jeśli chodzi o czujnik ruchu to dobry pomysł jakby ktoś chciał zrobić straszną dynie wydającą jakieś upiorne głosy na zbliżający się Halloween (oczywiście jeśli ktoś u nas obchodzi to amerykańskie święto :D).
Przyszedł mi do głowy jeszcze pomysł mówiącego zegarka który próbuje zrobić ale wydaje mi się że jeden mikrokontroler temu nie podoła i trzeba by zrobić jakąś komunikacje pomiędzy dwoma aby jeden służył za odtwarzacz a drugi go kontrolował.
Przykład zastosowania:
Dzwonek do drzwi (z przykładowego kodu “doorbell”):
Kiedy już mamy podłączony czytnik kart SD i filtr do wzmacniacza, możemy podłączyć przycisk który będzie działał jak dzwonek do drzwi.
Z folderu “examples” który rozpakowaliśmy razem z biblioteką, wrzucamy na kartę pamięci pliki DONG.AFS i DING.AFS.
Do podłączenia przycisku potrzebujemy rezystor 10kΩ
Kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <SimpleSDAudio.h> #define BUTTON 2 void setup() { SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_STEREO | SSDA_MODE_AUTOWORKER); pinMode(BUTTON, INPUT_PULLUP); } void loop(void) { // czeka na wcisniecie przycisku while(digitalRead(BUTTON) == HIGH) {} SdPlay.setFile("DING.AFS"); SdPlay.play(); delay(200); // czeka na zwolnienie przycisku while(digitalRead(BUTTON) == LOW) {} SdPlay.setFile("DONG.AFS"); SdPlay.play(); } |
No i to by było na tyle ;) Mam nadzieje że poradnik będzie dla was pomocny a jeśli macie jakieś inne pomysły zastosowania to piszcie ;)
No coś wspaniałego, teraz to tylko przerób na nadajnik AM (bo FM nie da rady)
Jak chcesz to łap – http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter
To jest nadajnik FM tylko że na Raspberry Pi, częściowo możnaby to przerobić na ATmege
Ode mnie pierwsze 5/5
Hehe spoko, dzięki za ocenę :) Ja myślałem bardziej o podpięciu do tego modułu RF aby bezprzewodowo drugim mikrokontrolerem sterować odtwarzanymi plikami ale to może wkrótce i jeśli podoła bo według twórców biblioteki zużycie RAM’u wynosi ~1.3 kB czyli nie wiele nam zostaje z 2kB które ma Atmega328
arduino jest za wolne, żeby liczyć synteze PLL
Prosty wzmacniacz mono na tda2030 wystarczy.
A dysponujesz może schematem powiedzmy na 9V?
No to np. http://www.ti.com/lit/ds/symlink/lm386.pdf
z LM386 to jest problem ze zdobyciem kondensatora 250uF
Genialny post! Sam jakiś rok temu podchodziłem do tego tematu, ale poległem ;)
Dzięki, zainspirowałem się jakimś tematem z forum bo ktoś napisał że chce aby mu coś grało przy uruchamianiu komputera i ktoś napisał AVR WAV Player czy coś takiego więc googlowałem w poszukiwaniu czegoś na Arduino i okazało się że jest a to dość ciekawy temat że takie urządzonko może odtwarzać muzykę :) Męczę się z tym gadającym zegarem ale mam problem bo brakuje mi pamięci RAM (czy tam SRAM :D) w procku jak dodałem char* array z nazwami plików godzin i minut. Wydaje mi się że najlepiej będzie zrobić jakąś transmisje pomiędzy dwoma mikrokontrolerami i ten z odtwarzaczem będzie tylko pliki z karty odpalał.
Przerzuć tablicę do do Flasha przy uzyciu PROGMEM
Jak dla mnie wyszło genialnie :D
Świetna sprawa!
Jak czytałem to obawiałem się że zamiast porządnego dźwięku będzie to po prostu piszczałka, ale na filmiku słychać że (jak na tak proste rozwiązanie) dźwięk jest bardzo czysty.
Super post!
Jest pewien mały mankament którego nie słychać na filmiku a są nim lekkie szumy przy cichszych plikach ale jeszcze znośne :)
Kolejny genialny poradnik który wykorzystam. Wszystko dobrze opisane trudno czegoś nie zrozumieć :)
Nie ma to jak pasja bawienia się elektroniką. Ja wiele lat temu też się lutowaniem bawiłem, ale nie wciągnęło mnie to. I mimo że skończyłem szkołę o profilu elektronicznym nie czuję dziś za bardzo tematu lutowania. Poza tym wszystko jest modułowe. Ale pasja jak każda pasja jest warta rozwoju.
Ja tą pasje odziedziczyłem :) Tylko że jakoś uczyć się w tym kierunku nie mam ochoty bo wiem że nie jest to takie proste, ta cała matematyka i fizyka której nikt nie potrafi ludziom wytłumaczyć w jakiś przyjemny sposób :D No cóż ale podstaw elektroniki i programowania akurat chcę się nauczyć i powoli to robię :)
Poradniki tutaj piszę z dwóch powodów, pierwszy jest taki że robię to dla siebie hehe :D Dokładniej… aby mieć wszystko zanotowane i nie zapomnieć jak to leciało :D Drugi powód to promować idee Arduino aby każdy mógł bawić się elektroniką ;)
Chciałbym jeszcze napisać dla Was poradnik jak tworzyć projekty na Arduino bez Arduino które jest dość drogie i ogólnie zbędne w końcowym projekcie ale cały czas nie mogę go jakoś ukończyć ponieważ chciałbym aby był napisany jak najłatwiej do zrozumienia :( No a ja cały czas badam ten temat :D
Apropos notowania na stronie w celu zapamiętania i uwiecznienie dla siebie. Jest to rzeczywiście bardzo dobry sposób.
Ja tak samo robię (między innymi w tym celu) w serwisach, które prowadzę poświęconych programom komputerowym, sprzętowi komputerowemu, tworzeniu stron www – w których, oprócz innych podstron, wpisuję takie, które mają mi w przyszłości przypomnieć jak rozwiązałem jakiś problem, co po kolei zrobiłem. A że te serwisy też do innych celów przy okazji służą …
Zawsze jest to jakaś podwójna czy zwielokrotniona motywacja …
Witam
Bawiłem się tą biblioteką już jakiś czas temu, lecz wciąż nie mogę sobie poradzić z trzaskiem na początku i końcu odtwarzania.
Układ robiłem z prostym podłączeniem gniazda jack/głośnika – może pomógł by jakiś filtr na te trzaski? a może jakiś trick w kodzie programu? (gdy się “zatrzyma” dźwięk funkcją pause, wtedy nie ma trzasku na końcu) ale co ze startem?
jakieś pomysły?
No słychać lekki trzask ale niestety nie mam pomysłu jak by go można było wyeliminować :( Mi tam szczerze powiedziawszy on wcale nie przeszkadza i dopiero po tym jak napisałeś to go zauważyłem :D
Ogólnie najważniejsze jest to że to w ogóle odtwarza dźwięk w całkiem niezłej jakości bo do odtwarzacza mp3 to mu daleko :D
do odtwarzania utworów ten trzask nie przeszkadza, lecz do odtwarzania krótkich komunikatów po 2-3 sec (tak jak ja chciałem) to jest już dość mocno zauważalny :)
a co do tego, że do odtwarzacza mp3 jemu daleko to nie byłbym taki pewien ;)
skonwertuj sobie utwór na plik *.wav o parametrach próbkowania 32kHz, 8 bit, stereo, i w programie ustaw:
“HALFRATE” i “STEREO”
to zobaczysz, że gra całkiem przyjemnie :)
aha – plików nie trzeba konwertować do tych dziwnych formatów – mogą być normalne pliki *.wav wrzucone na kartę ;) (byle z odpowiednim próbkowaniem)
i można zrobić nawet 16 bit stereo na tej bibliotece :)
Masz dowód na to że u mnie te trzaski nie są słyszalne :P
http://www57.zippyshare.com/v/30686642/file.html
Ten ciągły szum to z dyktafonu w telefonie.
Kod wygląda tak http://pastebin.com/QEqCE6Yk
Ogólnie z tym odtwarzaczem mp3 to chodzi mi o szum i zakłócenia bo wiem że format WAV jest lepszy od MP3 jeśli chodzi o jakość dźwięku.
Z tymi plikami to nie wiedziałem że można tak od razu do *.wav :D
“Masz dowód na to że u mnie te trzaski nie są słyszalne”
faktycznie u Ciebie nie ma tego… hmm… to czemu u mnie są? :/
kod masz zwykły, standardowy…
chyba będę musiał uruchomić czytnik kart pamięci i sprawdzić na czytniku, bo aktualnie odtwarzam dźwięki przy pomocy ethernetsheld’a, może to jego wina…
szum jest, to fakt, ale bez przesadyzmów ;) przynajmniej ja nie jestem jakimś melomanem by mieć bóg wie jaką jakość dźwięku ;)
dla bardziej zainteresowanych tym tematem to jet strona tej biblioteki gdzie jest więcej opisu:
http://www.hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio
Pozdrawiam ;)
Po usłyszeniu Twoich próbek dźwięku zacząłem dociekać w czym leży problem – i znalazłem! :)
a mianowicie problem leży w… plikach *.wav ;)
to nieprzekonwertowane na te dziwne formaty pliki .wav tworzą trzaski przy odtwarzaniu – po przekonwertowaniu na .afs czy *.ahs nie słychać żadnych trzasków zarówno na początku jak i na końcu dźwięku :)
jako, że już wcześniej miałem przygotowane pliki dźwiękowe to korzystałem z nich, a że odtwarzało poprawnie (nie licząc trzasków) to tak zostało :)
w takim razie odtwarzanie nieskonwertowanych plików *.wav można uznać za ciekawostkę w tym projekcie ;)
krzxsiek dzięki za lepszą próbkę dźwięku, bo bez niej pewnie bym odpuścił ten pomysł i myślał o kupnie jakiegoś shield’a do odtwarzania w lepszej jakości (ceny ~ 30-50zł) – bez trzasków po prostu, bo jakość z tego układu jest dla mnie odpowiednia – a tak? zdeterminowałeś mnie do szukania błędu – dzięki :)
A no widzisz, hehe :) Nie ma za co ;)
Genialny pomysł, i nawet z tą instrukcją wydaję się “do zrobienia”. Będę próbował w weekend coś pomajsterkować. Przyznam szczerze, że pomysł na dzwonek do drzwi najbardziej mi podchodzi, bo ten mój aktualny to jakiś dziwny jest.
“Bardzo łatwo wykonać go samemu chociaż można kupić gotowy moduł.”
Gdybym jednak chciał wykorzystać gotowy moduł – który masz na myśli i jak wyglądał by schemat oraz połączenia na płytce stykowej?
Proszę o info – dziękuję :)
Powiedz jaki masz moduł. Ale ogólnie podłączenie jest takie samo. Spójrz na kartę SD na obrazku i masz podpisane MISO, MOSI, SCK, CS. Jeśli masz najtańszy moduł z eBay’a lub naszego Allegro (czyli zapewne bez bufora) to musisz tak samo jak tutaj zrobić dzielniki napięcia z rezystorów. Zasilanie podłączasz już bez kondensatora bo w module już powinien być.
Więc jeśli masz ten po lewej na poniższym obrazku to tak jak pisałem a jeśli ten po prawej to nie musisz wykonywać dzielnika napięcia bo posiada układ dopasowujący poziomy napięć.
http://www.bajdi.com/wp-content/uploads/2012/01/sd-modules.jpg
Dziękuję za odpowiedź.
Chcę kupić ten z lewej – ale wydaje mi się ze on na juz reżysera?
Przepraszam – tak to jest jak się pisze z telefonu…
Wiec ten z lewej – na zdjęciu widać, że on ma już rezystory?
Z tego co widać to wydaje mi się że ma ale nie jest to dzielnik napięcia tylko normalnie podłączone w szereg a na jednej ze stron nie zalecają takiego podłączania także lepiej kupić ten z prawej albo dać dzielnik napięcia tak jak u mnie.
Tak – chyba masz rację. To tył tej karty: http://imageshack.us/a/img268/2562/ga98.jpg
A ten kondesator, co pisałeś – dodać go?
A masz zdjęcie z przodu? Bo jak jest już w module to nie musisz. Ogólnie to sam zobaczysz, jak będą się dziwne rzeczy działy np. będzie przerywał podczas odtwarzania to daj bo to filtruje trochę zakłócenia.
Uooo
Mam złożonego Hackintosha (komputer PC w obudowie od Mac Pro z zainstalowanym Mac OS X). Jedyne co mi do szczęścia brakowało to dźwięk uruchamiania kompa typowy dla Apple’a.
Teraz już wiem jak to zrobię :)
Weeeeeeee
o to chyba Twój post na forum mnie zainspirował do zgłębienia tematu odtwarzacza i napisania tego poradnika ;)
nie nie, to nie ja :) tutaj na forum o hackintoshu nic nie pisałem :)
krzxsiek – zamówiłem ten moduł; jak przyjdzie to dam Ci znać jak on dokładnie wygląda.
ok, a to nie było zdjęcia od przodu? dziwne :D
krzxsiek -ok, tutaj są dobre fotki: http://allegro.pl/czytnik-kart-sd-avr-arduino-i3594242742.html co myślisz?
Ok, więc zrób sam dzielnik napięcia (tak jak u mnie) bez kondensatora.
Dziękuję :)
co to za kawałek?
Darmowy sampel tego http://audiojungle.net/item/road-trip/5712549
Super a da się przerobić to żeby można było wyświetlać zdjęcia z karty pamięci na wyświetlaczu z simensa?
Jakoś to na pewno się da ale ja jako początkujący nie wiem niestety jak :) Wiem że na wyświetlaczu z nokii 3310 da się wyświetlać filmy z karty pamięci https://youtu.be/FJBNF5x1_kA :D
Co do wyświetlacza z siemensa to trzeba by na niego napisać odpowiednią bibliotekę a o tym to już nie mam bladego pojęcia.
czesc, napisalem kilka artykulow jak odtwarzac dzwieki przy uzyciu arduino na moim blogu. Zapraszam: http://pcarduino.blogspot.co.uk/2013/11/arduino-pwm-audio-dac.html
a mi cały czas wywala błąd, coś robię źle ? : C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:1:21: error: Arduino.h: No such file or directory
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp: In function ‘void SD_L0_Init()’:
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:32: error: ‘OUTPUT’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:32: error: ‘pinMode’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:33: error: ‘HIGH’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:33: error: ‘digitalWrite’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:40: error: ‘INPUT’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:45: error: ‘LOW’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:45: error: ‘digitalWrite’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:47: error: ‘HIGH’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp: In function ‘void SD_L0_DeInit()’:
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:75: error: ‘INPUT’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:75: error: ‘pinMode’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:79: error: ‘HIGH’ was not declared in this scope
C:UsersMARCELDesktoparduino-0022mkarduino-0022mklibrariesSimpleSDAudiosd_l0.cpp:79: error: ‘digitalWrite’ was not declared in this scope
Brakuje Ci pliku nagłówkowego *.h z deklaracja zmiennych. Zdaje się, że “sd_l0.h”.
witam jaka największa kartę pamięci można użyć do tego projektu
witam robie tak jak napisane i nic nie gra
Zmień nazwę muzyki na EXAMPLE.AFM , sam miałem z tym problem.
Mogę zastosować kartę micro SD?
Tak, np. z adapterem SD :)
Witam, katuje ten projekt … i karta działa bez problemu jednak dzwięku za nic nie mogę uzyskać … ma ktoś jakieś pomysły ? na leonardo to w ogóle ruszy ? proszę o pomoc ..
Miałem ten sam problem z Leonardo. Rozwiązanie jest banalne, aczkolwiek dojście do niego wymagało zajrzenia w kod biblioteki. Wystarczy ustawić pinMode(9, OUTPUT) na początku programu (przykładowego) – i śmiga! :)
Swietna sprawa, działa ale przy odgrywaniu dzwięku slychac takie buczenie. Czy ktoś może wie jak się tego pozbyć ? Przy odtwarzaniu tego pliku na komputerze problemu nie ma.
Witam. Co zrobić jeśli nie działa? Nie wiem nawet co zrobić bo sprawdziłem połączenia i wszystko ok zasilanie jest masy są i nie gra próbowałem na różne sposoby konwertować i wrzucać pliki nic. Bzyczy chwilkę w głośniku i przestaje. czy karta jest czy jej nie ma. Mam czytnik z LC. soft więc nie dawałem oporników bo ma je na płytce ma też stabilizator ale ja podłączałem 5V i 3v3 i też nic.
Czy ktoś miał taki przypadek ?
Pozdrawiam
Hej,
Super tutorial, działa jak marzenie. W moim przypadku to będzie przycisk awaryjny do pracy (odtwarzający refren piosenki Mikromusic- niemiłość 2).
@up w moim przypadku było tak, że ostatni element czyli rezystor 10k nie łączył, a i na początku nie zmieniłem rozszerzenia w kodzie, bo myślałem, że tylko te z przykładu może być.
Mam też komentarz do bitrate obsługiwanego. Mój sample audio był pobrany z youtube do wav, przycięty i okazało się że odtwarza się 2X za szybko. Nie znalazłem nic szybkiego do obcięcia pliku, ale po przejrzeniu dokumentacji znalazłem zafixowany bitrate, więc w pliku bat podwoiłem je. Teoretycznie powinno się zwiesić ale tylko odtwarzanie zwolniło – do poziomu normalnego.
Obecnie będę składał samo arduino z komponentów i dołożę ten projekt.
Mam pytanie odnośnie tego rozwiązania. Czy da się zagrać dwa sample np. ding i dong w tym samym czasie? Chodzi mi aby zagrane zostały w taki sposób aby się na siebie nałożyły tak jak ma to miejsce np. podczas odtwarzania dwóch filmów na raz na YouTub’e. Mam fajny pomysł ale musi w tym przypadku to tak zadziałać.
Witam
potrzebowałbym zbudować taki projekt, odtwarzanie dźwięku pliku po wybraniu odpowiedniego przycisku np. z klawiatury lub switcha. Czyli mam arduino + jakiś moduł kart SD + klawiaturę + głośnik. I teraz naciskam klawisz 1 odtwarza mi plik nr1, klawisz 2 odtwarza plik nr.2. W przypadku np. klawiatury membranowej klawisz A to STOP, B -Pauza. Czy to jest do wykonania ? Połączenia pewnie wykonam gorzej z programowaniem :)
http://elm-chan.org/works/sd8p/report.html
A można nagrać kilka utworów i dołączyć wyświetlacz żeby ich nazwy wyświetlał i joy`em albo klawiaturą wybierać żądany utwór
Tak można w przykładach biblioteki masz pokazane jak wyświetlać utwory znajdujące się na karcie. Resztę powinieneś dać radę zaprogramować samemu
Hej mam problem ze statycznym świstem którego nie mogę za nic usunąć, płytka nano :)
Super projekt! Jednak mam pytanie dotyczące karty SD. Czy nie dało by się jej zastąpić pendrivem na wejściu USB? Jeśli tak to jak odczytywać pliki tego typu z niego.
Jak zmienić pin od głośnika?
Jeszcze lepszą jakość dźwięku można otrzymać po przekonwertowaniu pliku za pomocą Adobe Audition do ośmiobitowego z parametrem Dither Depth 0.7 bit, p.d.f. Triangular, Noise Shaping C3 (dla 31250Hz, dla 62500Hz będzie Noise Shaping E2). Otrzymujemy czysty dźwięk na samych ośmiu bitach (na jednym liczniku tylko) jakości mniej więcej dobrej taśmy magnetofonowej. Przy pracy BRIDGE nie tylko jest głośniej, ale szumy własne od wewnętrznego życia procesorka są mniej uciążliwe.
Więcej na ten temat w rozdziale “osiem bitów”: http://przypadkiadama.com/151228/index.htm
Cześć
jakieś pomysły jak mógłbym odtworzyć to na płytce pro mini?
Cześć nie moge zmienic utworu chociaz robie wszystko zgodnie z instrukcją, ktos tez tak miał?