Gibt es eine Möglichkeit, Sounds von einem Arduino abzuspielen, ohne einen Sound Shield zu verwenden?


14

Ich möchte eine WAV-Datei (gesprochene Wörter) von meinem Arduino abspielen. Ich möchte keinen Schallschutz anbringen. Gibt es eine Möglichkeit, einen Sound über einen Ausgangspin abzuspielen? Die Qualität muss nicht großartig sein.


Weiß jemand, wie man es ohne eine SD-Karte macht? Ich muss wirklich für ein Schulprojekt wissen, dass wir in ungefähr 2 Tagen fertig sein müssen. Hilfe?
GrandFelix Gamer

Antworten:


6

Ich habe jemandem mit einer ähnlichen Frage geholfen. Die Ergebnisse sind in meinem Github-Repo unter https://github.com/linhartr22/count zu finden . In diesem Beispiel wird die PWM-Bibliothek verwendet. Es enthält einen Verweis auf den Artikel, in dem ich gelernt habe, wie Audiodateien mit den richtigen Einstellungen für die PWM-Bibliothek in MP3 konvertiert werden. Es gibt Audio über einen 8-Ohm-Lautsprecher oder einen Piezo-Summer wieder, der direkt mit dem Arduino verbunden ist.


4

Das PCMAudio- Beispiel zeigt, wie Audiodaten über PWM wiedergegeben werden. Beachten Sie, dass Sie dazu auf niedriger Ebene auf die MCU zugreifen müssen. Die Arduino-Bibliotheken bieten nicht genügend Kontrolle über die Hardware.



1

Ja, ich habe gestern ein Projekt durchgeführt, um aufgezeichnete Stimmen abzuspielen. Sie benötigen kein Lautsprechermodul.

Verbinden Sie einfach den Lautsprecher über einen Widerstand mit einem der Arduino PWM-Ausgänge. Schließen Sie dann ein Micro-SD-Kartenmodul an. Formatieren Sie Ihre Micro-SD-Karte mit der FAT32-Option.

Verwenden Sie Sample Wave Converter, um Ihre Sounddateien zu konvertieren und wählen Sie die Optionen 16.000 Hz Mono 8Bit. Sie sind alle fertig. Verwenden Sie die tmrpcm- Bibliothek. Es ist alles einfach.


0

alte post aber trotzdem eine gute frage ...

Hier ist ein Tutorial zum Abspielen von 8-Bit-33-kHz-Audio mit dem Adafruit M0 Express. Sie können ~ 60 Sekunden Audio vom 2 MB Onboard-Flash über den 10-Bit-Analogausgang abspielen. https://github.com/hydronics2/SamdAudio

zwei weitere Audio-Board-Lösungen, die nahezu 16-Bit-Qualität bieten ...

  • Adafruits Circuit Python Boards sind byitsyM0 , M4 , feather M0. Wie oben, jedoch mit der Python-Schnittstelle anstelle von Arduino.

  • teensy3.2 , teensy3.5, teensy3.6 (Sie können mit dem Analog-Pin ohne das Audio-Shield spielen, aber das Audio-Shield hat eine schöne 1/8 "-Buchse

Teensy Tutorial

Adafruit-Tutorial


5
Willkommen bei Arduino Stack Exchange! Ich bin ein bisschen verwirrt über Ihre Antwort, weil es speziell darum geht, keine externe Hardware wie ein Schild zu verwenden, sondern "einen Ton über einen Ausgangspin abzuspielen". Ihre Antwort geht also überhaupt nicht auf die Frage ein.
Nick Gammon

@ NickGammon Die vorgeschlagenen Boards sind keine Shields oder Add-On-Boards, sondern alternative Arduino-Hardware (wie). Ich bin damit einverstanden, dass die Frage zu 100% beantwortet wird, aber für Besucher dieser Frage ist sie dennoch eine angemessene Antwort.
Sa_leinad

@ NickGammon hey Nick! Ich liebe deine Arbeit. Ich benutze deine Tutorials die ganze Zeit. Ja, ich habe wohl vergessen zu sagen, dass Sie 20-60 Sekunden Audio vom Onboard-Flash abspielen können. Der Adafruit M0 verfügt über 2 MB integrierten externen SPI-Flash.
Hydronics

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.