Forum: Mikrocontroller und Digitale Elektronik Audiosignal mit Mikrocontroller lesen


von Mario K. (blu3r4y)


Lesenswert?

Hallo liebe Community!

Ich habe mir zuletzt einen kleinen LED Cube gebaut. Dabei hab ich mir 
überlegt dass es eigentlich nicht schlecht wäre, wenn dieser zum Takt 
der Musik leuchten würde.

Deshalb meine Frage, ist es möglich das Wechselspannungssignal vom 
Kopfhörerausgang irgendwie mit einem AVR einzulesen?
Ich dachte ich baue dazwischen einen Tiefpassfilter, um nur den Bass zu 
"lesen" und richte das mit einer Diode gleich, damit die negative 
Halbwelle weggeschnitten wird. Eventuell noch mit einem Kondensator das 
ganze etwas glätten und schon müsste ich ein DC Signal haben, oder?
Ist das möglich, oder mach ich mir damit den µC kaputt?

Das DC Signal könnte ich dann einfach per ADC einlesen und bei hohen 
Spannungswerten die LEDs aufleuchten lassen. Das ganze muss keine super 
tolle Lichtorgel sein, aber es wäre schon wenn die LEDs sich ungefähr 
zum Takt schalten.

Vielleicht könnt ihr meine Idee noch ergänzen? Muss ich was beachten, 
wäre das so machbar?

Freue mich über Antworten! Danke!

Freundliche Grüße,
Mario

von J. S. (engineer) Benutzerseite


Lesenswert?

Mario Kahlhofer schrieb:
> um nur den Bass zu
>
> "lesen"
Die Idee ist schon richtig. Der Tiefpass muss so ausgelegt werden, dass 
das Auge mitkommt. Du könntest aber 3-4 Frequenzbänder definieren und 
verschiedenen Gruppen der LEDs zuweisen.

Lies mal das hier:
Beitrag "spectrum analysator"

von Mario K. (blu3r4y)


Lesenswert?

Herzlichen Dank für die schnelle Antwort! Der Link war recht hilfreich, 
sieht gar nicht so schwer aus...

Juergen Schuhmacher schrieb:
> Der Tiefpass muss so ausgelegt werden, dass
> das Auge mitkommt.

Was meinst du damit? Würden die LEDs nur kurz aufleuchten wenn ich es so 
mache?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mario Kahlhofer schrieb:
> ist es möglich das Wechselspannungssignal vom
> Kopfhörerausgang irgendwie mit einem AVR einzulesen?

Ja.

Mario Kahlhofer schrieb:
> Ist das möglich, oder mach ich mir damit den µC kaputt?

Kann sein. Wenn Du Dir nicht sicher bist, wie viel Spannung Dein 
Kopfhörerausgang bereitstellt, solltest Du sicherheitshalber einen 
10k...47k Serienwiderstand vor dem ADC-Pin einfügen.

Mario Kahlhofer schrieb:
> Was meinst du damit? Würden die LEDs nur kurz aufleuchten wenn ich es so
> mache?

Du musst die Werte vom ADC "gleichrichten" (kann man in Software 
machen), tiefpassfiltern (ebenso Software) und die erhaltenen Werte 
maximieren und diese Spitzenwerte relativ langam zurückfallen lassen, 
sonst kannst Du sie auf einem "LED-Band" nicht wahrnehmen. Es würde nur 
wild flackern. Wenn Du die Erscheinungsform der allseits bekannten 
LED-Balken ausgeben willst, musst Du das so langsam machen, dass das 
Auge dies noch erfassen kann. Bei 10 LEDs zum Beispiel solltest Du eine 
Rücklaufrate des Balkens mit etwa 50..100ms pro verlöschende LED 
ansetzen. Das Schreiben der Spitzenwerte sollte dagegen in maximal 
10ms-Abständen erfolgen.

von Mario K. (blu3r4y)


Lesenswert?

Ah, herzlichen Dank für die Antwort!
Danke für den Hinweis mit dem Kopfhörerausgang, der Widerstand in Serie 
wäre sowieso ideal da ich die Schaltung eventuell auch an anderen 
Audioquellen anschließen wurde, wo ich nicht weiß wieviele Spannung die 
bereitstellen.

Ich verstehe schon was gemeint ist das dass Auge mitkommt. Bin sowieso 
noch am Überlegen wie ich das realisiere, das LED Band wäre ganz nett 
und möchte ich mir auch irgendwann bauen aber zur Zeit hätte ich 
überlegt wie ich es am Besten realisiere dass der LED Cube zum Takt der 
Musik leuchtet.
Da wäre entweder eine Geschwindigkeitsbeeinflussung der Animationen 
möglich oder dass - wie Jürgen oben erwähnte - verschiedene Gruppen der 
LEDs leuchten oder auch vertikale Balken ... mal schauen ;)

Ich danke euch auf jeden Fall für die Hilfe! :)

Wenn ich die Schaltung fertig habe werde ich sie hier posten um anderen 
damit auch zu helfen, derweil bin ich etwas zu beschäftigt um mich darum 
zu kümmern ...

von Jobst M. (jobstens-de)


Lesenswert?


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.