Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
22.02.2002, 12:03
Doppelhertz



Ich hab mir ma überleg, dass es ja möglich ist, z.B. eine Lampe per PC zu steuern. Man bastelt einfach en Teil, des an den parallel Port oder Drucker Port angeschlussen wird, und baut da ne Relaisschaltung ein (die Dinger heißen doch Relaisschaltung, oder?? Ich mein halt des, womit man mit wenig Strom + agnet en stärkeren Stromkreis unterbrechen und schleißen kann)Dann schneidet man das STromkabel der Lampe durch, und schleißt des Gerät dazwischen. So, nun müssen wir programmieren:
Button1 = Strom an, also Strom auf Port
Button2 = Strom aus, also Strim aus von Port
Funzt das???
Wenn ja, wo krieg ich die nötigen Teile her??
Könnte ich des womöglich noch mit Infrarot oder Funkversteuerung machen und per Fernbedienung dann dem Programm den Befehl zum Strom an/aus geben???

--

zum Seitenanfang zum Seitenende Profil || Suche
001
22.02.2002, 12:47
Retro



lol?

Du hast etwas vor was du ohne das nötige Wissen und Ahnung nicht realisieren kannst. Der Port ist zwar eine der einfachsten Zugriffsmöglichkeiten, trotzdem hat ers insich!

Die Elektronik sollte zudem noch einen Optokoppler zur galvanischen Trennung zum Computer enthalten, sonst hauste dir schnell mal die Controler kaputt.

Den Strom einer Schnittstelle kannst du schonmal garnicht abschalten, da dort kein Strom rauskommt. Du kannst höchstens ein Signal der Datenleitung abfangen, welches z.B. einen Optokoppler durchschaltet, der wiederum auf einen Transistor Spannung gibt, welcher dann zum Relai durchschaltet.
Ohne Erfahrung in sachen Elektronik würd ich dir von dem Vorhaben allerdings abraten.

Btw. Bauteile bekommst du von http://www.conrad.com/ & http://www.re-components.com/

Eine Funkfersteuerung ist ein sehr komplexes Vorhaben! Da braucht man nen codierer, decodier, schwingkreis, verstärker, usw.. ne sehr große Schaltung. Auch mit nem Funkmodul wird sie nicht wesentlich kleiner, da es ja auch angesteuert werden will...
Kurz gesagt, keine Chance für dich!

Nochmal zur Schnittstelle:
Daten bzw. Text lässt sich sehr einfach (z.B. mit Delphi) an die COMs senden, ne einzellne Datenleitung zu schalten dürfte mit Delphi ziemlich unmöglich sein. Mit VBasic kannst das allerding per Routine machen, trotzdem bleiben einige Probleme... ne saubere Programmierung ist das natürlich _nicht_!

Aber ohne (etwas mehr) Grundwissen in Elektronik, dürfte schon die Lampe anzusteuern nen sehr großes Problem für dich werden.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
002
22.02.2002, 12:50
Doppelhertz



