MSR
Material Sensoren Aktoren Regelkreis Robotik Fischertechnik Mindstorms PIC Arduino seriell parallele Schnittstelle DCF77 Whiteboard Strichcode USB Echtzeit Funktionsmodelle Raspberry Pi
Pfad: HSG/Fächer/Informatik/MSR

USB-Seriell-Adapter

Bei der Firma Reichelt bekommt man den USB-Seriell-Adapter USB2SERIELL. Der Adapter enthält einen Prolific-Chip 2303. Es hat sich gezeigt, dass die Treiber für Windows und Mac auf der auf der prolific-Seite zumindest für xp nicht richtig funktionieren. Hier sollte man den mitgelieferten Treiber (2303TreiberCD.zip) benutzen.

Windows

Wenn die Installation geklappt hat, findet man den Adapter im Gerätemanager.

Gerätemanager

Linux

In modernen Linux-Kernels ist der Treiber bereits vorhanden. Hier kann man wie hier vorgehen.

Mac-OS

Von einem Mac-User kam folgender Hinweis zu Treiber und Ansteuerung unter Python:

Die Schnittstelle soll laut Programm unter '/dev/cuad%d'  - wobei der Port eingesetzt wird - zu finden sein.
Offenbar geschieht dies aber nicht. Ein Blick in /dev/ unter Mac OS X Snow Leopard führt zu Tage, dass die
Schnittstelle unter cu.usbserial und tty.usbserial zu finden ist. Änderungen am Code in serialposix.py helfen
nicht (unter Abfrage der OS-Version durch os.uname). Ich habe mir nun mit 2 Symlinks geholfen, die /dev/cuad0 auf /dev/cu.usbserial und /dev/tty.usbserial auf /dev/ttyS0 schieben....Auch der Taster funktioniert so problemlos (dank Symlinka auf tty.usbserial).

Ampel

Die rote LED wird von RTS(7) über einen Widerstand von 4,7kΩ nach Masse(5) gesteuert. Analog wird Gelb durch TxD(3), Grün durch DTR(4) geschaltet. Der Taster verbindet DTR(4) mit CTS(8), dh. CTS kann nur 1 werden, wenn es DTR schon ist. Die Buchse wird direkt in die serielle Schnittstelle oder in ein Verlängerungskabel gesteckt.

Ampel 1Ampel 2

Ansteuerung durch Python

Unter Python lässt sich die serielle Schnittstelle plattformübergreifend ansprechen.

>>> import serial
>>> s=serial.Serial(0)
>>> s.setRTS(0) # rot aus
>>> s.setRTS(1) # rot ein
>>> s.setBreak(1) # gelb ein
>>> s.setBreak(0) # gelb aus
>>> s.setDTR(0) # grün aus
>>> s.setDTR(1) # grün ein
>>> s.getCTS() # Taste nicht gedrückt
False
>>> s.getCTS() # Taste gedrückt
True
>>> s.close() # Schnittstelle schließen

Links

Bilder

BelegungLoopTestboard
TNetzHw.pas mit rscom.pas und Testprojekt: test1.zip

Valid XHTML 1.0!