Frequenz und Piezolautsprecher

#3866335
Lesenswert?

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
#3866442
Lesenswert?

Verstehe ich das so richtig?
Habe in dem Code oben 2 delays drin. Eine für ein und eine für aus

Kurzer überschlag:

1000 Hz sind 1000 Schwingungen pro Sekunde, das ist 1 Schwingung pro 1 
ms
Eine Schwingung beträgt 500us ein und 500 us aus
Delay 1 also 500us ein
Delay 2 also 500us aus

Deine Rechnung:

1000 : ( 1000 Hz x 2 ) = 0,5 ms = 500us je delay

bei 5000 Hz suînd das 5000 Schwingungen pro Sekunde dann ist ein 
Schwingung 0,2 ms

Kontrolle_

1000 : ( 5000 Hz x 2 )= 0,1 ms = 100us je delay

richtig?

achim

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren