Forum: Mikrocontroller und Digitale Elektronik Ton erzeugen mit dem ATmega88


von sandri (Gast)


Lesenswert?

Hallo,

ich versuche gerade mit dem CodeVisionAVR, ein Programm zu schreiben.
Es muss ein Lautsprecher angesteuert werden, damit er ein Ton erzeugen
kann. Vielleicht hat schon jemand ein Programm für ATmega88 geschrieben
und kann mir weiter helfen.Ich habe keine grosse Erfahrungen mit dem
ATmega88.

von Simon K. (simon) Benutzerseite


Lesenswert?

du könntest einen Timer des AVRs mit einer Frequenz von zB 400Hz einen
pin togglen lassen. Daran hängst du ggf ne Endstufe / Lautsprecher.
wenn dir der Ton zu sehr weh tut, müsstest du versuchen einen RC
Tiefpass einzubauen, damit du eine "rundere" Ausgangswellenform
bekommst.

von Lupin (Gast)


Lesenswert?

mit pulsweitenmodulation kann man problemlos richtigen 8 bit sound
ausgeben. Dafür stellst du die PWM auf die höchstmögliche Frequenz, die
Länge eines PWM Zyklus stellst du auf 256 und lädst als Pulslänge den
momentanen samplewert. Zusätzlich brauchst du dann noch einen timer der
neue samples rein lädt (versuch das mal mit 8 bit @ 8000 Hz raw wave
daten).

das ganze braucht aber relativ viel Speicher, schau mal bei
http://elm-chan.org/ vorbei der hat einen richtig coolen
melodie-player mit einem tiny gemacht. :)

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.