Wenn ich ein einfaches Gerät herstellen möchte, das mit meinem Computer kommuniziert, sagen wir, ein Schalter könnte meinen Computer beim Ein- und Ausschalten stummschalten und über USB anschließen. Was wäre der billigste und einfachste Weg, dies zu erreichen?
microcontroller
usb
Sean
quelle
quelle
Antworten:
Am einfachsten? Besorgen Sie sich ein Arduino und schreiben Sie ein paar Zeilen Python. Arduinos sind unglaublich einfach zu programmieren, erfordern keine zusätzliche Hardware und sind sehr beliebt . Python verfügt über eine sehr übersichtliche serielle Bibliothek und ist ein Kinderspiel.
Beispielcode
Python: Führen Sie dieses Skript als Dienst aus. Ich verwende Ubuntu, daher wird in diesem Skript eine Benachrichtigung angezeigt, wenn auf dem Arduino eine Schaltfläche gedrückt wurde.
Arduino:
quelle
Erstellen Sie ein USB-Gerät der Human Interface Device Class. Dies ist dieselbe Klasse, die auch von Tastaturen, Mäusen, Joysticks, Gamepads und dergleichen verwendet wird. Ihr PC verfügt bereits über vollständige Gerätetreiberunterstützung für HID-Geräte, sodass der Softwarezugriff einfach ist. Viele Hinweise und sogar Beispielcode finden Sie auf der HID-Seite von Jan Axelson . Stöbern Sie auf ihrer Website nach guten Informationen zur USB-Geräteentwicklung.
Viele der kleinen Mikroprozessorfamilien können HIDs ausführen. Ich habe sogar es getan gesehen bei USB Low Speed mit einer ATtiny 8-poligen AVR vollständig in Software.
Wählen Sie Ihren bevorzugten Chip aus und durchsuchen Sie die "üblichen Ressourcen" nach HID-Samples.
Ein anderer Ansatz besteht darin, ein serielles Kommunikationsgerät herzustellen. Es gibt mehrere Single-Chip-Lösungen von FTDI . Der FT232R ist eine beliebte Wahl. Treiber sind erforderlich, aber Windows-zertifizierte Treiber sind dem Assistenten für das Suchen neuer Hardware bekannt, sodass die Installation nicht schwierig ist. Einmal installiert, haben Sie ein Gerät, das wie ein COM-Port aussieht. Es stehen alternative Treiber zur Verfügung, mit denen Sie auf die GPIO-Pins zugreifen und diese in erweiterten Modi verwenden können.
Update, 2015: Dies hatte einen Link zu http://www.lvr.com/hidpage.htm , der den Link verfault zu haben scheint und den neuen Ort dank El Marce entdeckt zu haben . Jan's Lakeview Research ist immer noch eine großartige Quelle für Informationen über die praktische Verwendung von USB.
quelle
Hier ist ein sehr detaillierter Blog-Beitrag http://msdn.microsoft.com/en-us/devlabs/dd491992 mit einer Software, mit der ein PIC18F4550 unter 5 USD als Standard-HID-Gerät über USB angeschlossen werden kann. Mit der mitgelieferten Software kann eine Schnittstelle zu einem beliebigen HID-Gerät hergestellt werden. Wenn Sie also einen alternativen Chip benötigen, funktioniert die Software weiterhin.
Ein zusätzliches Plus ist, dass der Blogbeitrag Ihnen zeigt, wie Sie bidirektionale Kommunikation betreiben, sodass Sie nicht nur einen Schalter anschließen, sondern auch eine LED ein- und ausschalten können.
quelle
Hier ist ein einfaches Projekt von mir, das einen PIC18F2455 verwendet, der auf der USB-Software von Brad Minch basiert. PCBs sind von Olimex erhältlich.
quelle
Wenn Ihnen der Cortex-M3-basierte Mikrocontroller nichts ausmacht, schauen Sie sich den LPC1343 von NXP an . Es ist nur 6,30 $ bei Digikey (1 Stück). Es gibt eine sehr coole Funktion - Firmware für Speicher- und HID-Geräte im ROM des Chips!
Im Vergleich zu einer Lösung mit FTDI-Chip + Mikrocontroller gibt es einen Chip weniger :)
quelle