PC-Interfaces


Erstellt: 2004-11-26Letzte Änderung: 2009-06-25 [vor 14 Jahren, 9 Monaten, 24 Tagen]

PC-Interfaces Hier finden sich einige Beispiele, wie man seine Basteleien mit dem Silizium-Superhirn unter bzw. auf dem Schreibtisch verbinden kann.

Parallelport (IEEE-1284)

Der Parallelport ist vermutlich die am einfachsten zu benutzende Schnittstelle.
Leider stirbt sie seit geraumer Zeit immer weiter aus.

Wer noch eine hat, kann sich freuen! Man viele tolle Dinge damit anstellen. ;-)

Der Parallelport ist Bidirektional. Er besitzt 12 Ausgänge und 5 Eingänge. 3 Ausgänge und 1 Eingang sind invertiert.

Man kann also Signale mit dem Port ausgeben und einlesen.

Port schreiben

Hier soll eine sehr simple Schaltung gezeigt werden, mit der man über 8 der 12 Datenleitungen eines Parallelports LEDs beliebig ein- und ausschalten kann. Man kann so z.B. ein Lauflicht oder ähnliche Spielereien aufbauen:

Da die LPT-Schnittstelle leider nicht kurzschlusssicher ist, müssen Transistoren an die Datenleitungen gehängt werden. Fast jeder beliebige NPN-Transistor kann verwendet werden.

Der Pegel der Datenleitung steuert den Transistor, der hier als Schalter für jeweils eine LED dient.
Zwischen Datenpin und Basis wird sicherheitshalber noch ein Widerstand (1kΩ, 1/4W) gesetzt.

Der Transistor schaltet dann die LED plus Vorwiderstand durch und selbige leuchtet.

Die Ausgänge am 25-poligen SUB-D Stecker mit den Nummern von 2 bis 9 sind die Datenleitungen, die Ausgänge 18-25 werden mit GND (Minus) verbunden.

Schaltplan:
Schaltplan
Mit folgendem kleinen QuickBASIC- bzw FreeBASIC-Code lässt sich das Interface ansteuern.

DIM lpt(1 to 8) AS INTEGER, i AS INTEGER, lptbyte AS INTEGER
 
lpt(1) = 0
lpt(2) = 0
lpt(3) = 0
lpt(4) = 1 'Anschalten
lpt(5) = 0
lpt(6) = 0
lpt(7) = 0
lpt(8) = 1 'Anschalten
 
lptbyte = 0
 
FOR i = 1 to 8
	lptbyte = lptbyte + (2 ^ (i - 1)) * lpt(i)
NEXT i
 
OUT 888, lptbyte 'LPT schalten

Man muss lediglich die entsprechenden Bits des entsprechenden I/O-Ports setzen, um die dazugehörigen Datenleitungen einzuschalten.

Dezimal 888 bzw. Hexadezimal 378 ist normalerweise die Adresse des LPT1-Ports. Wenn dem bei euch nicht so ist, müsst ihr die richtige Adresse herausfinden und in der letzten Zeile umändern. (Im Windows-Gerätemanager bzw. im BIOS schauen.)

Nach Ausführen des Codes sollten jetzt die beiden LEDs an den Leitungen 4 und 8 leuchten.

ACHTUNG! Der Code funktioniert in QuickBASIC unter Windows XP nicht!

In FreeBASIC sollte er aber auch unter Windows XP laufen.

Wer mir Codebeispiele in anderen Programmiersprachen zusenden möchte, möge mich bitte kontaktieren.

Unten bei den Anwendungen findet ihr mein Paralleles Universal-Interface.

Dort gibts außerdem auch meinen Aufbau eines kleinen "Roboters" mit diesem Interface. :-D

Port lesen

In Arbeit.

Hier ist ein kleiner Aufbau: Paralleles Universal-Interface

Nach oben

Serieller Port (RS-232)

Skilltronic stellt auf seiner Website die benötigten Schaltpläne für ein Interface am Seriellen Port zur verfügung. Hier klicken!

Ich erspare mir jetzt, das dort gesagte hier zu wiederholen. ;-)

Unten bei den Anwendungen findet ihr meinen Aufbau eines großen, bidirektionalen Interfaces mit jeweils 32 Ein- und Ausgängen, welches ich mit Schaltplänen der oben genannten Website realisiert habe.

Mein altes Interface für den seriellen Port, mit einem 74LS266 für Tri-State:


Nach oben

USB-Port

Kommt noch.

Nach oben

Anwendungen

Dosenroboter

Mit dem Parallelport-Interface habe ich vor Jahren einmal einen sehr rudimentären "Roboter" gebaut! :-D

Hat natürlich nicht besonders toll funktioniert, aber die Steuerung per PC war schon ganz lustig.

Der Parallelportstecker und die Platine mit den Schalttransistoren.
Zwei Motoren mit jeweils einer Dose als Rad bilden das Gefährt, welches sich mit der Schaltung auf dem Holzbrett bewegen (Fahren, Drehen) kann.
Eine Relais-Schaltung kann bei Bedarf die Motorspannung jedes Motos umpolen.
Das "Steuerungsterminal" ist ein schrottiger 486er mit DOS und QB.

Paralleles Universal-Interface

Mit dem Parallelport-Interface habe ich ein Universal-Interface realisiert.

Über einen Pfostenstecker hat man Zugriff auf 8 Ausgänge und 5 Eingänge.

Die Verdrahtung ist etwas abenteuerlich, aber das Modul funktioniert.

Und damit das auch so bleibt, wird schlussendlich alles ordnungsgemäß in Heißkleber ersoffen! :-D

Hier ist ein kleines Test-Modul mit ein paar LEDs und Tastern angeschlossen:

Serielles Universal-Interface

Mit dem Interface für den seriellen Port habe ich ein Universal-Interface realisiert.

An's Interface-Board kann man mehrere Module anschließen.
Jeweils 32 Ein- und Ausgänge lassen keine Wünsche offen. ;-)
Man muss dann nur die entsprechende Software daran anpassen und ab geht's!

Oben ist das Interface, unten ist hier ein EEPROM-Lese- und Schreibmodul angeschlossen:

Die Verkabelung des Interfaces und des EEPROM-Moduls:


Nach oben