Forum: Mikrocontroller und Digitale Elektronik USB PC interface selber bauen


von Chris S. (hondaracer1)


Lesenswert?

Hi

Im grunde will ich einen carpc bauen, aber zunaechst erstmal die 
Steuerung dafuer. Ich habe mich bereits hier im forum umgeschaut und 
auch die nette suchfunktion genutzt, allerdings nicht so ganz das 
gefunden was ich eigentlich suche.
Sachen wie "tastatur zerlegen, tastenmatix analysieren und passend 
anschliesen" oder "keywarrior" klingen schoen und gut aber haben nicht 
so ganz den lerneffekt den ich mir von dem projekt erhoffe.
gibt es eine relativ guenstige und realisierbare moeglichkeit einen uC 
per usb mit dem PC zu verbinden um programme wie winamp und aehnliches 
zu steuern?   gewisse Programmierkenntnisse mal vorrausgesetzt.
Habe erfahrung mit Assember, C, C++ und C#.

von Christian R. (supachris)


Lesenswert?

Naja, das einfachste wäre wohl ein USB-RS232 Adapter. Oder wenn du alles 
selbst machen willst, eine Software USB Implementierung, die ein HID 
oder ein CDC Gerät implementiert. Damit kannst du dann zum Beispiel per 
EventGhost den PC steuern.

von Marco W. (watz)


Lesenswert?

Hier auch noch der passende Link dazu:

http://www.obdev.at/products/vusb/index-de.html

Ich hab mit dieser Softwareimplementierung echt gute Erfahrungen 
gemacht. Vielleicht kannst Du z.B. das "HIDKeys" Referenzprojekt für 
dich abwandeln, dann brauchst Du auch keinen speziellen Treiber.

Wichtig ist, daß die Pegel auf den USB Datenleitungen auf ~3.6V begrenzt 
werden (z.B. per 3,6V Z-Dioden), falls der uC z.B. direkt mit den 5V des 
USB betrieben wird. Sonst funktionierts nur mit manchen Boards/Host 
Controllern.

Gruß,
Watz

von Potter68 (Gast)


Lesenswert?

Hallo Chris S.,

mit einem HID-Gerät kannst Du eine Maus und/oder eine Tastatur 
simulieren, was zum Ansteuern von PC-Programmen ausreicht.

Gruß Potter

von Chris S. (hondaracer1)


Lesenswert?

danke, das hat mir schonmal einen schritt weitergeholfen und mich 
hoffentlich auf die richtige spur gebracht ;-)

auf der elektor homepage ist mir folgendes ueber den weg gelaufen, 
leider finde ich keinerlei weitere angaben zu dem modul. Also ich will 
das ding nicht verwenden, mich wuerde allerdings die hardware und 
vorallem der sourcecode der software interessieren.
http://www.elektor.com/products/kits-modules/kits-%28-7x%29/winamp-controller-%28090531-71%29.1187038.lynkx


Alles was ich jetzt schreibe sind meine heutigen erkenntnisse, somit 
keine garantie das alles stimmt was ich poste :-P

Beispiel eines Keypads (17keys) mit dem von Marco W. erwaehnten Treiber:
http://www.obdev.at/products/vusb/hidkeys.html

HID Usage Tables:
http://www.usb.org/developers/devclass_docs/Hut1_12.pdf

Alle informationen ueber das Eingabegeraet werden in einem 
usbHidReportDescriptor festgehalten. Dieser kann entweder aus den HID 
Usage Tables selber erstellt werden oder mit einem tool generiert 
werden. Dieser usbHidReportDescriptor enthaelt informationen ueber 
welche art eingabegeraet es sich handelt (maus, joystick, tastatur.....) 
und angaben zu dem jeweiligen geraet.

Im oben erwaehnten Beispiel Projekt werden die 17keys per 
pollingverfahren mit 46hz abgefragt. Jeder der schonmal mit externen 
interrupts gearbeitet hat weiss warum hier polling die deutlich bessere 
Loesung ist. aber wenn sich jemand mit prellenden Schaltern rumaergern 
will, nur zu ;-)
der aktuelle Status der 17keys wird dann mit der vorheringen Abfrage 
verglichen und wenn sich etwas veraendert hat per KeyReport 
uebermittelt. Die laenge des KeyReports haengt dabei auch von dem 
usbHidReportDescriptor ab.


da muss man ja ganzschoen was beachten wenn man sich so ein geraetchen 
bastelt. ich schau jetzt mal nach dem usbHidReportDescriptor 
erstellungstool. bitte korrigiert mich wenn ich hier muell geschrieben 
hab :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.