Gerätesteuerung (über Parallelport o.ä.) (ehemals "... über USB")
-
Hi,
ist es theoretisch irgendwie möglich, externe Geräte (egal welcher Art) über einen USB-Port o.ä. anzusprechen?
Soll heißen: Mein Programm muss den Rechner irgendwie dazu bringen, einen einfachen Stromstoß o.ä. zu produzieren, den das (selbstgebaute, bzw. zu bauende) Gerät dann zu einer Tätigkeit anregt (Motor betreibt*, ...).Vielen Dank im Voraus,
Sinthoras
_____
*Der vom Rechner stammende Stromfluß soll natürlich nicht für das Antreiben des Motors reichen, aber er könnte z.B. einen Steuerungsstrom (Transistor...) produzieren.
-
Klar, aber der klassische Serial, oder Parallelport macht weniger Kopfweh.
-
Sry, kenne mich damit nicht aus.
Unser Plan war bisher nur, dass wir per PC einen Steuerungsstrom erzeugen.
Ob und wie das jetzt möglich ist, das würde ich gerne von euch wissen.Was ist das "klassische Serial" oder der "Parallelport"?
Wie funktioniert das?
Wie kann man die ansprechen?Vielen Dank
-
also so weit ich weiß musst du beim usb-port sehr viel allein machen vielleicht sogar das DDK ziehen (unter windows). Unter Linux weiß ichs nicht.
Ich denke am einfachsten ist es mit dem Parallelport da kommen acht unabhängige Bits raus, die kann man alle einzeln ansteuern. Der paralellport wird mit LPT1 lpt2 usw abgekürzt. musst ma nach der anschlussbelegung suchen. Ich würde dir aber empfehlen, die einen externen paralellport zu kaufen oder ne steckkarte, denn wenn du dann einen kurzschluss oder so hinten dran machst, dass ist nicht gleich das ganze board im arsch.
Ich hab früher mit nem alten 486 und assembler die daten gesendet zB ein Lauflicht gebaut.
-
Wo finde ich Tutorials für sowas?
Ich hab da leider echt keine Ahnung von, ich weiß nichtmal, was "DDK" sein soll...

