Forum: Projekte & Code Richtungshören mit Arduino


von Christoph E. (stoppi)



Lesenswert?

Hallo!

Meine letzte Spielerei drehte sich um die Nachbildung des menschlichen 
Richtungshörens. Dazu benötigt man eigentlich nur 2 Mikrofone (z.B. die 
Soundmodule KY-038), einen Servo und einen Arduino (ich wähle eigentlich 
ausschließlich den Nano für meine Projekte).

Das Prinzip ist denkbar einfach: Die beiden digitalen Ausgänge der 
Mikrofone hängen jeweils an einem interrupt des Arduino. Leider löst der 
digitale Ausgang selbst bei einem kurzen Geräusch mehrfach aus. Daher 
frage ich im interrupt nach der seit dem letzten gewerteten interrupt 
vergangenen Zeit. Ist diese größer als ein bestimmter Wert (z.B. 80000 
µs), so wird der interrupt gewertet und die aktuellen Zeiten 
time_old_left bzw. time_old_right gespeichert.

Damit berechne ich dann die Zeitverzögerung time_difference = 
time_old_left - time_old_right. Mit diesem Wert kann sehr einfach 
mittels arcsin() der Richtungswinkel alpha bestimmt werden. Dieser 
Winkel wird dann mit dem Servo angezeigt.

Funktioniert nicht immer reibungslos, aber als Anschauungsobjekt im 
Unterricht zum Thema Hören doch sehr gut geeignet.

Hier gibt es den Arduino-Code: 
https://stoppi-homemade-physics.de/richtungshoeren/

: Verschoben durch Moderator
von Rolf M. (rmagnus)


Lesenswert?

Ja, das klingt nach einem netten Anschauungsprojekt.
Das Posting hätte allerdings besser ins Unterforum  "Projekte & Code" 
gepasst.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich habe es verschoben.

von chris_ (Gast)


Lesenswert?

Christoph E. (stoppi)
02.10.2021 11:50
>Funktioniert nicht immer reibungslos, aber als Anschauungsobjekt im
>Unterricht zum Thema Hören doch sehr gut geeignet.

Könntest du ein kleines Video dazu machen? Dann könnte man einen 
Eindruck davon bekommen, wie gut es funktioniert.

von Christoph E. (stoppi)


Lesenswert?

Hallo!

Normalerweise lade ich nur 1 video pro Monat auf youtube hoch, von daher 
ist "etwas" Geduld notwendig.

Habe es aber jetzt auf vimeo hochgeladen: 
https://vimeo.com/manage/videos/620813058

Das war aber ein vollständig gelungener Testlauf. Da gab es schon den 
einen oder anderen mit falscher Richtungsanzeige. Aber solche 
Fehlschläge lässt man ja für gewöhnlich unter den Tisch fallen ;-)

: Bearbeitet durch User
von Forengast (Firma Fimmelfundus) (Gast)


Lesenswert?

Du kannst das Video nicht öffentlich bei Youtube hochladen und dann den 
Link posten. Bei Vimeo lässt sich das Video leider nicht ohne Anmeldung 
anschauen.

Hätte nicht gedacht dass das Timing bei dem Mikrofonabstand und mit 
einem Atmega8 ordentlich funktioniert.

von Piccco (Gast)


Lesenswert?

Nach diesen vielen langweiligen Wordclock die 1000ste, elektronische 
Last, "Licht im Schlafzimmer per App abschalten" endlich mal wieder ein 
tolles und kreatives Projekt!

Danke schön Christoph!

von Christian W. (themanfrommoon)


Lesenswert?

Moin,

Sehr cooles Projekt.

Das könnte man noch erweitern um ein paar mehr Mikrofone, die z.B. an 
vier Ecken eines Quadrats liegen und nach oben schauen (hören).

Wenn es dann einen Knall oder ähnliches gibt, müsste man doch die 
Richtung und Entfernung bestimmen können, oder?

Das wäre doch ne spannende Geschichte und man könnte z.B bei einem 
Feuerwerk oder Gewitter ungefähr Richtung und Entfernung bestimmen. 
Wahrscheinlich müssen die Mikrofone aber mindestens einige Meter 
auseinander stehen.

Beste Grüße,
Chris

von Zufälliger Mitleser (Gast)


Lesenswert?

Christian W. schrieb:
> Das könnte man noch erweitern um ein paar mehr Mikrofone, die z.B. an
> vier Ecken eines Quadrats liegen und nach oben schauen (hören).
>
> Wenn es dann einen Knall oder ähnliches gibt, müsste man doch die
> Richtung und Entfernung bestimmen können, oder?

Genau so wird bei einigen Schießständen der Treffer ausgewertet,
siehe Video ab 3:30:
https://youtu.be/2h1s6S4kotE?t=210

von STK500-Besitzer (Gast)


Lesenswert?

Christian W. schrieb:
> Das könnte man noch erweitern um ein paar mehr Mikrofone, die z.B. an
> vier Ecken eines Quadrats liegen und nach oben schauen (hören).

https://wiki.seeedstudio.com/ReSpeaker/

So etwa?

von Wolfgang (Gast)


Lesenswert?

Zufälliger Mitleser schrieb:
> Genau so wird bei einigen Schießständen der Treffer ausgewertet,
> siehe Video ab 3:30:
> https://youtu.be/2h1s6S4kotE?t=210

So richtig scheint er nicht verstanden zu haben, wie das funktioniert. 
Mit drei Mikrophonen an der Unterkante wird das nichts.

von Christian B. (cb1969)


Lesenswert?

Wolfgang schrieb:
> So richtig scheint er nicht verstanden zu haben, wie das funktioniert.
> Mit drei Mikrophonen an der Unterkante wird das nichts.

Warum  nicht?
Der Treffer ist ja mit Sicherheit auf der Ebene der Scheibe.

: Bearbeitet durch User
von plandemie (Gast)


Lesenswert?

Tolles Projekt, danke für die Veröffentlichung.

Ich bin ganz erstaunt wie kurz der Sketch dafür ist.

Was ich nicht verstehe, warum über Interrupt?

Christoph E. schrieb:
> Funktioniert nicht immer reibungslos

Wenn das mal nicht am Interrupt liegt.

von Bernd M. (bernte_one)


Lesenswert?

Ich habe mir grad flüchtig deine Website angeschaut und muss mal 
anmerken: sehr gut, tolle Projekte. Ich denke, dass ich das ein oder 
andere in der kalten Jahreszeit mit den Kindern zu Hause mal nachbauen 
werde.

Bei den Mikrofon-Modulen aus dem aktuellen Projekt würde ich dir 
empfehlen stattdessen mal die MAX9814 bzw MAX4466 Module zu testen.

Die habe ich derzeit bei einem WS2812 VU-Meter im Einsatz und habe den 
Eindruck, dass die schon ganz gut funktionieren.

: Bearbeitet durch User
von Christoph E. (stoppi)


Lesenswert?

Hier das Youtube-Video zum Projekt: 
https://www.youtube.com/watch?v=-67zhaJvJVQ

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
Noch kein Account? Hier anmelden.