Schalterstellungen über USB-Port abfragen.

Hallo,

ich möchte zwei Schalter per USB-Port abfragen (mit VB). Gibt es da kleine Bausätze, die mir das Signal umwandeln?

Thomas

Reply to
Thomas Mangold
Loading thread data ...

Thomas Mangold skrev:

Du könntest einen FT232R und einen MSP430 zusammentackern. Das wäre zwar Overkill, aber es klappt und ist nicht so teuer.

Gruß Carlos

Reply to
Carlos Dürschmidt

Carlos Dürschmidt schrieb:

Hallo Carlos

vielen Dank für deine Antwort. Aber gibt es keine einfachere Lösung, bzw. einen kompletten Bausatz oder Adapter?

Thomas

Reply to
Thomas Mangold

Thomas Mangold schrieb:

reicht nicht ein einfacher Seriell->USB-Adapter? Die gibt es Massenweise. Oder ATmega8 und IgorUsb?

Matthias

Reply to
Matthias Olescher

Matthias Olescher skrev:

Thomas hat ja keine seriellen Daten, sondern nur zwei popelige Schalterstellungen. Möglicherweise könnte sich auch ein bidirektionaler USB-Parallel-Adapter mißbrauchen lassen.

Gruß Carlos

Reply to
Carlos Dürschmidt

Hallo Matthiasm

gibt es eigentlich auch Parallel-USB - Adapter, beim seriellen Anschluss habe ich ja nur eine DAtenleitung. Kennst du da eine Quelle?

Thomas

Reply to
Thomas Mangold

Thomas Mangold schrieb:

Aber sicher doch.

Die würde man für dein Problem gar nicht verwenden, die Steuerleitungen sind da angesagt.

Gruß Dieter

Reply to
Dieter Wiedmann

Hallo Thomas,

bei 2 Schaltern reicht jedes beliebige USB2Seriell kabel. Die billigsten gibt es bei Ebay als Händikabel. Was Du brauchst ist alles schor drauf. Einfach TxD oder eine der Handshakeausgänge (RTS DTR) auf HIGH legen, und eine andere auf LOW dann den Schalter mit Pullup oder pulldown an einen der

5 Eingänge (DCD, DSR, CTS, RI und RxD) legen und deren Status via API (siehe elektor 3/2002) oder DLL (ich nehm meist die seriell.dll von elektor 3/2003, es gibt aber soooo viele im Netz.) abfragen. Bei Händikabel sind aber oft nicht alle Statusleitungen bis zum Stecker herausgeführt. Wenn man die Vergußmasse aufschneidet kommt man meist auf den Rest. USB2Parallel-Wandler würde ich nicht nehmen wollen. Wenn es mehr als 5 Schalter werden sollen, dann hängt man lieber an die Serielle noch ein bischen Logik, oder meinetwegen auch einen einfachen µC dran.

Marte

Reply to
Marte Schwarz

Es stellt sich für mich noch die Frage, wie ich das USB-Signal dann in VB abfrage und welche Steuerleitungen ich das beschalten soll.

Thomas

Reply to
Thomas Mangold

Hallo Marte

Hallo Marte,

wenn ich dich richtig verstanden habe, kaufe ich ein Handykabel, schneide es auf, und lege die Leitungen, die nicht Masse und nicht +5 V sind mit meinen Schaltern gegen Masse oder gegen 5 V.

Was dann passiert kann ich über eine Funktion, die ich in der seriell.dll finde abrufen. Muss ich sonst keinen Treiber für den USB-Port installieren?

Das klingt einfach.

Wo finde ich die seriell.dll und evtl. eine Dokumentation über die Funktionen?

Sorry, wenn ich genau nachfrage, ich mache das zum ersten mal.

Gruß und Danke für die Hilfe Thomas

Reply to
Thomas Mangold

Hallo Thomas,

Jein, s.u.

Natürlich, den Treiber zum USB2Seriell-Chip. den gibt es mit dem Kabel / Wandler dazu.