Also ne Steckkarte wird leider wenig helfen, ich hab ein Notebook...
Wie sieht denn das mit einem externen Parallelport aus?
Wo gibt's sowas?
Was muss das Ding können?
Wie viel kostet sowas?Danke für eure Hilfe soweit.
-
Ok, also ich weiß jetzt immerhin, was DDK sein soll (der Treiber oder nicht?).
USB ist dann wohl echt der falsche Weg (war auch nur so eine Idee, weil ich mir bei USB wenigstens sicher bin, dass ich einen passenden Anschluss habe).Mein Problem ist:
Ich finde nirgendwo ein Angebot für einen externen Parallelport, immer nur Karten.
Und das geht ja nicht (hab ein Notebook).Weiß jemand, wo es sowas gibt?
Wie genau steuer ich so ein Ding dann aus einem (C++) Programm heraus an?
Kann mir vielleicht jemand ein Codebeispiel geben, wie man da etwas (ein Bit oder so) sendet?
Und evtl noch einen Link zu einem guten Tutorial (Englisch oder Deutsch)?Das wäre sehr nett.
Vielen Dank,Sinthoras
-
du wirst nicht einfach eine USB-Leitung auf 5V o.ä. schalten können. Für solche Aufgabe gibt es entsprechende Chips, z.B. IO-Warrior: http://www.codemercs.com/IOWarriorD.html.
-
Danke erstmal.
Von der Idee mit USB bin ich ja auch erstmal abgerückt, ich dachte, es über den vorgeschlagenen Parallelport zu machen (möglichst halt extern).
Wie ginge das denn damit?
Edit: Oder wie ginge es mit IO-Warrior? Klingt ja gar nicht schlecht...
-
nimm doch nen usb auf seriell adapter.
Unter Windows haste dann nen COM-Port der z.B. über WinAPI oder noch besser via .NET-Framework relativ leicht anzusteuern ist.Wenn du das Gerät selbst baust könnte dies noch interessant sein:
http://www.mikrocontroller.net/articles/USBFür solche Zwecke werden oft Chips von ftdi benutzt. Da liefert auch der Hersteller Treiber.
Wenn du Chips wie den USBN9604 benutzt und eine HID-Klasse implementierst bringt Windows/Linux Treiber mit. Unter Windows kann man dann wohl via CreateFile()/ReadFile() drauf zugreifen (!Information ungesichert! ;D)
-
Hm, danke, aber leider steig ich hier noch nicht durch...
Also ich bin völlig unerfahren, wenn es darum geht, Hardware anzusteuern o.ä.
Deshalb meine, vielleicht etwas dummen, Fragen:
Was muss ich alles anschließen, damit ich am Ende eine Spannung (von ca. 0,7 V) rausbekommen kann?
Kann mir das bitte jemand mal für Dumme eklären?Wie kann ich das dann in meinem Programm machen (hab bisher keine Erfahrungen mit der WinAPI)?
(Codebeispiel?)Danke für Eure Geduld
-
Wenn du z.B. nen seriellen Anschluss (RS232) benutzt:
http://de.wikipedia.org/wiki/EIA-232#Verkabelung_und_Stecker...hast du da z.B. die Leitung TXD (Transmit Data)
Jetzt kannst du da einfach mal Daten hinsenden und damit quasi auf den TXD-Pin Spannung geben (oder eben nicht) und hast damit quasi nen Schalter
Über WinAPI gibt es z.B. hier was zur Ansteuerung des COM-Ports (RS232):
http://www.winapi.net/index.php?inhalt=t3bei codeproject findet sich da auch was und im .NET Framework gibt es dafür auch was fertiges.
Wenn du am Rechner nur nen USB-Anschluss hast kann man sich z.B. einfach nen "USB auf seriell"-Adapterkabel für wenig Geld kaufen und hat unter Windows dann nen normalen COM-Port.
-
Und dann kann ich das über den Adapter ansprechen, als wäre es ein "richtiger" COM-Port?
Also er merkt im grunde gar nicht, dass er gar kein COM-Port ist?Also sende ich an den TXD einfach irgendwelche (eigentlich sinnlosen) Daten?
Kann ich auch über mehrere Kanäle Spannung erzeugen (also verschiedene Motoren steuern)?
Zum geposteten WinAPI-Artikel:
Was verbirgt sich hinter der Struktur "DCB"?Vielen Dank
-
ja dann denkt dein computer er hätte einen com-port.
Ich würd dir aber trotzdem eher empfehlen einen usb-parallel-adapter zu nehmen, wenn es sowas gibt. Ist leichter zu beschalten. Wenn du bei nem seriellen Anschluss wirklich die einzelnen Bits haben willst müssen die ja erst in ein schieberegister und dann kannst du sie danach auslesen. Ist eben schwerer. Bei paralell hast du gleich alle auf einmal.
-
Tja, aber wo soll ich sowas herbekommen?
Ich weiß ja nichtmal genau, wonach ich suchen muss
(Hast du vllt einen Link zu so einem Ding?)Wenn ich so ein Ding verwende, besteht dann noch die Gefahr, dass es zu einem Kurzschluss kommt und mein PC Schaden nimmt?
Wie muss ich das Ding dann beschalten?
Wie greife ich darauf zu?
-
such nach usb parallel adapter
hätst aber auch selber drauf kommen können. Wie man ihn dann beschaltet musst du mit www.google.de mal die anschlussbelegung und beschaltung raussuchen. Findet man sicher was. google nach LPT anschlüsse oder sowas.Ich denk nicht, dass der PC kaputt geht wenn du einen kurzschluss baust und das ber den den dadapter geht. aber der adapter könnte dann schon hin sein.
zugreifen einfach als hättest du einen parallelanschluss. Denk ich jedenfalls. wie gesagt, hab das früher eben unter dos mit assembler gemacht. Das geht jetzt nciht mehr weil windows die hardwraezugriffe ja blockt. Musst mit CreateFile und LPT1 oder so als datei angeben.
-
Ich bin durchaus selbst darauf gekommen, nach "SUB-parallel-Adapter" zu suchen.
Das Problem ist halt, dass ich keine Ahnung, welches der Ergebnisse mir weiterhelfen würde:http://www.preisroboter.de/ergebnis116702.html
Könntest du da vielleicht einmal kurz einen Blick drauf werfen und mir sagen, was ich da brauche?
Das sieht da alles etwas anders aus, als ich es mir vorgestellt hatte, deshalb.
Dankezugreifen einfach als hättest du einen parallelanschluss.
Hat jemand denn eben dafür eine Anleitung
-
wird eigentlich ziemlich gut hier erklärt
http://www.instructables.com/id/E1PR6UUL0REUF10PO4/?ALLSTEPS
-
Viele, vielen, vielen Dank

Gibt es sowas auch für Parallelport?
(Dann könnte ich gucken, was für mich eher geeignet ist)Nochmal danke (kann ich gar nicht oft genug sagen^^).
-
Ok, also das serielle sieht echt ganz gut aus.
Habe ich denn damit die Möglichkeit, mehrere Motoren (in meinem Fall 4) zu steuern?
Danke,
Sinthoras
-
junge.... Wie wärs wenn du mal deinen Kopf zum Nachdnken benutzt und nciht nur fragen stellst auf die du selber antworten finden kannst?
Ja natürlich kann man mnit dem seriellen port auch 4 motoren steuern. Es kommen auch dahinten 8 Bits raus, das sind 256 verschiedene kombinationen. Und wenn das nicht reicht, kannst du ja auch zwei bytes verknüpfen dann kannst du 65k verschiedene Kombinationen unterscheiden, musst eben "nur" die richtige beshclatung haben