Action to Sound / Beaterkennung

Hey,

wie bekomme ich durch Schall ausgelöste Daten/Signale schnell in den Arduino? Es geht um die qualitative Erfassung des Ereignisses, weniger um die quantitative - und das mit möglichst geringer Latenz. Weitere Bedingung ist, dass keine Zeit für Auswertung/postprocessing der Daten ist, da der Arduino bereis anderweitig voll zu tun hat (ja, es geht schon wieder um viele LEDs)...

Experimente mit einen Mikrophonverstärker (+zusätzlicher analoger Filterung) waren nicht zielführend, die Ergebnisse sind zu chaotisch, zum Mittelwert bilden ist keine Zeit bzw. das treibt die Latenz in nicht akzeptable Bereiche.

Piezoelement? Spectrumanalyzer Shield auf 2. Arduino? Ganz was anderes?

P.S. Es geht um eine Art Beaterkennung - die Erfassung tieffrequenter akustischer Signale, um damit in Echtzeit Lichtprogramme für einen Strip zu beeinflussen. Aber eben nicht nur irgendwie Geflacker sondern konkret und schnell.

Helmuth:
Hey,

wie bekomme ich durch Schall ausgelöste Daten/Signale schnell in den Arduino? Es geht um die qualitative Erfassung des Ereignisses, weniger um die quantitative - und das mit möglichst geringer Latenz. Weitere Bedingung ist, dass keine Zeit für Auswertung/postprocessing der Daten ist, da der Arduino bereis anderweitig voll zu tun hat (ja, es geht schon wieder um viele LEDs)...

Experimente mit einen Mikrophonverstärker (+zusätzlicher analoger Filterung) waren nicht zielführend, die Ergebnisse sind zu chaotisch, zum Mittelwert bilden ist keine Zeit bzw. das treibt die Latenz in nicht akzeptable Bereiche.

Piezoelement? Spectrumanalyzer Shield auf 2. Arduino? Ganz was anderes?

P.S. Es geht um eine Art Beaterkennung - die Erfassung tieffrequenter akustischer Signale, um damit in Echtzeit Lichtprogramme für einen Strip zu beeinflussen. Aber eben nicht nur irgendwie Geflacker sondern konkret und schnell.

Ich sehe da in esterner Elektronik realisiert: Tiefbass um hohe und mittlere Frequenzen zu eliminieren, gleichrichten, glätten und mit einem Komparator ein H-Signal erzeugen.

Grüße Uwe

Ich sehe da in esterner Elektronik realisiert: Tiefbass um hohe und mittlere Frequenzen zu eliminieren, gleichrichten, glätten und mit einem Komparator ein H-Signal erzeugen.

Hi Uwe,

ich versuche das mal zu übersetzen: Tiefpass nach dem Mikroverstärker mittels L-C Glied, gleichrichten mit 4 Dioden, glätten mit kleinem Elko - und dann?

Den Komparator verstehe ich nicht. Zum Spannungsvergleich? Vergleichen womit?

Wozu überhaupt? Als 1 Bit A/D Wandler? Um sich analogRead zu sparen?

Ich habe hier noch einen NE555 in der Kiste - kann ich den als Komparator hernehmen?

Danke für Deine Geduld.

edit: Hast Du einen Link für die Komparatorschaltung zur Hand? Oder passende Suchbegriffe?
Ich benutze fürs Mic übrigens das hier: Analog Sound Sensor [DFR0034] - 4.70EUR : komputer.de, Arduino Open Source Hardware

Tiefpass mittels RC Glied .
Gleichrichter mittels Operationsverstärker-Diode; mit 4-Weggleichrichtung verlierst Du 1,4V
Glätten mit RC Glied

Komparator mittels Operationsverstärker oder auch Ne555.

Grüße Uwe

Hallo,

ersetze mal "Komparator" mit "Schmittrigger", dann weist Du was Uwe vor hat oder gemeint hat. Das denke ich zumindestens ganz stark. Du mußt ja Dein analog Signal trotz Glättung in ein sauberes digitales wandeln. Dann kannste das auch an einen digitalen Eingang auswerten. Mit dem NE555 kannste das wunderbar machen.

Übrigens, Deine "4 Dioden" Idee nimmt man zur Gleichrichtung von Wechselspannung. Du hast aber nur eine "pulsierende Gleichspannung". Deswegen wäre das an der Stelle Overkill. Ich frage mich auch gerade ob Du überhaupt gleichrichten mußt. Eigentlich nicht. Eben weil Du nur eine pulsierende Gleichspannung bekommst vom Mikrofonboard. Das durch den RC Filter jagen und in ein sauberes Digitalsignal formen sollte eigentlich ausreichen. Mit dem Poti auf dem Mikrofonboard stellste den maximalen Ausgangspegel ein. Würde ich sehr hoch einstellen. Mehr wie Deine angeschlossenen 5V Ub liegen nicht an.

