PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sound?



roubot
13.05.2005, 17:41
mit bascom geht es ja mit dem sound Befehl sehr einfach Töne zu erzeugen, doch wie macht man dies am besten mit c ?

roubot
13.05.2005, 18:43
ok, nach einigem Ausprobieren funktioniert es nun...nur schade, dass die Lautstärke nicht reguliert werden kann

RCO
13.05.2005, 19:20
WIe hast du es denn jetzt gemacht, einfach einen Timer genommen? oder eine SChleife mit Delay. Die Lautstärke konnte doch bei sound auch nicht reguliert werden, oder?

roubot
13.05.2005, 19:51
nein, die Lautstärke kann meines Wissens nicht reguliert werden
ja, eine Schlaufe mit Delays - werde es wohl aber noch mit Timern machen, da dies doch ein wenig eleganter wäre

pebisoft
13.05.2005, 20:04
was für einen lautsprecher schliesst du dort wie an.
mfg pebisoft

RCO
13.05.2005, 21:16
Hm, am besten ist wohl so ein kleiner Piezo-Lautsprechern.
Die Lautstärke könnte man vieleicht über einen PWM regeln, will sagen, mit dem PWM erzeugst du sowohl die frequenz für den Ton, als auch die Lautstärke. Würde mich mal interessieren, obs geht oder da irgendwelche Effekte auftreten, die das verhindern.

roubot
14.05.2005, 13:53
@ Pebisoft: Ich verwende das rncontrol-board mit dem vorhandenen mini-lautsprecher

aauer1
14.05.2005, 14:08
@RCO:
Ich könnte mir vorstellen, dass eine PWM Lautstärkeregelung nicht so super funktioniert. Wenn du eine PWM eine mit 50% Tastverhältnis und sagen wir mal 1kHz hast, dann sollte man in etwa einen 1kHz Ton hören.
Änderst du jetzt das Tastverhältnis, dann ändert sich ja auch die Grundschwingung und du bekommst bei einem kürzeren Impuls einen höheren aber nicht so lauten Ton und bei längere Impulse ist es dann genau umgekehrt.

Das war jetzt mal meine Überlegung zu dem Thema. Bin mir nicht 100%ig sicher, ob das wirklich so ist. Würde sich aber leicht mit einer Fourier Reihenentwicklung ermitteln lassen (vielleicht mach ich es noch, wenn ihr ein theoretisches Ergebnis wollt).

mfg
Andreas

Toastbrot
12.01.2006, 18:09
So, habe das ganze mal mit einem Timer gelöst. Frequent lässt sich mittels des Prescalers einstellen (habe 8 verwendet). Die Lautstärke wird dann mit OCR2 eingestellt, wobei 0 aus und 255 sehr laut (Das kleine Teil auf der RN-Control wird ganz schön laut!!) ist.


TCCR2 = 0x00;
TCCR2 |= (1<<WGM20) | (1<<COM21) | (1<<CS21);
OCR2 = 250;


Das erzeugt einen konstanten Pipton. Habe mir dann mit einer Schleife und und _delay_ms eine Funktion für ein Piepsignal gebastelt.

ukoehler
04.02.2006, 22:26
@Toastbrot:
Vielen Dank für die Hinweise. Habe gerade erst mein RN-Control bekommen und wäre für ein kleines Beispiel zum Theme Sound sehr dankbar. Irgend etwas brauche ich noch zusätzlich zu den Code oben, aber was?

Irgendwelche Tips bezüglich weiterer RN-Control und gcc Hilfen? Habe alle relevanten Foren durchforstet und nicht viel gefunden. :(

Vielen Dank im Vorraus

Uwe