Ich schreibe seit einiger Zeit Linux-Character-Gerätetreiber für andere Leute. Ich würde gerne ein neues Hobby finden und der Gedanke, meine eigenen USB-Gizmos herzustellen, scheint wirklich ordentlich zu sein.
Ich würde mich freuen, einige LEDs, Servos und Schrittmotoren steuern zu können. Ich lerne sehr gerne neue Dinge und finde es aufregend, wenn endlich etwas funktioniert. Ich habe keine ernsthafte MC-Programmierung gemacht, kenne mich aber gut aus.
Kann jemand ein paar Kits empfehlen, die für einen absoluten Neuling hilfreich wären? Im Idealfall sind dies:
- Linux freundlich
- Internationaler Versand möglich (ich lebe derzeit in Asien)
- Angebot Breadboard-Kits
Wenn Sie die Zeit und Neigung haben, würden Links zu Projekten auf den Websites anderer Leute, die Schaltpläne und Stücklisten enthalten, sehr geschätzt. Ich möchte anhand von Beispielen lernen, aber anhand von guten Beispielen, weshalb ich hier frage.
Mein letztendliches Ziel ist es, meine eigenen Datensammler zu erstellen - von Niederschlag über durchschnittliche Dezibel bis hin zu Lichtwerten. Es tut mir leid, wenn dies zuvor gefragt wurde, ich habe gesucht (und Tags gesucht).
Der Arduino ist ein großartiges Werkzeug, um elektronische Geräte zu erstellen, und es könnte Sie zu Ihrem endgültigen Ziel führen, einen Datenlogger zu erstellen . Es ist jedoch nicht für die echte USB-Entwicklung geeignet, da es eine altmodische serielle Schnittstelle emuliert. Es lässt Sie nicht in etwas anderes (wie ein Human Interface Device (Maus / Tastatur) oder ein Massenspeichergerät (Kartenleser / Wechseldatenträger)) verwandeln.
Wenn Sie "echte" USB-Geräte herstellen möchten, besuchen Sie die Website von Jan Axelson . Er schreibt "Anfänger" -Bücher über USB. Die Entwicklung von Gadgets, die USB auf dieser Stufe verwenden, ist jedoch möglicherweise nicht für Anfänger geeignet, sodass Sie mit Arduino-Erfahrung auf jeden Fall auf den Weg gebracht werden.
quelle
Ich kann das Tuxgraphics AVR USB Slideshow Presenter Tutorial nur empfehlen . Es verwendet einen Atmel AVR-Mikrocontroller mit einer großen Hobby-Community (avrfreaks usw.) und einen Open-Source-USB1.1-Stack von obdev.org. Es kann nicht sehr hoch skaliert werden (z. B. Massenspeicher), aber das Endprodukt ist eine kleine USB-HID-Tastatur mit zwei zuweisbaren Tasten. Es wäre trivial, es als Datenlogger zu verwenden, und einige der Beispiele bei obdev.org sind genau das (www.obdev.at/products/vusb/projects.html). Es ist in sauberem c geschrieben, und die Stückliste ist höchstens ein paar Dollar.
Gleichzeitig empfehle ich, den Programmierer tuxgraphics avrusb500 zu bauen oder zu kaufen. Es ist eine Freude zu benutzen und eines der zuverlässigsten Geräte, die ich besitze. (Ich bin nicht verbunden - nur ein sehr zufriedener Kunde!)
quelle
Ein anderes Gerät, in das ich schauen wollte, ist der AT90USBKey . Es ist schon eine Weile her, dass ich es mir angesehen habe, und ich bin nicht sicher, ob Sie es ohne Windows programmieren können, aber es wird als USB-Gerät (wie eine Tastatur oder ein Massenspeichergerät) oder als USB-Host fungieren dass Sie andere Geräte anschließen. Es stehen Beispielprogramme zur Verfügung, mit denen Sie relativ einfach arbeiten können, vorausgesetzt, Sie kennen sich mit Elektronik aus und können in C programmieren.
Eine Google-Suche nach AT90USBKey und Linux liefert vielversprechende Ergebnisse.
Ich weiß, dass Sie es von DigiKey.ca bekommen können . Ich habe nach einem Digikey-Äquivalent für Asien gesucht . Sie können das Teil von Farnell bekommen .
quelle
Vielleicht möchten Sie auch Teensy überprüfen .
quelle
Wenn Sie den Arduino verwenden, habe ich die V-USB-Bibliothek (ehemals AVR-USB) portiert, um sie auszuführen. Es ist auch mit einer Klasse umhüllt, um die Interaktion zu vereinfachen.
Sie können damit USB-HID-Geräte erstellen, z. B. Tastatur, Maus oder Joystick. Sie können auch ein generisches Gerät erstellen, das libusb auf dem Host verwendet, um es zu steuern - von Python, C, Processing usw.
Meine Website verfügt über einen PCB-Schutz, der über einen USB-Anschluss und einige Widerstände usw. verfügt:
http://code.rancidbacon.com/ProjectLogArduinoUSB
Sie können Arduino-Code schreiben, um Tastenanschläge so einfach zu senden wie:
oder mit einem libusb "Treiber" können Sie Daten senden wie:
oder Daten lesen mit:
--Philip;
quelle
Es gibt jetzt eine Reihe von AVR-USB-basierten Entwickler-Boards.
Ich persönlich habe den bereits erwähnten Teensy und Bumble-B benutzt und finde sie beide großartig.
Teensy ist nett, weil es sich sehr gut in die Arduino-Umgebung integriert. Dies bedeutet, dass Sie Dinge wie "Mouse.init; Mouse.move (x, y)" tun können, anstatt sich selbst mit dem Low-Level-USB-Code zu befassen. Auf beiden wird LUFA ausgeführt, wenn Sie dies möchten.
quelle
Hier ist ein einfaches PIC-USB-Projekt von mir:
http://www.leonheller.com/usb
PCBs sind verfügbar.
quelle
Object Development hat eine Bibliothek für AVR-Mikrocontroller erstellt, mit der Sie sehr günstige USB-Geräte selbst herstellen können (ab nur 2-3 US-Dollar). GCC für AVR ist Linux-freundlich. Es gibt unzählige Geräte, die bereits hergestellt wurden. Schauen Sie sich das hier an: http://www.obdev.at/products/vusb/projects.html
quelle
Es hängt davon ab, welche Art von USB-Geräten Sie herstellen möchten und wie fortgeschritten diese sind. Sie erwähnen blinkende LEDs. Diese Art der Steuerung kann leicht mit jeder Art von Mikrocontroller mit Uart und einem Ftdi-Chip erreicht werden (Arduino ist sehr beliebt und leicht zu starten). Der ftdi-chip wird seriell mit dem uC verbunden und verhält sich wie ein serieller <-> USB-Konverter. Es wird auch als virtueller COM-Port auf Ihrem Computer angezeigt.
Wenn Sie fortschrittlichere USB-Protokolle, Treiber und Funktionen verwenden möchten, erhalten Sie möglicherweise eine Benutzeroberfläche mit nativen USB-Funktionen. Microchip hat viele Bilder (deren Mikrocontroller), die dies zum Beispiel können. Microchip hat auch viele Entwicklungsboards, die sich dem Erlernen des Gebrauchs des USB widmen. Die 32-Bit-uC-Unterstützung von Atleast Microchips unterstützt auch Host- und OTG-Modi, sodass Sie einen Datenlogger erstellen können, der die Daten auf einem gemeinsamen USB-Speicherstick speichert, den Sie an Ihren Computer anschließen können, um die Daten zu lesen. (Ich bin sicher, dass viele andere Hersteller ähnliche ICs und Entwicklungskits haben, aber Microchip ist der einzige, den ich verwendet habe.)
Microchips Homepage / USB
quelle
Beachten Sie, dass Sie nicht auf einem so niedrigen elektronischen Niveau beginnen und mehr Entwicklungszeit für das "Gizmo" selbst sparen müssen. Viele Unternehmen verkaufen USB-Geräte für den Heimwerkermarkt, zum Beispiel:
http://www.yoctopuce.com
http://www.phidgets.com
quelle