Forum: Mikrocontroller und Digitale Elektronik wav-Datei via PC am ATmega2560 ausgeben


von Matthias O. (Gast)


Lesenswert?

Hallo

Ich arbeite mit dem ATmega2560 und habe eine Zusatzplatine, auf der sich 
der Lautsprecher befindet. Er ist mit dem Pin PG2 (Port G, Pin 2) 
verbunden.
Wie kann ich eine Wav-Datei, die am PC gespeichert ist, dort ausgeben?

Lg Matthias

von Ulrich F. (Gast)


Lesenswert?

Ist das ein PWM Pin?
Dann kannst du ihn evtl. zum quäken bringen.
Erwarte dir nicht zuviel....

Suche mal nach "AVR PCM"

von Matthias O. (Gast)


Lesenswert?

Ulrich F. schrieb:
> Ist das ein PWM Pin?

Ja, so ist es - OC1A
Ich hab generell keinen Plan wie das geht ...

von Matthias O. (Gast)


Lesenswert?

Hat jemand noch Vorschläge für mich??

von Hon Komat (Gast)


Lesenswert?

Deine Frage ist wie "Ich habe einen Stift und Papier. Wie kann ich damit 
nun Gedichte auf Chinesisch verfassen?".

Wenn du schon - um im Bild zu blaiben - in der Lage bist, den Stift zu 
halten, dann kannst du z.B. unter 
http://forum.arduino.cc/index.php?topic=8817.0 was zum Abmalen finden.

Sinnvoll ist das ganze aber m.E. erst, wenn du auch zu verstehen 
versuchst, was da vor sich geht.

von S. R. (svenska)


Lesenswert?

Wenn die WAV-Datei auf dem PC gespeichert ist, kann der PC sie auch 
selbst abspielen. Damit ist deine Frage sinnlos und außer rumraten kann 
ich hier nicht viel tun.

Die WAV in den AVR-Flash zu kopieren ist doof; die rohen Audio-Daten in 
den Flash zu kopieren kann sinnvoll sein; die Daten zu komprimieren und 
dann in den Flash zu kopieren kann sinnvoll sein.

Audio-Daten mit PWM abspielen geht; Audio-Daten mit einem DAC abspielen 
geht; Audio-Daten mit einem PC abspielen geht.

von Matthias O. (Gast)


Lesenswert?

Und wie funktioniert das mit PWM.
Die wav-Datei ist zwar am PC gespeichert, sollte aber nicht am PC 
abgespielt werden, sondern eben am ATmega2560.
Hab einen Lautsprecher am Pin PG2!!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Matthias O. schrieb:
> Die wav-Datei ist zwar am PC gespeichert, sollte aber nicht am PC
> abgespielt werden, sondern eben am ATmega2560.

Und wie sind die beiden verbunden?

Hast Du da schon eine Art von Idee?

von Matthias O. (Gast)


Lesenswert?

Ja, der Lautsprecher funktioniert schon
Hab einzelne Frequenzen schon ausgeben können.

Er ist nur mit einer Leitung verbunden (PG2 - beim ATmega2560 PWM) und 
dazwischen ist ein Tiefpass.

Die Software um eine wav-Datei auszugeben fehlt aber...

von Matthias O. (Gast)


Lesenswert?

PC und µC sind einfach über USB verbunden

von Ulrich F. (Gast)


Lesenswert?

Matthias O. schrieb:
> PC und µC sind einfach über USB verbunden
Fein!
Und, wie bekommst du da "Dateien" rüber?


Und das kaputt rechen?
Von 16Bit Sterero auf 8 Bit Mono, wo soll das passieren?

von Matthias O. (Gast)


Lesenswert?

Ich arbeite mit Atmel Studio
Da funktioniert das hinunterladen sehr einfach... Darüber mach dir keine 
Sorgen ;)

Wie das rechnen von 16bit Stereo auf 8bit mono funktioniert weiß ich 
nicht. Deshalb verwende ich vorn herein eine wav-Datei (Test) mit 8bit 
mono

von Ulrich F. (Gast)


Lesenswert?

Super!
Dann sind die Probleme ja schon vom Tisch.
;-)

von Matthias O. (Gast)


Lesenswert?

Nicht alle :D
Wie spiel ich eine wav Datei ab?

von Ulrich F. (Gast)


Lesenswert?

In dem du deiner PWM, im richtigen zeitlichen Abstand, einen solchen 
8Bit Wert das Register stopfst.

von Matthias O. (Gast)


Lesenswert?

Wie mach ich das??

von Ulrich F. (Gast)


Lesenswert?

Matthias O. schrieb:
> Wie mach ich das??
Vielleicht kannst du dir ja hier etwas abschauen: 
http://playground.arduino.cc/Code/PCMAudio

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.