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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Du könntest einen FT232R und einen MSP430 zusammentackern. Das wäre zwar Overkill, aber es klappt und ist nicht so teuer.
Gruß Carlos
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Thomas Mangold schrieb:

reicht nicht ein einfacher Seriell->USB-Adapter? Die gibt es Massenweise. Oder ATmega8 und IgorUsb?
Matthias
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Hallo Matthiasm
gibt es eigentlich auch Parallel-USB - Adapter, beim seriellen Anschluss habe ich ja nur eine DAtenleitung. Kennst du da eine Quelle?
Thomas
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Thomas Mangold schrieb:

Aber sicher doch.

Die würde man für dein Problem gar nicht verwenden, die Steuerleitungen sind da angesagt.
Gruß Dieter
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hallo Thomas,

Jein, s.u.

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

ist es auch.

www.elektor.de nach der Ausgabe 3/2003 suchen "Serieller Port-Treiber für Windows". Da ist beschrieben, wie es geht http://www.elektor.de/jahrgang/2003/marz/serieller-port-treiber-fur-windows.62093.lynkx Im 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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 6 Aug 2007 13:19:55 +0200, Marte Schwarz wrote:

Waer's nicht einfacher und billiger, eine USB-Maus zu schlachten, vorzugsweise eine mit passenden Treibern und einem halben Dutzend Microschaltern?
Schoenen Gruss Martin
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 6 Aug 2007 17:46:54 +0200, Marte Schwarz wrote:

Deshalb eine Maus mit (ungenutzten) Zusatztasten. Die Hauptoptionen bleiben unberührt für eine normale zweite Maus.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Und wie kann ich da das Signal abfragen?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 07 Aug 2007 11:14:23 +0200, Thomas Mangold wrote:

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.
http://www.logitech.com/index.cfm/mice_pointers/mice/devices/187&cl ,de
Schoenen Gruss Martin
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
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
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hallo Marte,
ich habe mir beim Mediamarkt ein USB2Seriell-Kabel gekauft (ich konnte zwischen zwei aussuchen Hama für 39,80 und Sitecom für 29,80) und ein USB2Gameport für ca. 10 Euro.
Beide erscheinen im Gerätemanager. Es fehlt jedoch bei beiden die Registerkarte Resourcen.
USB2Seriell wird als COM6 angezeigt. Bei COM1 finde ich unter Resourcen den E/A-Bereich von 03F8-03FF. Bei dem Sitecom-Kabel erkenne ich keinen E/A-Bereich. Wie soll ich dann das Signal abfragen?
Für einen weiteren Tipp wäre ich dankbar.
Gruß Thomas
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hallo Thomas,

Wucher!!! Das hätte Dir Frau Reichelt für das weniger als das halbe Geld nach Hause bringen lassen.

Wozu denn :-)

Genau damit: OpenCOM (6), wenn Du die Serial.dll aus der Elektor nimmst. Ach so: Achtung: Die serial.dll kann nur mit einem COM-Port gleichzeitig arbeiten. Wenn Du zwei COM-Ports simultan brauchst, dann muss man sich eine andere suchen, oder die serial.dll aufbohren. Die Delphi-Quellen sind ja dabei. Wenn man die verstanden hat, dann geht das ganze aber auch zu Fuß bzw via API(a).

Das wird die eingebaute Serielle sein. Unter Windows wird man diese nicht mehr über die E/A-Adressen ansprechen wollen.

Eben via COM-Port-Nummer.
Marte
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.