Doc_Arduino:
Hallo,

ersetze mal "Komparator" mit "Schmittrigger", dann weist Du was Uwe vor hat oder gemeint hat. Das denke ich zumindestens ganz stark. Du mußt ja Dein analog Signal trotz Glättung in ein sauberes digitales wandeln. Dann kannste das auch an einen digitalen Eingang auswerten. Mit dem NE555 kannste das wunderbar machen.

Übrigens, Deine "4 Dioden" Idee nimmt man zur Gleichrichtung von Wechselspannung. Du hast aber nur eine "pulsierende Gleichspannung". Deswegen wäre das an der Stelle Overkill. Ich frage mich auch gerade ob Du überhaupt gleichrichten mußt. Eigentlich nicht. Eben weil Du nur eine pulsierende Gleichspannung bekommst vom Mikrofonboard. Das durch den RC Filter jagen und in ein sauberes Digitalsignal formen sollte eigentlich ausreichen. Mit dem Poti auf dem Mikrofonboard stellste den maximalen Ausgangspegel ein. Würde ich sehr hoch einstellen. Mehr wie Deine angeschlossenen 5V Ub liegen nicht an.

Mit 2 Aussagen bin ich nicht ganz einverstanden.
Den Komparator habe ich vorgesehen da man so mit einem Potentiometer das minimum Signallevel einstellen kann.

Da am Ausgang des Mikrofonmoduls ein 4,7µF Entkoppel-Kondensator geschaltet ist bekommst Du am Ausgang eine Wechselspannung und keine Gleichspanung. http://www.dfrobot.com/image/data/DFR0034/DFR0034_SoundSensor_SC.pdf

Grüße Uwe

Hallo,

mit dem einstellbaren Signallevel am Komparator ist eine gute Idee. Dann hat er zwei Einstellmöglichkeiten. Einmal dieser und der Ausgangspegel vom Mic-Board.

Wegen dem Entkoppelkondensator vom Mic-Board. Ja, der filtert Gleichspannung heraus. Richtig. Von Wechselspannung würde ich aber nicht reden wollen. Negatives Potential ist nirgends vorhanden. Es gibt nur 5V und Masse. Das analoge Ausgangssignal vom Mic-Board bewegt sich zwischen diesen beiden Potentialen. Deswegen schrieb ich "pulsierende Gleichspannung". Was will man daran gleichrichten? Stehende Gleichspannung wäre gefährlich, zum Bsp. für einen Lautsprecher, deswegen der Entkoppelkondensator.

Korrigiert mich wenn ich die Schaltung falsch lese!

Doc_Arduino:
Hallo,

mit dem einstellbaren Signallevel am Komparator ist eine gute Idee. Dann hat er zwei Einstellmöglichkeiten. Einmal dieser und der Ausgangspegel vom Mic-Board.

Wegen dem Entkoppelkondensator vom Mic-Board. Ja, der filtert Gleichspannung heraus. Richtig. Von Wechselspannung würde ich aber nicht reden wollen. Negatives Potential ist nirgends vorhanden. Es gibt nur 5V und Masse. Das analoge Ausgangssignal vom Mic-Board bewegt sich zwischen diesen beiden Potentialen. Deswegen schrieb ich "pulsierende Gleichspannung". Was will man daran gleichrichten? Stehende Gleichspannung wäre gefährlich, zum Bsp. für einen Lautsprecher, deswegen der Entkoppelkondensator.

Korrigiert mich wenn ich die Schaltung falsch lese!

Ich muß Dich korrigieren; Du hast auch negatives Potential.
Wenn das Signal positiv ist wird der Kondensator geladen. Dann wenn das Signal auf 0V geht ist der Kondensator immernoch (teilweise) geladen und so bekommst Du ein negatives Potential.

Grüße Uwe

Was ist denn das eigentlich für ein Mist: Ein "Soundsensor", speziell für Arduino, der Wechselspannung ausgibt... Verflucht! :0 Für welchen Anwendungsfall macht das denn Sinn?

Darüber hinaus ist die Empfindlichkeit - auf Maximalstellung - unter aller Sau: bei Zimmerlautstärke 0, man muss schon klatschen oder pfeifen, um auf analogRead 1-10 zu kommen. Mit einer Djembe direkt vor dem Mic haut es halbwegs hin (ca. 100), aber das ist dann wirklich laut. Bin echt abgetörnt von dem Teil.

Ist jemandem bekannt, ob es einen brauchbaren "Soundsensor" fertig gibt? Also mit allen von Uwe geschilderten Eigenschaften onboard?

Hallo,

bin nochmal in mich gegangen. :wink: Uwe, Du hast recht. Mein Denkfehler.

Doc_Arduino Kein Problem.
Grüße Uwe