Spannung regeln Computer (C++)

Gast #2445930
Hallo,

vor kurzem habe ich das Studentenkompendium für C++ durchgelesen. Da 
wurde kurz eine kleine Spielerrei gezeigt. Und zwar das steuern von 
3Leds über den Seriell-Port. Diese Idee finde ich genial und deshalb kam 
ich auf eine eigene Idee. Das steuern meiner Kaltlichkatoden zur Musik 
(EQ). Ist der Ton laut, soll es hell leuchten. Ist der Ton (bzw. bass) 
leiser soll es weniger hell leuchten (also sogesagt dämmern). Da ich 
gelesen habe, dass Seriell nur zwei zustände kann "an (~0V)" und "aus 
(~5V)", suche ich nun irgend ein Bauteil, bei welchem ich die Spannung 
drosseln kann und so meine zwei Kaltlichtkatoden ansteuern kann. Gibt es 
da irgendwas? Außerdem, wie kann ich meine Kaltlichtkatoden dann in die 
Schaltung integrieren (muss das Gerät dann Saft für 2 Kaltlichtkatoden 
leifern?)?

Entschuldigt mein fehlendes Wissen bei Hardware :)

Der Technikunterricht von der Realschule ist schon eine Weile her :/

Gruß
t4ggno
Und um Andreases Antwort noch etwas zu präzisieren:

Nein, du kannst dir die Spannung nicht aussuchen.


Du brauchst eine externe Schaltung, die die Spannung erzeugt und die vom 
PC aus den Befehl erhält, eine bestimmte Spannung zu erzeugen. Dazu gibt 
es mehrere Möglichkeiten, aber rein nur mit PC Bordmitteln geht das 
nicht.
Gast
okay. Da habe ich dann wahrscheinlich irgendwas falsch verstanden. Aber 
zum Glück lernt man nie aus ...

Mit seriell kann ich dennoch nichts anfangen oder?

Kann man evtl das Regeln der Spannung an den Kathoden über den 
Lüfteranschluss regeln?
Gast
Karl Heinz Buchegger schrieb:
> Und um Andreases Antwort noch etwas zu präzisieren:
>
> Nein, du kannst dir die Spannung nicht aussuchen.
>
>
> Du brauchst eine externe Schaltung, die die Spannung erzeugt und die vom
> PC aus den Befehl erhält, eine bestimmte Spannung zu erzeugen. Dazu gibt
> es mehrere Möglichkeiten, aber rein nur mit PC Bordmitteln geht das
> nicht.

Und welche Möglichkeiten gäbe es da? Kann das ein Anfänger verstehen 
oder muss man sich da tiefer in der Elektronikebene sich befinden?
Es gibt auch zwei Pins (DTR, RTS) am RS232 Ausgang den man high und low 
(-12V = High, 12V = low) schalten kann, ich habe das mal mit Java 
gemacht weil ich die -12V brauchte.

Das wirst du mit Visual-C++ auch machen können.

Vielleicht kannst du damit eine niederfrequente PWM erzeugen und 
dahinter einen kleinen Tiefpass basteln damit die weiße LED (keine 
Kaltlichtkatoden) nicht flackert.
Gast
Rufus Τ. Firefly schrieb:
> Natürlich kannst Du was mit der seriellen Schnittstelle anfangen. Hänge
> an die einen kleinen µC, der Deine Steuerungsaufgaben übernimmt.
>
> Das ist von den für diese Zwecke sinnvollen Schnittstellen die am
> einfachsten zu nutzende.

µC = Computerbauteil mit diversen Schnittstellen?

Ich denke µC wird für mich zu kompliziert sein. Wollte eig. kein 
Elektonikgroßprojekt (<- für mich ist das ein Großprojekt) machen :)

Mike J. schrieb:
> Es gibt auch zwei Pins (DTR, RTS) am RS232 Ausgang den man high und low
> (-12V = High, 12V = low) schalten kann, ich habe das mal mit Java
> gemacht weil ich die -12V brauchte.
>
> Das wirst du mit Visual-C++ auch machen können.
>
> Vielleicht kannst du damit eine niederfrequente PWM erzeugen und
> dahinter einen kleinen Tiefpass basteln damit die weiße LED (keine
> Kaltlichtkatoden) nicht flackert.

