Forum: Mikrocontroller und Digitale Elektronik Töne einer Flöte erkennen


von Nino K. (lnino)


Lesenswert?

Hi an alle,
ich habe einen atmega168 und möchte damit musiktoene erkennen.
Gedacht waere dass ich mit einer flöte einen Ton spiele und wenn der Ton 
ein c ist dann soll eine LED angehen.
Was muss ich für den Audio Input verwenden?
Kann ich einfach einen Lautsprecher auf Eingang setzen?
Oder gibt es da sowas wie einen Akustik Sensor?
Gibt es zu diesem Szenario schon codebeispiele wie man die Frequenz 
abfragt um den Ton zu erkennen?

Vielen Dank für die Hilfe.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

http://elm-chan.org/works/akilcd/report_e.html
der Klassiker, Audio-Spektrum-Analyzer von Elm-Chan

von Weingut P. (weinbauer)


Lesenswert?

kann man analog lösen mit schmalbandigen Bandpässen, sprich je
ein Bandpass pro zu erkennendem Ton,
oder digital mit AD-Wandler Klang aufnehmen und per
FFT in seine Frequenzbestandteile zerlegen, die größte
Amplitude gibt dann den jeweiligen Ton an.
Einfach sind beide Wege nicht.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von Hendi (dg3hda) (Gast)


Lesenswert?

NE567, Tondecoder-IC. Für jeden Ton einen, mit ner RC-Kombination auf 
eine Tonfrequenz und zulässige Bandbreite eingestellt, gibt ein sauberes 
Ausgangssignal solang der Ton erkannt wird. Achtung, bei geringer 
Bandbreite dauert die Erkennung was länger.

NE567 ist übrigens der IC, wegen dem es den NE555 gibt :)

Gruß Hendi

von Harald W. (wilhelms)


Lesenswert?

Hendi (dg3hda) schrieb:

> NE567 ist übrigens der IC, wegen dem es den NE555 gibt :)

Kannst Du das näher erläutern?

M.W. waren die NE567 die typischen ICs, die man für die alten
2400Baud-Modems benutzt hat, in die man damals des Telefonhörer
einklemmen musste.
Gruss
Harald

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Such mal nach "AVR guitar tuner", da kommt einiges, auch Videos auf 
youtube.
Ein Projekt:
http://www.myplace.nu/avr/gtuner/
dazu auch hier ein Thread:
Beitrag "ATTiny45 GuitarTuner"
Eine Linksammlung AVR-Soundprojekte:
http://avr.15.forumer.com/a/sound-amp-music-projects-23/

von HansWurst (Gast)


Lesenswert?

El Nino schrieb:
> Was muss ich für den Audio Input verwenden?
> Kann ich einfach einen Lautsprecher auf Eingang setzen?
> Oder gibt es da sowas wie einen Akustik Sensor?
Ja, nennt sich Mikrofon.

von Nino K. (lnino)


Lesenswert?

Hendi (dg3hda) schrieb:
> NE567, Tondecoder-IC. Für jeden Ton einen, mit ner RC-Kombination auf
>
> eine Tonfrequenz und zulässige Bandbreite eingestellt, gibt ein sauberes
>
> Ausgangssignal solang der Ton erkannt wird. Achtung, bei geringer
>
> Bandbreite dauert die Erkennung was länger.

Mir gefällt die Variante recht gut, dass ich den NE567 mittels 
Widerstand auf eine fixe Frequenz einstellen kann.

Das heisst dann, dass beim NE567 auf den Input das Mikro ran kommt. 
Richtig?
Und wenn ich dann mit der Flöte reintute, dann überprüft der NE567 ob 
das der Frequenz entspricht, welche zuvor mit dem Widerstand festgelegt 
wurde.
Wird dann an den Output Pin True oder False übergeben?

Ich werde ja wohl oder übel den NE567 an meinen ATMEGA168 anschließen 
müssen, um den Ouput abzufangen. Mache ich das über I2C?

Habe beim Datenblatt bis auf den Outpt Port keine Anschlussmöglichkeiten 
gefunden.

http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A200%252FNE567%2523PHI.pdf;SID=13TyrL438AAAIAAF@EYzAe9a4639517edbaa7f5109b00e158f9c1

Oder wird über den Ouput Pin einfach Strom oder nicht Strom gesendet und 
ich muss dass dann am ATMEGA168 auf einem Pin überprüfen ob dort 
Spannung anliegt?

So viele Fragen.

Vielleicht kann mir da jemand etwas Licht ins Dunkel bringen?

Vielen Dank.

von Sam .. (sam1994)


Lesenswert?

Wenn du pro Ton einen NE567 verwenden willst...

FFT ist mit dem Mega8 zu schaffen.

von Nino K. (lnino)


Lesenswert?

Samuel K. schrieb:
> Wenn du pro Ton einen NE567 verwenden willst...

