Wie können wir einen USB (in einem Laptop) für allgemeine Eingabe- / Ausgabevorgänge verwenden, z. B. Robotersteuerung [geschlossen]

Wie können wir einen USB-Anschluss (in einem Laptop) für allgemeine Ein-/Ausgabevorgänge verwenden, wie z. B. Robotersteuerung?

Ich möchte eine externe Hardware wie einen Roboter oder einfach eine Reihe von LEDs über den USB-Anschluss meines Laptops steuern. Gibt es eine Möglichkeit, dies zu tun? Wenn nicht, können wir einige andere Ports wie den seriellen Port oder das RS-232-Kabel verwenden?

googlen Sie nach dem, was Sie brauchen

Antworten (2)

Grundsätzlich benötigen Sie etwas, das weiß, wie man USB am anderen Ende der Leitung spricht. Dasselbe gilt für jeden anderen Anschluss, aber USB selbst ist ziemlich kompliziert, also werde ich mich ein bisschen mehr darauf konzentrieren.

Im Gegensatz zu einfachen seriellen oder parallelen Ports werden Daten nicht einfach an die andere Seite gesendet. Stattdessen gibt es eine große Menge an Kommunikation (im Vergleich zu RS-232) zwischen dem Gerät und dem Computer, und das Gerät muss sich gegenüber dem Computer identifizieren und so weiter und so weiter.

Wenn Sie also nicht besonders daran interessiert sind, wie genau USB funktioniert, und es nur verwenden möchten, um etwas zu steuern, haben Sie zwei grundlegende Ansätze: Besorgen Sie sich eine Art Konverter, wie z Chips und ist sehr beliebt) oder Kabel und verwenden Sie dann USB, um nur serielle Befehle vom Computer zu senden. Der zweite Ansatz besteht darin, einen Mikrocontroller zu erhalten, der USB sprechen kann. Heutzutage gibt es viele solcher Mikrocontroller, und es sind Bibliotheken verfügbar, mit denen Sie einen Mikrocontroller einfach so programmieren können, dass er als USB-Gerät funktioniert. Es gibt auch zahlreiche PC-seitige Beispiele, die Sie verwenden könnten, um mit Ihrem Mikro zu arbeiten. Die schlechte Seite davon ist, dass Sie, wenn Sie etwas über das hinausgehen möchten, was vorgefertigte Bibliotheken bieten, entweder den Weg des Seriell-zu-USB-Konverters gehen müssen (und es

Bei der herkömmlichen seriellen Schnittstelle haben Sie im Grunde nur ein paar Drähte, die vom Computer zwischen verschiedenen Zuständen umgeschaltet werden. Es ist viel einfacher, es sowohl auf der PC-Seite als auch auf der Mikrocontroller-Seite zu programmieren. Da Sie die Pin-Zustände direkt steuern können, müssen Sie überhaupt keine Mikrocontroller verwenden. Sie können einfach eine Schaltung bauen, die reagiert, wenn ein bestimmter Pin-Zustand hoch oder niedrig wird, und das war's.

Beachten Sie, dass herkömmliche serielle PC-Anschlüsse RS-232-Signalisierungspegel verwenden, sodass Null eine positive Spannung und Eins eine negative Spannung ist. Auch die Spannungen sind mit etwa 12 V ziemlich hoch.

Eine andere Portart, die früher bei Bastlern sehr beliebt war, heute aber immer seltener wird, ist der Parallelport. Der Hauptvorteil besteht darin, dass Sie im Grunde einen 8-Bit-Bus haben, den Sie steuern können, sodass Sie viel mehr Pins haben, die Sie direkt vom Computer aus umschalten können. Das Hauptproblem dabei ist heute, dass Sie sich für neue Computer grundsätzlich eine Parallelport-Karte besorgen müssen, da viele sie nicht mehr auf ihrem Motherboard haben und die USB-zu-Parallelport-Konverter oft nur für die Verwendung mit Druckern funktionieren. Ein weiteres Problem sind Treiber, denn in der Zeit nach Windows XP sind Treiber, mit denen Sie direkt mit der Portierung experimentieren können, etwas selten.

Es gibt viele Ansätze und Schnittstellenprojekte, um dies zu erreichen, sodass Sie möglicherweise viele verschiedene Antworten erhalten - ich gebe eine, die ich verwenden würde.

Es wäre ziemlich schwierig, dies zu tun, ohne irgendeine Art von Schnittstellenschaltung zu verwenden. Der Grund ist, dass ein USB-Anschluss ein serieller Anschluss ist. Alle Informationen werden über eine einzige Kommunikationsleitung gesendet. Es wäre notwendig, die gesendeten Informationen zu "entpacken" (oder zu deserialisieren).

Dazu verwenden wir oft einen Mikrocontroller. Ein gutes Beispiel wäre der Arduino ( http://arduino.cc/en/Main/ArduinoBoardUno ). Dieser Mikrocontroller kann von Ihnen mit einem Entwicklungstool ( http://arduino.cc/en/Main/Software#toc1 ) programmiert werden, um die Informationen zu verstehen, die über die USB-Verbindung an ihn gesendet werden.

Im Gegenzug würden Sie dann entscheiden, wie Sie diese Informationen verwenden, z. B. das Einschalten einer LED oder das Vorrücken eines Motors. Viele Beispiele dafür, wie ein Arduino mit der realen Welt verbunden werden kann, werden hier diskutiert .

Im Allgemeinen ist hier ein einfacher Überblick darüber, wie es funktionieren würde ...

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan