Forum: Mikrocontroller und Digitale Elektronik Rhythmus erkennen


von Martin (Gast)


Lesenswert?

Hallo zusammen,

ich habe mir eine LED Matrix gebaut und einige hübsche Animationen 
hinbekommen.

Kann mir jemand sagen wie ich das hinbekommen dass sich diese 
Animationen im Rhythmus der Musik bewegen?

Ich glaube man müsste am ein Mikrophon an einen ADC Pin anschliessen und 
so die Spitze erkennen?

Ich brauche nur einen Impuls bei jedem "Bum-Bum".


Danke & Grüsse
Martin

von dr.schmock (Gast)


Lesenswert?

Ja das stimmt. Ich würd auch einfach mal per µC die Spitzenwerte 
abfragen und ausprobieren, ob's ausreicht.
Aber es könnte gut sein, dass Ergebnis nicht zufriedenstellend ist 
(Fehlauslösungen). Dann muss evtl. noch ein Tiefpass vorgeschaltet 
werden, oder nicht-periodische Spitzenwerte rausgefiltert werden.

von Remote O. (remote1)


Lesenswert?

Beim µC wirst du das Problem haben, dass Musik viel zu schnell ist um 
die Spitzenwerte rechtzeitig zu erkennen.

von Johnny B. (johnnyb)


Lesenswert?

Denke ich auch, daher würde es sich anbieten, die Verarbeitung in 
Hardware zu realisieren.
Sowas hier z.B. http://www.flickr.com/photos/deonvdw/907735400/
Statt dem PIC könnte man sonst was nehmen.

von Flo (Gast)


Lesenswert?

Mikrofon -> Vorverstärker -> Tiefpass (für Bass) -> 
Schwellwertkomparator -> uC-Eingang

von Alexander S. (esko) Benutzerseite


Lesenswert?

> Vorverstärker -> AGC -> Tiefpass (für Bass)

Automatic Gain Control = Automatische Verstärkungsregelung

von buffalo (Gast)


Lesenswert?

Warum denn hardware bauen wenn man nen µC hat ? Einfach mit fft (siehe 
link) den bass rausfiltern und beim erreichen der Signalspitze (Steigung 
der Funktion = 0) das Lämpchen leuchten lassen.

Gruß buffalo

http://www.mikrocontroller.net/articles/Digitale_Signalverarbeitung#FFT
http://de.wikipedia.org/wiki/Schnelle_Fourier-Transformation

von Bernd H. (bhallinger) Benutzerseite


Lesenswert?

FFt ist viel zu aufwändig....

Digital Tiefpassfiltern reicht vollkommen....

von Martin (Gast)


Lesenswert?

Danke viel mals für eure Antworten.

Hat jemand das schonmal auf nem Atmega8 in C realisiert?
Ich habe auf http://elm-chan.org/works/akilcd/report_e.html was in ASM 
gefunden, möchte aber lieber in C programmieren.

Danke & Gruss
Marin

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.