Das ist für meinen Gebrauch nicht so viel.
Ich möchte eine Abfrage von 1-3 Tönen machen.
Also brauche ich nur 1-3 NE567.
Würde sich auch preislich bei den paar Cent egal bleiben.

Aber würde die Schilderung von meinem vorherigen Post so funktionieren?
Hat mit dem IC jemand Erfahrung. Was bekomme ich bei dem NE567 für einen 
Ouput und stimmen meine Annahmen von der Verkabeldung bzw. 
Signalverarbeitung?

Vielen Dank.

von S. Morse (Gast)


Lesenswert?

El Nino schrieb:
> Oder wird über den Ouput Pin einfach Strom oder nicht Strom gesendet

In der Elektrotechnik verwendet man statt des Begriffes "Senden" meist 
den Begriff "fließen".

http://de.wikipedia.org/wiki/Stromkreis

von Nino K. (lnino)


Lesenswert?

S. Morse schrieb:
> In der Elektrotechnik verwendet man statt des Begriffes "Senden" meist
>
> den Begriff "fließen".

Danke für den Hinweis. Wieder was dazugelernt.

Hat vielleicht jemand eine Antwort auf meine zuvor gestellten Fragen?

von holger (Gast)


Lesenswert?

>Oder wird über den Ouput Pin einfach Strom oder nicht Strom gesendet und
>ich muss dass dann am ATMEGA168 auf einem Pin überprüfen ob dort
>Spannung anliegt?

Ja, Low oder High wenn Ton erkannt.
Was da raus kommt steht im Datenblatt.
Das wirst du also lesen müssen.

Funktionieren tut er jedenfalls gut.

von Nino K. (lnino)


Lesenswert?

Danke für die Rückmeldung.
Gibt es den en567 auch mit anderen Beinchen damit er zum testen in mein 
Streckbett passt?
Auf dem Bild bei reichelt sehen die Beinchen so flach aus.
Ich glaube für mein Standard steckbrett brauche ich ein dip Gehäuse.
Wäre dass der richtige?
Ist dass der gleiche wie der ne567 nur mit anderem Gehäuse?
http://www.reichelt.de/ICs-LM-LS-/LM-567-DIP/index.html?;ACTION=3;LA=444;GROUP=A215;GROUPID=2912;ARTICLE=10518;START=0;SORT=artnr;OFFSET=16;SID=10TxRd@38AAAIAAAwyXjE407bbfe712b2d29727d8cfa0785d6f2c
Vielen Dank.

von holger (Gast)


Lesenswert?

>Wäre dass der richtige?

Ja, DIP Gehaüse passt ins Steckbrett.

von Harald W. (wilhelms)


Lesenswert?

Samuel K. schrieb:
> Wenn du pro Ton einen NE567 verwenden willst...
>
> FFT ist mit dem Mega8 zu schaffen.

FFT ist zur Tonerkennung eher schlecht geeignet. Durch die
prinzipbedingte recht grobe Frequenzerkennung im Verhältnis
einer Oktave schiesst Du typisch eher rechts und links an Deiner
Wunschfrequenz vorbei.
Gruss
Harald

von Sam .. (sam1994)


Lesenswert?

Ein bisschen tricksen gehört halt dazu. Ich würde es so machen:

Man nimmt eine 128pt FFT und sampelt mit 8kHz. Evtl. sampelt man nochmal 
bei zB. 400Hz für tiefere Frequenzen.

Die Frequenz der größten Ampitude der FFT + 10% nimmt man als neue 
Samplingfrequenz.
Eine Auflösung von 1% sollte zur Tonerkennung reichen.

Das kostet ~32ms bei elmChan -> 30Hz Refresh
48ms @3x FFT -> 20Hz Refresh

(ich gehe davon aus, dass das Sampling im Hintergrund abläuft)

von Hendi (dg3hda) (Gast)


Lesenswert?

Du bist nicht der erste, der sich hier dafür interessiert:

http://www.mikrocontroller.net/part/NE567

Meine eigenen Erfahrungen mit dem Tondecoder-IC sind schon >10 Jahre 
her, und ja, Du kriegst an dem Ausgangspin ein Logiksignal das anzeigt 
ob der Ton vorhanden ist oder nicht.

Aber meine Freundin hat ein Projekt mit NE567 vor, die kann Dir vllt. 
weiterhelfen wenn es losgeht.

Gruß Hendrik

von Nino K. (lnino)


Lesenswert?

Danke für die vielen Rückmeldungen.

Bin schon voller Euphorie und warte nur noch bis die Teile die ich 
bestellt habe bei mir eintreffen. Dann kann ich loslegen.

Zu dem Mikro, dass ich an NE567 anschließen muss, hätte ich noch eine 
Frage. Was nimmt man hier am Besten? Ich habe bei Reichelt und Conrad 
geschaut, konnte aber irgendwie nichts passendes rausfiltern.

Nimmt man da flache, oder so stäbchen förmig?

