Lautstärke (und wenn möglich Frequenz) über Mikrofonkapsel messen

Hallo liebe Community,

Ich muss für eine Projektarbeit eine Art VU-Meter mit LED-Anzeige erstellen, dafür hab ich mir einen Arduino Nano besorgt, einzelne LEDS mit Vorwiderständen und eine Mikrofonkapsel mit Vorwiderstand und Kondensator.
Alles rundherum mit den LEDs sollte funktionieren (noch nicht getestet).

Die Mikrofonkapsel (%product-title% kaufen) habe ich mit auf dem Datenblatt angegebenen 2.2kOhm und einem 100nF Kondensator (auf Rat eines Lehrers) an den Arduino Nano an einem analog Pin angebracht habe.

Das Problem hier war das ich beim testen sehr seltsame Werte am Arduino bekommen habe, z.B. bei wenig Lautstärke einen gleichbleibenden Wert, welcher sich bei Lautstärke nur ganz leicht 10+/- ändert.
Zudem ändert sich immer der gleichbleibende Wert drastisch, sobald ich mal versehentlich an die Pins lange (springt von 200 auf 700 und hin und her) ganz zufällige Werte.

Ich habe bei einer anderen Frage hier im Forum gelesen man müsste das Signal verstärken und gegebenenfalls gleichrichten, aber die Antworten auf diese Frage nicht sehr gut verstanden (bin kein Experte ^^')

Deshalb meine Frage: Wie kriege ich da einen gescheiten Wert raus um die Lautstärke grob messen zu können mit dem Arduino Nano? geht das mit dieser Mikrofonkapsel überhaupt?

Und die zweite Frage: wäre es mit solch einer Mikrofonkapsel auch möglich den groben Frequenzbereich der Töne zu messen?! (für eine tiefen/mitten/höhen Anzeige) und wenn nicht, wie wäre das realisierbar?

Ich danke schonmal im vorraus!

LG Nico aka Pixelmove

Pixelmove:
Deshalb meine Frage: Wie kriege ich da einen gescheiten Wert raus um die Lautstärke grob messen zu können mit dem Arduino Nano? geht das mit dieser Mikrofonkapsel überhaupt?

Und die zweite Frage: wäre es mit solch einer Mikrofonkapsel auch möglich den groben Frequenzbereich der Töne zu messen?! (für eine tiefen/mitten/höhen Anzeige) und wenn nicht, wie wäre das realisierbar?

So einfach wie du dir das vorstellst, ist es leider nicht.

  1. Du kannst mit dem Mikrofon zwar arbeiten, musst das Signal aber (wie du selbst schreibst) mit einem geeigneten Verstärker noch verstärken, um die notwendige Spannung für den Arduino-Pin zu erhalten. Am Besten mit einem Operationsverstärker.

  2. Zur Anzeige des vorhandenen Frequenzbereiches benötigst du zusätzlich noch ein Frequenzfilter (für jeden Bereich eins) um die Frequenzen auszufiltern und diese mit der Led anzuzeigen.

Also ohne die notwendigen elektronischen Kenntnisse wird das ein sehr schwer durchführbares Projekt.
Ist aber durchaus lösbar.

HotSystems:
2. Zur Anzeige des vorhandenen Frequenzbereiches benötigst du zusätzlich noch ein Frequenzfilter (für jeden Bereich eins) um die Frequenzen auszufiltern und diese mit der Led anzuzeigen.

Wieso muss man das mit Hardware machen?

In Software würde man da doch eine FFT nehmen, oder?
(Wobei ich keine Ahnung habe, welche Updaterate man mit einem normalen Arduino hinbekommt).

Mehr z.B. hier: ArduinoFHT - Open Music Labs Wiki

Whandall:
Wieso muss man das mit Hardware machen?

Das habe ich nicht geschrieben.
Da ich es selbst auch noch nicht per Software gelöst habe, sondern immer nur per Hardware (ehemals für Lichtorgel), habe ich das offen gelassen.

Nö, nö, so kannst du dich nicht rausreden. :wink:

HotSystems:
benötigst du zusätzlich noch ein Frequenzfilter (für jeden Bereich eins) um die Frequenzen auszufiltern und diese mit der Led anzuzeigen.

Genau das ist der Unterschied zwischen Hardware und Software.

Eine Instanz für jeden Bereich (Hardware), eine Instanz für alle Bereiche (Software).

Aber ist auch egal, wir sind uns ja einig, dass es mit beiden Wegen geht.

Oohhh...
Du hast mich erwischt.

Aber wenn du das auf Instanz runterbrichst, hast du Recht.

Letztendlich muss sich der TO für den für ihn leichteren Weg entscheiden.

Der einfachste Weg dürfte der MSGEQ7 sein. Er liefert den Pegel von 7 Audiofrequenzbändern. Board-Mitglied Helmuth hat damit viele seiner tollen Visualisierungen realisiert. Um eine kleine Verstärkerschaltung fürs Mikrofon kommt man aber auch mit diesem IC nicht herum.

In der Akustik ist "messen" nicht ganz einfach, und deshalb wohl auch nicht verlangt.

Pixelmove:
Das Problem hier war das ich beim testen sehr seltsame Werte am Arduino bekommen habe, z.B. bei wenig Lautstärke einen gleichbleibenden Wert, welcher sich bei Lautstärke nur ganz leicht 10+/- ändert.
Zudem ändert sich immer der gleichbleibende Wert drastisch, sobald ich mal versehentlich an die Pins lange (springt von 200 auf 700 und hin und her) ganz zufällige Werte.

Mit dem Kondensator (Hochpaß) hängt der Eingangspin praktisch in der Luft, und reagiert deshalb auf Finger und sonstige "Antennen". Da der Kondensator Wechselspannung durchläßt, können am Eingangspin auch negative Spannungen auftreten, was verboten ist. Deshalb solltest Du den Pin an einen Spannungsteiler hängen, um ihn gleichspannungsmäßig etwa auf die Mitte des zulässigen Spannungsbereichs zu ziehen. Dabei kommt bei einem niederohmigen Spannungsteiler nur wenig vom Mikrofon durch, bei einem hochohmigen Spannungsteiler kommen aber viele Störungen durch. Und da das Analogsignal des Mikrofons sowieso viel zu niedrig ist, sollte ein Verstärker dazwischengeschaltet werden, der dann wegen seines niederohmigen Ein- und Ausgangswiderstands auch die vorigen Probleme beseitigt.