nee, in Rechteck das wird nix, zumindest nicht wenn Du
nicht nen entsprechenden Tiefpass vorschaltest.
Andere Variante wär per FFT, da DU ja nur die tiefen Töne willst
kommst Du mit den 15KHz Samplingrate auf 10Bit noch gut
hin.
Hallo zusammen,
hab mir mal ein neues "Weihnachts-Projekt" vorgenommen, mal schauen was daraus wird:
Ich habe vor, an meinem Controllerboard (Atmega32) das Signal meiner Musikanlage auszulesen. Je nach Stärke der "tiefen" Töne, sollte mein LED-Paket per PWM mehr oder weniger leuchten.
Zurzeit kann ich aber erst per USB (bzw. FT232) die LED's dimmen.
Als weitere Ausbaustufe ist gedacht versch. Lichtmodi per USB zu wählen.
Jetzt stehe ich aber vordem Problem, wie lese ich das Audiosignal gescheit aus? Evtl mit der Umwandlung in ein Rechtecksignal (siehe Audio => AVR (LM339))
Gruss Optix
nee, in Rechteck das wird nix, zumindest nicht wenn Du
nicht nen entsprechenden Tiefpass vorschaltest.
Andere Variante wär per FFT, da DU ja nur die tiefen Töne willst
kommst Du mit den 15KHz Samplingrate auf 10Bit noch gut
hin.
Vor den Erfolg haben die Götter den Schweiß gesetzt
Vielen Dank für den Tipp,
könntest du mir aber evtl. erklären was FFT ist bzw. was es bedeutet?
Laut wikipedia ist dies ein Verfahren zur Transformation?! (Fourieranalyse?)
Nachdem ich Google wieder mal beansprucht habe,
fand ich diese Schaltung: http://elm-chan.org/works/akilcd/report_e.html
Wenn ich die Software nun umschreibe und dann damit meine LED's anschalte, sollte es eigentlich klappen oder?
vielleicht kannst du dir hier ein paar anregungen holen. es wird ebenfalls die FFT von Elmar Chan verwendet.
gruesse
Hallo robocat!
Vielen Dank für deinen Hinweis, ich habe jetzt mal deinen Code angeschaut und glaube ich komme einigermassen damit klar.
Jedoch sehe ich (als Anfänger) nicht welchen ADC-Port du benutzt. (Hardware-technisch geht's, softwaremässig hab ich noch ein Brett vor'm Kopf)
Mfg Optix
im code gibt es keinen eintrag zur wahl des ADC-kanals. damit ist laut datenblatt (Tabelle 75 auf seite 206) der ADC0 als eingang gewählt.
Table 75. Input Channel Selections
MUX3..0 Single Ended Input
0000 ADC0
0001 ADC1
0010 ADC2gruesseCode:// free running ADC mode, f = ( 16MHz / prescaler 128 ) / 13 cycles per conversion = 9615Hz // 8bit result in ADCH (we adjust left) ADMUX=(1<<REFS0)|(1<<ADLAR); ADCSRA=(1<<ADSC)|(1<<ADEN)|(1<<ADFR)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1);//|(1<<ADPS0);
Vielen Dank!
Ich melde mich dann wieder, sobald ich die Teile habe$
Mfg Optix
Lesezeichen