Könnt ihr da was empfehlen?

@ Hendi: Auf das Angebot komme ich gerne zurück. Wie kann ich dich 
erreichen?

von rossi (Gast)


Lesenswert?

Ich hab sowas schon mal gemacht, habe es auf folgende Weise realisiert:

ECM -Kapsel als Mikro direkt an den Eingang eines Komparators und 
das Ausgangssignal des Komparators direkt an einen IO -Pin.

Wenn am IO-Pin ein HI detektiert wurde, wurde eine Schleife aktiviert, 
die 1.festgestellt hat, ob ein kontiuierlicher Ton anliegt und wenn ja, 
dann 2. den HI-LO-Wechsel pro Zeiteinheit mitgezählt hat.

Ausgewertet wurde die Zahl der HI-LO-Wechsel pro Zeiteinheit. Sie ist 
proportional zur Frequenz.

Als Stimmgerät ist die Methode wahrscheinlich zu ungenau, für eine 
Flöten-"Fernsteuerung" funktioniert sie in jedem Fall!



Ach ja, daran denken, dass ein ECM eine Vorspannung benötigt!

von Nino K. (lnino)


Lesenswert?

rossi schrieb:
> ECM -Kapsel als Mikro direkt an den Eingang eines Komparators und
>
> das Ausgangssignal des Komparators direkt an einen IO -Pin.

Hi Rossi,
vielen Dank für deine Meldung. Das hilft mir schon mal viel weiter.
Ich habe bei Conrad eine ECM Kapsel gefunden. Ist das so eine wie du 
meinst?
http://www.conrad.at/ce/de/product/710313/MIKROFONKAPSEL-EMY-6018RBC-SMD-44DB/SHOP_AREA_17390&promotionareaSearchDetail=005
Aber wie sieht es da mit Kabel aus? Muss ich die selber dran löten? 
Falls ja, wohin und wie viele? :-)

Ein Kabel an den Input vom NE567 und ein Kabel auf Dauerplus?

Danke für deine Unterstützung.

von Harald W. (wilhelms)


Lesenswert?

El Nino schrieb:

> Ich habe bei Conrad eine ECM Kapsel gefunden. Ist das so eine wie du
> meinst?
> 
http://www.conrad.at/ce/de/product/710313/MIKROFONKAPSEL-EMY-6018RBC-SMD-44DB/SHOP_AREA_17390&promotionareaSearchDetail=005

Brauchst Du unbedingt ein derart kleines Mikro? Für Deinen
Zweck sollte sich jedes beliebige Standard-Elektret-Mikro
ab ca. 1 EUR eignen. Allerdings brauchen alle diese Mikros
noch einen Vorverstärker z.B. mit OPV.

> Aber wie sieht es da mit Kabel aus? Muss ich die selber dran löten?
> Falls ja, wohin und wie viele? :-)

Hmm, auch der 567 braucht noch ein paar Bauteile mehr. Du solltest
Dir in Deiner Umgebung einen Elektronikinteressierten zum Aufbau
Deiner Schaltung suchen. Das kann heutzutage manchmal sogar ein
12-jähriger Schüler sein. :-)
Gruss
Harald

von Nino K. (lnino)


Lesenswert?

Harald Wilhelms schrieb:
> El Nino schrieb:
>
> Hmm, auch der 567 braucht noch ein paar Bauteile mehr. Du solltest
> Dir in Deiner Umgebung einen Elektronikinteressierten zum Aufbau
> Deiner Schaltung suchen. Das kann heutzutage manchmal sogar ein
> 12-jähriger Schüler sein. :-)
> Gruss
> Harald

Leider habe ich keinen an den ich mich hier wenden könnte.

Welches Bauteil brauche ich noch für meinen ne567 noch und welchen Zweck 
hat dieses?

Ganz mini muss das micro nicht sein, aber nicht groesser als eine 2 Euro 
Muenze.
Kann mir jemand bei Conrad oder reichelt ein referenzmodell als Mikro 
nennen?

Und welches Bauteil wuerde sich hier für den Vorverstärker anbieten? Und 
warum braucht man das? Vorzugsweise bei Conrad oder Reichelt.

Danke für die Hilfe.

von Nino K. (lnino)


Lesenswert?

Habe nun bei Conrad Haufenweise operationsverstärker gefunden.
Aber welcher wäre für mein Vorhaben der Richtige?
http://www.conrad.at/ce/de/FastSearch.html;jsessionid=591745E5BE92846C9341B85505E274D5.ASTPCCP3?search=Opv&initial=true&categorycode=
Warum reicht es nicht das Mikro direkt an den ne567 anzuschließen?

von Nino K. (lnino)


Lesenswert?

Kann mir jemand ein Mikro und ein opv für mein Projekt mit dem ne567 
empfehlen?
Vorzugsweise bei reichelt oder Conrad.
Vielen Dank

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.