Dann werde ich wohl mal dies probieren!
Ist zwar kein sanftes hell und dunkel werden, aber das geht bei kathoden 
bestimmt eh nicht. Werde dann einfach an diversen stellen LEDs einbauen 
und diese dann zum takt aufblitzen lassen. Programmiertechnisch sollte 
dies kein Problem darstellen. Gibt ja genug libs zum ansteuern des 
S-Ports (hoffe zumindest eine OS-unabhängige)!

Gruß
t4ggno
Persönliche Seite
t4ggno schrieb:
>> Es gibt auch zwei Pins (DTR, RTS) am RS232 Ausgang den man high und low
>> (-12V = High, 12V = low) schalten kann

Zu bedenken ist, daß die RS232-Treiber recht hochohmig sind, deutlich 
mehr als 10 mA sind da nicht zu erwarten.

Und die Geschwindigkeit, mit der man an diesen Handshakeleitungen 
"wackeln" kann, liegt bestenfalls bei ein paar hundert Hertz.
t4ggno schrieb:

> Mike J. schrieb:
>> Es gibt auch zwei Pins (DTR, RTS) am RS232 Ausgang den man high und low
>> (-12V = High, 12V = low) schalten kann, ich habe das mal mit Java
>> gemacht weil ich die -12V brauchte.
>>
>> Das wirst du mit Visual-C++ auch machen können.
>>
>> Vielleicht kannst du damit eine niederfrequente PWM erzeugen und
>> dahinter einen kleinen Tiefpass basteln damit die weiße LED (keine
>> Kaltlichtkatoden) nicht flackert.
>
> Dann werde ich wohl mal dies probieren!

Der ganze Vorschlag ist blödsinnig.
PWM ist mit einem Windows-PC ohne externe Hardware nicht sinnvoll 
machbar. Zum testen und ein wenig rumspielen mag es noch angehen, aber 
spätestens wenn eine sinnvolle alltagstaugliche Lösung gebraucht wird 
ist Schicht im Schacht. Spätestens wenn Windows den PC einfriert um den 
Speicher aufzuräumen, sind deine Lichter entweder voll ein oder voll 
aus, je nachdem wann genau sich Windows dazu entschliesst.
Mal ganz davon abgesehen, dass du mit Windows-Mitteln keine vernünftige 
PWM Auflösung hinkriegst, weil der normale Timer nicht fein genug 
auflöst.
Karl Heinz Buchegger schrieb:
> Der ganze Vorschlag ist blödsinnig.

Jein.

t4ggno schrieb:
> ... kleine Spielerrei ...

Gemessen an den Anforderungen könnte es mit Bitklingeln durchaus 
angemessen sein.
Zumindest lernt man etwas dabei, nämlich ein bißchen Programmieren und 
daß es nicht so richtig toll geht auf diese Art.

Also warum nicht?
Es muß ja nicht den Elektronikmarkt von hinten aufrollen.
Gast
So langsam sind die handshake Leitungen dann auch nicht!
Unter Windwos ~16kHz bei 1:1 und 50% CPU auslastung (Dualcore)
Bei Linux ~30kHz mit dem gleichen Programm in !!!C#!!!
Karl Heinz Buchegger schrieb:
> Der ganze Vorschlag ist blödsinnig.

Mach einen Vorschlag der für ihn gut umsetzbar ist.

@ t4ggno (Gast)
Du könntest eine Schieberegister (74HC4094) mit einem dahinter 
geschalteten R2R-Netzwerk nutzen um eine Spannung herzustellen.
Die Spannung geht zu einem OpAmp, der vergleicht diese Spannung mit der 
Spannung an einem Shunt und regelt einen Transistor so dass nur der 
entsprechende Strom über die LED fließt.

Das Schiebregister braucht nur einen Takt und ein Datensignal. (kann man 
mit DTR und RTS machen)
Am besten wäre es aber noch wenn man mit Strobe die Daten an den 
Ausgängen Übernehmen kann und nicht sieht wie die Daten rein geschoben 
werden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.