ist es auch.

formatting link
nach der Ausgabe 3/2003 suchen "Serieller Port-Treiber für Windows". Da ist beschrieben, wie es geht
formatting link
Prinzip reicht der Download schon. Da liegen die Delphi Quelltexte drin, die reichen als Doku eigentlich ;-) Das Demo-Programm läuft bei mir nicht, egal, die Routinen haben geklappt :-)

Falls Du dir den Artikel besorgst: Ändere auf Seite 34 in Tabelle 1 DetDCD in GetDCD BitPerByteSet in BitsPerByteSet

Alternativ besorge Dir den Artikel "Serielle Schnittstellen unter Windows" aus der elektor 3/2002. Da steht drin, wie man das richtig zu Fuß mit der Windows API macht, ohne DLL.

Dann lass das mal mit dem Händikabel und besorg Dir ein USB2Seriell Adapter für ca 10 Euronen bist Du dabei. Dann legst Du Dir noch einen DSUB9 Mädchen zu, mit dem Du Deine Schalter an den Adapter verbindest. Diese Adapter sind in der Regel Kurzschlußfest. Da kann man quasi nichts kaputtmachen. Eine zusätzliche Versorgungsspannung brauchst Du auch nicht. Das ist am sichersten zu bauen.

Du brauchst also 4 Widerstände ca. 22 kOhm das eine Ende dieser Widerstände kommt auf Pin 7 (RTS) die anderen Enden an die jeweiligen Eingänge (DCD = Pin 1, DSR = Pin 6, CTS = Pin 8, RI = Pin 9). Die Schalter legst Du dann von den Jeweiligen Eingängen zu Pin 4 (DTR). Das wars schon an Löterei. Den Rest machst Du Per Software z.B. mit der seriel.dll:

OpenCOM SetRTS ResetDTR

Schleife

CheckInputs GetDCD GetDSR GetCTS GetRI

Wasauchimmer

CloseCOM

Viel Spaß Marte

Reply to
Marte Schwarz

Waer's nicht einfacher und billiger, eine USB-Maus zu schlachten, vorzugsweise eine mit passenden Treibern und einem halben Dutzend Microschaltern?

Schoenen Gruss Martin

Reply to
Martin Trautmann

Hi Martin,

Wenn man sein Programm dann ohne Mausunterstützung haben will, vielleicht, so richtig einfach ist das mit 2 unabhängigen Mäusen in Windoof auch wieder nicht.

Marte

Reply to
Marte Schwarz

Deshalb eine Maus mit (ungenutzten) Zusatztasten. Die Hauptoptionen bleiben unberührt für eine normale zweite Maus.

Reply to
Martin Trautmann

Hallo Marte,

Da habe ich Interesse.

Ich besorge mir mal so einen USB2Seriell-Adapter, versuche es mir deiner Anleitung ohne DLL und damm melde mich wieder.

Thomas

Reply to
Thomas Mangold

Und wie kann ich da das Signal abfragen?

Reply to
Thomas Mangold

Oftmals werden da Maustreiber mitgeliefert, wo man selbst die Tasten-Eingaben mit Programmaufrufen belegen kann.

Ich habe keine Ahnung, wer sowas wie die Logitech MX518 braucht - die hat acht Tasten zu bieten.

formatting link
Schoenen Gruss Martin

Reply to
Martin Trautmann

Hallo Martin,

Garantiert nicht einfacher als die seriellen Portpins, das geht wie gesagt mit Bordmitteln, oder man macht sich das Leben noch einfacher und nimmt eine der vielen dll.

und kostet ein vielfaches der USB2Seriell Wandler. Dafür gibts mindestens 5 USB-Seriell-Wandler zzgl USB-Hub macht 20 Schalterabfragen...

Marte

Reply to
Marte Schwarz

Dann halt einen Joystick.

Reply to
Peter Heitzer

Da weiß ich aber immernochnicht, wie ich das Signal abfrage.

Thomas

Reply to
Thomas Mangold

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.