Hallo. Ein Buzzer soll über PWM vom µC ansteuern werden. Ist es möglich, über ein einzelnes PWM-Signal verschiedene Töne mit unterschiedlicher Lautstärke auszugeben? D.h.: Die Lautstärke wird über ein Menü eingestellt (laut, mittel, leise) und anschließend werden alle Töne mit dieser definierten Lautstärke ausgegeben. Ich habe das bisher immer mit mehreren PWM-Ausgängen und unterschiedlichen Vorwiderständen realisiert. Vielen Dank schon einmal für die Hilfe!
Hast du wenigstens eine Minute gegoogelt? In Arduino gibt es sogar eine extra Funktion dafür: https://www.arduino.cc/reference/en/language/functions/advanced-io/tone/ Mit welchen Buzzern das konkret kompatibel ist, musst du selbst rausfinden. EDIT: Lautstärke kannst du so direkt allerdings nicht einstellen denn die PWM selbst beschreibt schon die Sinuskurve und damit die Frequenz.
:
Bearbeitet durch User
>Hast du wenigstens eine Minute gegoogelt? >In Arduino gibt es sogar eine extra Funktion dafür: >https://www.arduino.cc/reference/en/language/funct... >Mit welchen Buzzern das konkret kompatibel ist, musst du selbst >rausfinden. Die Frage war aber nach der Lautstärke. >EDIT: Lautstärke kannst du so direkt allerdings nicht einstellen denn >die PWM selbst beschreibt schon die Sinuskurve und damit die Frequenz. Klar kann man. Nur nicht mit Deiner geposteten Funktion. Es gibt genügend High-Frequency-PWM Beispiele, die beliebige Töne erzeugen z.B. die Mozzi-Lib.
klar - du kannst per pwm sogar WAV-Dateien (Musik Sprache...) beliebig wiedergeben.
> WAV-Dateien ... beliebig wiedergeben.
Das halte ich in dieser Allgemeinheit für ein Laiengerücht.
Ich hab hier gerne auch mal WAV-Dateien im 32 bit Floatformat
mit 192 oder 384 kbit/s und z.T. mit mehreren Kanälen.
Da kommt dann nur noch Husten aus einem Antuino.
> Das halte ich in dieser Allgemeinheit für ein Laiengerücht. > Ich hab hier gerne auch mal WAV-Dateien im 32 bit Floatformat > mit 192 oder 384 kbit/s und z.T. mit mehreren Kanälen. Mittels PWM lässt sich sogar HIFI-Qualität erreichen. Die Anzahl der Kanäle, die Bitrate und die Auflösung spielen keine Rolle. Die erreichbare Qualität hängt nur von der Leistungsfähigkeit der Plattform (wurde vom TO nicht genannt) und der Qualität der Filter ab. Das er einen Arduino benutzt, wurde hier lediglich interpretiert. Niemand weiß was der TO wirklich benutzt.
Nachtrag: Falls dich das Thema interessiert hier der passende Wikipedia Link: https://de.wikipedia.org/wiki/Klasse-D-Verst%C3%A4rker
Vielen Dank für die Antworten. Es handelt sich bei der Soundausgabe lediglich um BEEP's zur akkustischen Unterstützung für Tasterbetätigungen, die in drei verschieden Lautstärken ausgegeben werden sollen. µC (ATmega1284P) --> Transistor --> Buzzer
Audioschlumpf schrieb: > WAV-Dateien im 32 bit Floatformat mit 192 oder 384 kbit/s Da ist aber nicht nur der Arduino der einzige der das nicht sauber wiedergeben kann, die Schaltung die Audio mit 384kBit/s mit 194dB SNR wieder gibt will ich sehen. Wobei du ja von floating point schriebst, das hat ja eh "nur" ein SNR von 23+1 Bit, also "nur" 146dB SNR.
ThoMiEn schrieb: > Es handelt sich bei der Soundausgabe lediglich um BEEP's zur > akkustischen Unterstützung für Tasterbetätigungen, In dem Fall kann man eine simple Lautstärkeänderung auch einfach über den PWM-Dutycycle erreichen. Das ändert zwar auch die Klangfarbe des Pieps, aber für eine einfache akustische Rückmeldung spielt das i.d.R. keine Rolle. Z.B. bei einem 1kHz Pieps: maximale Lautstärke ist 500µs an/500µs aus. Mit 100µs an/900µs aus ist es ebenfalls 1kHz, aber leiser, der Ton klingt aber etwas "schärfer". Einen netten Effekt erhält man, wenn man die Impulslänge dynamisch während des Tons verändert, z.B. alle 10ms die Einschaltdauer halbiert. Das klingt dann nicht nach "Beep", sondern wie "Ping".
Sound Mann schrieb: > Mittels PWM lässt sich sogar HIFI-Qualität erreichen. Das hingegen würde mich ernsthaft interessieren. Hast du da Links dazu? Mit Multi-level PWM (zwei PWM-Ausgänge gewichtet zusammen schalten) oder Delta-Sigma (keine PWM) lässt sich tatsächlich gute Tonqualität erreichen, siehe beispielhaft hier: https://www.edn.com/design/analog/4441113/A-faster-PWM-based-DAC
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.