Ich habe einen Kopfhörer über Kondensator und Widerstand direkt mit einem Arduino verbunden.
Der Klang des Kopfhörers erinnert aber noch stark an einen buzzer, ist also nicht angenehm. Ursache ist die Ansteuerung des Kopfhörers mit dem PWM-Signal des Arduino mit der Funktion tone().
Frage:
Wie kann ich den Klang angenehmer/weicher gestalten.
Gibt es Hardware zu kaufen.
Reicht vielleicht schon ein Verstärker (z.B. Adafruit Mono 2.5W Class D Audio Amplifier - PAM8302).
Ich würde es vorziehen externe Hardware einzusetzen weil mein Projekt die Ressourcen des Arduino schon ziemlich auslastet. Ich hoffe, Ihr könnt mir weiter helfen. Mein Wissen um Audio Analogtechnik ist doch sehr begrenzt.
Erkläre doch mal etwas genauer, was du machen möchtest.
Dann gibt es sicher auch von uns passende Antworten.
Der Sound mit der tone() Funktion ist nun mal kein Hifi.
Tone macht nur ein hartes ein/aus.
Wenn du das verstärkst, hast du ein verstärktes hartes ein/aus.
man könnte den klang vieleicht mit einem kleinen Kondensator etwas besser "hinbiegen". Hifi wirds trotzdem nicht.
Du könntest dich nach einem DSP Modul umsehen oder wie bereits erwähnt - nach einem MP3 Modul.
Vielen Dank schon mal für die Antworten, ich erkläre auch gerne etwas genauer.
Ich bin Modellflieger und verwende einen Arduino Pro Micro in meiner Fernsteuerung um das Jeti-Protokoll des Rückkanals des Empfängers im Modell zu entschlüsseln.
Im Modell ist ein Vario eingebaut welches über den Rückkanal Informationen über Steigen oder Sinken des Flugzeus an die Fernsteuerung sendet. Aus den Daten des Varios erzeuge ich einen Wert (Frequenz), welcher das Steigen/Fallen repräsentiert. Hohe Ferquenz = Steigen, niedrige Frequenz = Fallen im Bereich 40Hz bis 2000Hz.
Den Ton für den Kopfhörer erzeuge ich über die Funktion tone() mit dem bekannten, unangenehmen Klang.
Da ich den Kopfhörer während des Fliegens schon mal eine halbe Stunde im Ohr habe, wird ein angenehmer Klang des Varios schon wichtig. Selbst eine reine Sinuswelle ist da wahrscheinlich noch nicht gut genug.
Wenn ich den Klang noch in den Griff bekomme möchte ich das Projekt gerne der Allgemeinheit zur Verfügung stellen, aber so kann man das keinem zeigen.
Lautstärke und Frequenz habe ich schon im Griff, nur den Klang noch nicht.
Gibt es nicht etwas zu kaufen was "ich da einfach anlöten kann" und was mir einen annehmbaren Sound liefert?
Für Vorschläge geeigneter Hardware oder Links zu Projekten von Leuten, welche das Problem schon gelöst haben, währe ich dankbar.
Ich glaube nicht, dass das Abspielen von Sound Files hier die Lösung ist.
Also hier geht's nicht nur um die Tonhöhe, sondern auch darum, dass der Klang "angenehm" sein soll?
Du möchtest Frequenzen erzeugen und durch hinzufügen von mehr oder weniger starken Filtern (RC Glieder ect) die digitalen Spannungswerte immer mehr verschleifen, bis sie zum Sinus werden.
Problem: Das funktioniert leider nicht über den ganzen von dir beschriebenen Frequenzbereich.
Besser wäre ein VCO (Spannungsgesteuerter Frequenzgenerator). Hier hilft Google und die Ansteuerung wird über PWM + Stark dämpfendes RC Glied wesentlich einfacher.
Wird nicht klappen, da die Frequenzen von 40Hz bis 2kHz gehen sollen.
Wenn auf 2kHz abgestimmt, dann wird 40Hz mit ziemlich heftige Oberwellen "verseucht" sein.
Genau so eine Sinuswelle wollte ich Dir eigentlich vorschlagen, hörte sich mit dem DA-Wandler eines Teensys 3.2 erzeugt auch für meine Ohren gut an und wäre eine sehr einfache Lösung.
Alternativer Vorschlag daher: Arduino mit DA-Wandler für Sinus