Go Down

Topic: Line-out am analogen Eingang (Read 1 time) previous topic - next topic

nacho0o0

Hallo,
Ich bin komplett neu in der uC Technik. Grundlegendes Wissen zur ET is vorhanden aber eine Frage hab ich trotzdem^^
Ich würd gerne ein Programm schreiben, dass mir eine LED anschaltet, sobald am line-out des Rechners ein bestimmter Geräuschepegel vorhanden ist.
Ich hab zuletzt mit einem Oszilloskop gemessen was für Spannungen am line-out anliegen, wenn Musik an ist.
Maximal gibt er 2V aus. Meine Frage ist nun, ob ich mit dem line-out direkt auf nen analog Eingang gehen kann oder soll ich das über einen Varistor mit einem Referenzwiderstand machen? Die Frequenz von hörbaren Geräuschen liegt noch im Möglichen des uC oder?
Danke schonmal :)

Klaus_ww

Ich würde bei solchen Anforderungen den Pegel über einen Komparator (OpAmp) monitoren und mit dessen Ausgang den Interrupt füttern.

Gruss
Klaus

nacho0o0

#2
Feb 10, 2013, 07:28 pm Last Edit: Feb 10, 2013, 07:31 pm by nacho0o0 Reason: 1
Das hab ich jetzt nicht ganz verstanden. Der Interrupt ist nicht notwendig, da das Programm erstmal nichts anderes machen soll als die LED anschzuschalten und bei dem Geräusch kann es sein, dass es nur jede Minute einmal vorkommt. Ich will nen Delay verwenden, damit der mir nicht 100x die sekunde sagt, LED an und LED aus. Naja Frage hat sich ja auch nicht auf das Programmieren bezogen, sondern auf das Beschalten des analogen Eingangs.

Klaus_ww

Du kannst natürlich einfach das Audiisignal an einen Analog In anklemmen und per Loop abfragen. Ob das dem Anspruch an Genauigkeit genügt vermag ich nicht zu sagen.
Ggfls. brauchst Du aber je nach Signalpegel eh einen Verstärker, dann wären wir wieder beim OP.

nacho0o0

#4
Feb 10, 2013, 07:47 pm Last Edit: Feb 10, 2013, 07:49 pm by nacho0o0 Reason: 1
Okay danke. Das Signal muss auch nicht genau sein. Es reicht abzufragen ob der Pegel schon die 1V Grenze überschreitet. Es wird auch nur ein Geräusch vorkommen, da ich alle anderen abstelle, deswegen kann es auch nicht zum versehentlichen auslösen, durch andere Geräusche kommen. Man kann es sich wie einen Klatschschalter vorstellen^^. Das Signal aus dem Line-Out wird auch nicht weiter verarbeitet. Also werde ich einfach ne Abfrage if(analogRead>204) machen.

Klaus_ww

Das wird funktionieren im Rahmen der maximalen Abfragegeschwindigkeit. Ich würde noch einen Entkopplungskondensator und Gleichrichtungsdiode vor den Eingang schslten und los geht's.

nacho0o0

Den Kondensator brauch ich auch nicht mal. Die verstärkung übernimmt ja schon die Soundkarte, und die hat auch schon alle Gleichstromanteile raus gefiltert^^ aber an die Diode komm ich wohl nicht drann vorbei^^ Oder meinst du was anderes bei dem Kondensator?

Klaus_ww

Passt. Mach noch nen 4k7 Widerstand in Reihe und danach die Diode in den Signalfluss und fein.

nacho0o0

okay nächste doofe frage :D beeinflusst der Widerstand nicht das Eingangssignal?

Klaus_ww

Nö, Ausgang der Soundkarte ist halbwegs niederohmig. Widerstand sient nur der Entkopplung und hat fast keinen Einfluss.

nacho0o0

hmm so ganz versteh ich noch nicht wofür ich ne Entkopplungswiderstand brauch. Wofür ist er denn notwendig und was macht der?

uwefed

Der Line-Out-Ausgang ist Wechselspannung. Daum muß Du umbedingt gleichrichten. Dann würde ich noch ein kleines RC Gleid danachschalten um eine Gelichspannung zu erhalten ansonsten hängt das Meßergebnis vom Moment der Messung ab und die kann in jedem Moment des Spannungsverlaufs erfolgen (nicht unbedingt beim Höchstwert sondern auch bei Nulldurchgang).
Grüße Uwe

nacho0o0

okay aber wie demensionier ich das rc glied?

michael_x

t = R * C

;)

ok, das sagt dir erstmal nur, wie langsam die Spannung am Kondensator sich ändert, wenn die Spannung am Widerstand einen Sprung macht.
Das andere interessante daran ist:  Ohm * Farad = Sekunde (oder 100k * 10µF = 1s, um mal in "normalen" Einheiten zu denken)

Bei z.B. 1000Hz als immer vorhandener Frequenz reichen dir deutlich kleinere Werte ...

Ausserdem ist dein analogRead immer noch so schnell, dass du ein LED-Flackern nicht sehen würdest, wenn du das "Geräusch" nur gleichrichten würdest.

Go Up