;( *desabbamachenwill* ;(
Naja, dann werd ich das ma lassen, so schade es auch sein mag :(
Thx for help

--

zum Seitenanfang zum Seitenende Profil || Suche
003
22.02.2002, 13:37
mani



lol Retro, wieso sollte er auch die funkfernsteuerung selbst machen? gibts doch sender + empfänger zu kaufen
doppelhertz: vielleicht versuchst du es mit ner Infrarotfernsteuerung anstatt funk....

--

zum Seitenanfang zum Seitenende Profil || Suche
004
22.02.2002, 13:59
Retro



Blablabla...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
005
22.02.2002, 15:03
Doppelhertz



Des hab ich ja gemeint, wieso sollte ich sowas selber machen :P *michselberverteig*

--

zum Seitenanfang zum Seitenende Profil || Suche
006
23.02.2002, 20:35
TheTinySteini



Das kommt mir doch irgendwie sehr bekannt vor... denn diese Sache hab ich auch vor, und zwar mit nem WinAMP-Plugin.

Hast du überhaupt erstmal versucht, eine LED anzusteuern, bevor du dich an richtig fette Glühlampen wagst?

QBasic (jahaaa!) eignet sich für erste Schritte ziemlich gut, da kann man nämlich per out( portnummer, bytewert ) alle möglichen Kombinationen an den Parallelport schicken.
Die Datenleitungen liegen übrigens an Pin 2-9. Um Datenleitung 0 und 4 einzuschalten, musst du als Bytewert 2^0 + 2^4 rausschicken, also 17.

Unter Windows ist das ganze nicht mehr ganz so einfach, weil die Device-Treiber einem einen Strich durch die Rechnung machen. Interessanterweise geht's aber zumindest unter Win9x, einfach ganz dreist per Assembler-Code den Wert an den Port zu schicken, hier meine Assembler-Funktion für C/C++:
Quellcode:void port_out( short int port, unsigned char value )
{
. __asm
. {
. . push dx
. . mov dx,port
. . mov al,value
. . out dx,al
. . pop dx
. }
}

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
007
24.02.2002, 13:14
nimdAClaeT



also ich würde mir einfach soe in Teil z.B. bei conrad kaufen, da ist doch dann bestimmt eine anleitung oder sogar ein fertiges Programm dabei! ;-)

--

nimdAClaeT [nihm-dah-klät]
Die Entdeckung aus frühen Morgenstunden hat eine neue Adresse: http://nimdaclaet.de
Exercito artem parat.
Dum thewall.de[colosseum] stabit, Half-Life[Roma] stabit; dum Half-Life[Roma] stabit, mundus stabit.

zum Seitenanfang zum Seitenende Profil || Suche
008
24.02.2002, 15:55
Another1



wenn ihr ports ansteuern wollt solltet ihr mal nach Lab Windows CVI suchen, das is extra für sowas gemacht.

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
009
24.02.2002, 15:59
feigling



Also,
normale LEDs kann man mit Delphi und C++ ganz einfach ansteuern.
Ich habe das mal ausprobiert und einfach an den Druckerport so ein LED-Display angeschlossen. Das funzt auch ganz gut, nur man hat das Problem, dass man insgesamt dann nur 8 LEDs ansteuern kann, ohne da noch ne Schaltung zwischen zu machen. Um mehr damit zu steuern, müsste man sich wie Retro sagte, so ne Schaltung bauen. Es ist aber wirklich kein Problem, einfach mal ne LED anzuschließen. Dafür muss man "einfach" :) nur ein Druckerkabel zerschneiden und die LED an die entsprechenden Kabel anschließen. Siehe Abbildung. Danach kann man mit Delphi oder C++ das ganze einfach ansteuern.

Delphi Code
Quellcode:

procedure OutPort(PortAddr: word; Databyte: byte); assembler; stdcall;
asm
mov al,Databyte
mov dx,PortAddr
out dx,al
end;

Ansteuern kann man die Led über den Befehl :
OutPort($378,1);
$378 ist der Druckerport und bei dem zweiten Parameter gibt man die LED an, also wenn die LED wie auf dem Bild angeschlossen ist, dann muss man dort 1 eingeben. Falls noch eine LED angeschlossen ist, muss dort eine zwei hin und wenn z.B. beide Angesprochen werden sollen, dann muss dort ne 3 hin, denn 1+2 = 3 <= ist alles in Byte

Bei C++ geht es noch einfacher

C++ Code
Quellcode:

#include <conio.h>

void main()
{
     _outp(0x378,1);
}

Das ist eigentlich alles, was man benötigt, um an den Druckerport was anzusteuern.

--


Dieser Beitrag wurde am 24.02.2002 um 19:21 von feigling bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
24.02.2002, 16:35
TheTinySteini



Leute, sowas macht man nicht. Man schließt nicht einfach eine LED an den Druckerport an. Auch wenn das rein theoretisch funktioniert. Der Druckerport ist nicht dafür ausgelegt, irgendwelche Lasten zu betreiben. Seine einzige Aufgabe ist es, mit TTL-Pegel (5V) andere TTL-Bausteine (beispielsweise logische Gatter) anzusteuern. Nur so nebenbei ist die LED in dem Bildchen da zwischen zwei Datenausgängen angeschlossen, das funktioniert zwar, wenn nur der erste Ausgang durchgeschaltet ist, aber man sollte schon eine Masseverbindung nehmen. Also entweder mit dem Gehäuse verbinden oder mit einem der letzten Pins in der zweiten Reihe (22-25 sind auf jeden Fall Masse, gibt aber noch mehr).
Will man Lasten schalten (und in dem Fall zählt auch schon eine LED mit gerade mal 20mA zu den Lasten), sollte man unbedingt eine entsprechende Verstärkerschaltung erstellen. Entweder man nimmt dafür ein fix- und fertiges IC (ULN2800er Reihe zum Beispiel) oder man nimmt einen Transistor, dessen Basis man über nen 10k-Widerstand (als Schutz) an den Druckerport anschließt. In den Emitter-Collector-Kreis kann man dann ne LED mit Vorwiderstand reinhauen und mit 9V oder so betreiben. Minuspol der Spannungsquelle sollte man mit nem Masse-Anschluss des Druckerports verbinden, um Potentialunterschiede auszugleichen.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
011
24.02.2002, 17:32
feigling



Mag ja sein, aber theroretisch geht es ohne irgendwelche komplizierten Schaltungen und nur das wollte ich Doppelhertz sagen =)

--

zum Seitenanfang zum Seitenende Profil || Suche
012
24.02.2002, 20:05
Retro



Wenn du dir nach nem "Steckfehler" nen neues Motherboard kaufen willst gehts auch ohne, stimmt! :)

/me votet für galvanische Trennung: Optokoppler

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
013
24.02.2002, 21:35
feigling



Naja, muss auch wieder nicht sein, so ein kaputtes Motherboard. Da habt ihr schon recht :)

--

zum Seitenanfang zum Seitenende Profil || Suche