Czy istnieje sposób na odtwarzanie dźwięków z Arduino bez użycia osłony dźwiękowej?

14

Chciałbym odtworzyć plik wav (wypowiedziane słowa) z mojego Arduino. Nie chcę dodawać osłony dźwiękowej. Czy istnieje sposób na odtwarzanie dźwięku przez pin wyjściowy? Jakość nie musi być świetna.

Hoytman
źródło
Czy ktoś wie, jak to zrobić bez karty SD? Naprawdę muszę wiedzieć o szkolnym projekcie, który musimy zakończyć za około 2 dni. Wsparcie?
GrandFelix Gamer

Odpowiedzi:

6

Pomogłem komuś z podobnym pytaniem. Wyniki są w moim repozytorium github na https://github.com/linhartr22/count . Ten przykład wykorzystuje bibliotekę PWM i zawiera odniesienie do artykułu, którego użyłem, aby dowiedzieć się, jak konwertować pliki audio na MP3 z odpowiednimi ustawieniami dla biblioteki PWM. Odtwarza dźwięk przez głośnik 8 omów lub brzęczyk piezoelektryczny podłączony bezpośrednio do Arduino.

linhartr22
źródło
4

W PCMAudio przykład pokazuje jak grać danych audio poprzez PWM. Pamiętaj, że w tym celu musisz uzyskać dostęp do MCU na niskim poziomie; biblioteki Arduino nie zapewniają wystarczającej kontroli nad sprzętem.

Ignacio Vazquez-Abrams
źródło
1

Tak, zrobiłem wczoraj projekt, aby odtworzyć nagrany głos. Nie potrzebujesz modułu głośnika.

Wystarczy podłączyć głośnik za pomocą rezystora do jednego z wyjść Arduino PWM. Następnie podłącz moduł karty micro-sd. Sformatuj kartę micro-SD z opcją FAT32.

Użyj konwertera fali próbnej do konwersji plików dźwiękowych i wybierz opcje jako 16 000Hz Mono 8Bit. Skończyliście. Użyj biblioteki tmrpcm . To wszystko jest łatwe.

Kumar rajit
źródło
0

stary post, ale wciąż dobre pytanie ...

Oto samouczek odtwarzania 8-bitowego dźwięku 33 kHz przy użyciu programu Adafruit M0 Express. Możesz odtwarzać ~ 60 sekund dźwięku z 2 MB wbudowanej pamięci flash poprzez 10-bitowe wyjście analogowe. https://github.com/hydronics2/SamdAudio

dwa inne rozwiązania kart audio, które oferują prawie 16-bitową jakość ...

  • Obwody Python w obwodzie Adafruita itsbyitsyM0 , M4 , pióro M0. To samo co powyżej, ale używając interfejsu python obwodu zamiast Arduino.

  • teensy3.2 , teensy3.5, teensy3.6 (można grać za pomocą analogowego styku bez osłony audio, ale osłona audio ma ładne gniazdo 1/8 "

Samouczek dla nastolatków

Samouczek Adafruit

hydronika
źródło
5
Witamy w Arduino Stack Exchange! Jestem trochę zaskoczony twoją odpowiedzią, ponieważ chodzi konkretnie o to, aby nie używać zewnętrznego sprzętu, takiego jak osłona, ale „odtwarzać dźwięk przez pin wyjściowy”. Zatem twoja odpowiedź w ogóle nie dotyczy pytania.
Nick Gammon
@NickGammon Sugerowane płyty nie są tarczami ani dodatkowymi płytami, ale alternatywnym sprzętem Arduino (podobnym). Zgadzam się, że jest to pytanie w 100%, ale nadal jest to godna odpowiedź dla osób odwiedzających to pytanie.
sa_leinad
@NickGammon hej Nick! Uwielbiam twoją pracę. Cały czas korzystam z twoich samouczków. Tak, chyba zapomniałem powiedzieć, że możesz odtwarzać 20-60 sekund dźwięku z wbudowanej lampy błyskowej. Adafruit M0 ma 2 MB wbudowanej zewnętrznej pamięci flash SPI.
hydronika