Hallo Gemeinde
habe ein Problem mit einem Piezolautsprecher und der Frequenz. Ich meine
nicht die Piezoschwinger, die auf einer bestimmten Frequenz schwingen
wenn man +5V anlegt, sondern einen Lautsprecher. (Lsp auf PC7)
Nehme ich z.B. den Code
1 | while(1)
|
2 | {
|
3 | PORTC &=~(1<<PC7);
|
4 | _delay_ms(1);
|
5 | PORTC |=(1<<PC7);
|
6 | _delay_ms(1);
|
7 | }
|
erzeuge ich damit an meinem PC7 ein ein- und ausschalten des Lsp.
Die Zeit _delay_ms() kann ich verändern und damit die Tonhöhe.
Das kann von einem sehr tiefen Ton bei _delay(1000) bis zu einem sehr
hohen Ton bei z.B. _delay_us(5) gehen.
Eine Schwingung besteht dabei immer aus 2 Teilen - ein+aus.
Wie kann ich das berechnen?
Frequenz
delay = -------- (ms)
2
Soll das stimmen? wie ist es bei us ?
achim