Simpler USB Taster

OP #4772146
Lesenswert?

Hallo,

da ich Maschinenbauingenieur bin und dementsprechend, bis auf Arduino 
Spielereien, keine großen Erfahrungen mit Mikrocontrollern habe, wollte 
ich hier im Forum nachfragen.

Ich suche zur Zeit nach einer Moeglichkeit einen Schalter per USB mit 
einem PC zu verbinden, der bei Betaetigung einen Tastaturtastendruck 
(Buchstabe "e") simuliert.

Ich habe etwas recherchiert und herausgefunden, dass die HID 
Schnittstelle genutzt werden sollte, da diese keine zusaetzlichen 
Treiber benoetigt.

Weiterhin benoetige ich wohl einen Mikrocontroller, der einen 
Programmcode aufnimmt und bei einem Eingangssignal des Tasters einen 
Befehl per USB an den PC ausgibt.

Hat jemand konkrete Beispiele, welchen Mikrocontroller ich verwenden 
koennte und wie ich eine Prototypenschaltung bauen kann, die diese 
Anforderungen uebernehmen kann?

Ueber jeden Hinweis waere ich sehr dankbar.

Mit freundlichen Grueßen
Tim
#4772182
Lesenswert?

Moin moin,
wenns nur um die Taster geht, dann könnte das was sein:
http://r.ebay.com/jqQLtQ
Software dazu sowie weitere Teile dann hier:
http://www.pcsensor.com/software-d6.html

Die Soft kann auch Zeichenfolgen senden.

Eigenentwicklung wie hier bereits beschrieben bringt natürlich eigene 
Erfahrungen und auch kann die Hard-/Software spezieller auf den 
Anwendungsfall angepasst werden!

Mfg Jens
#4772287
Lesenswert?

Rufus Τ. F. schrieb:
> Eine weitere Möglichkeit wäre das hier:
>
> https://www.obdev.at/products/vusb/hidkeys.html

Nee!

Keine VUSB Geschichten, außer man will sich seinen USB Zweig total 
ausbremsen. Der Atmega ist nicht gedacht direkt an einem super schnellen 
Bus zu hängen. Das ist vergewaltigung.

Vorallem wo die USB Megas doch nur noch ein paar euros kosten!!

Man baut doch auch keinen 50 PS motor auf ein Fahrrad ...
Persönliche Seite #4772297
Lesenswert?

Thomas W. schrieb:
> Keine VUSB Geschichten, außer man will sich seinen USB Zweig total
> ausbremsen. Der Atmega ist nicht gedacht direkt an einem super schnellen
> Bus zu hängen. Das ist vergewaltigung.

Das ist ... Humbug. HID-Geräte wie Tastaturen und Mäuse sind 
Low-Speed-Devices mit 1.5 MBit, d.h. die V-USB-Lösung ist komplett 
standardkonform.

Da wird nichts ausgebremst, und da wird auch nichts "vergewaltigt".
#4772344
Lesenswert?

Genau, der atmega zwingt alle Geräte am selben Hub hin auf Low Speed. 
Das ack kommt auch stark verzögert. Weil durch Software emuliert.

Natürlich kann ich auch Software Uart oder Software Spi verwenden statt 
Hardwarer. Da ist es genau dasselbe. Funktioniert irgendwie mit 
Einschränkungen. Aber wozu, wenn es günstig Hardware gibt die das viel 
besser kann???
Gast #4772447
Lesenswert?

Arduino F. schrieb:
> Tr schrieb:
>> Hol dir einen mit USB z.B Pro Mini
>
> Der Pro Mini hat kein USB.
> Und nicht jeder USB Adapter kann HID

Der meinte den Pro Micro von Sparkfun:
https://www.sparkfun.com/products/12640

Der ist für sowas genau richtig - einfach und schön klein. Per USB 
Bootloader super einfach zu programmieren und der Code für ein 
Tastenanschlag ist simples Copy&Paste...

Gibts wenn man warten kann billig aus China z.B, hier:
http://www.ebay.de/itm/Leonardo-Pro-Micro-ATmega32U4-Arduino-5V-16MHz-Bootloader-Micro-USB-Pro-mini-/381813793804

Oder wenn man Apothekenpreise zahlen will auch bei Watterott (teurer hab 
ich ihn in DE nicht gefunden):
http://www.watterott.com/de/Pro-Micro-5V/16MHz
Gast #4772473
Lesenswert?

Thomas W. schrieb:

> Genau, der atmega zwingt alle Geräte am selben Hub hin auf Low Speed.

So ein Unsinn. Selbst wenn man das gezielt erreichen wollte: das geht 
einfach nicht, das gibt der USB-Standard einfach nicht her...

Kurzfassung: du hast sowas von keine Ahnung, das tut schon echt weh...
Gast #4772475
Lesenswert?

> da ich Maschinenbauingenieur bin und dementsprechend, bis auf Arduino
> Spielereien, keine großen Erfahrungen mit Mikrocontrollern habe

da würde ich das vielleicht auf den zweiten Prototypen verlegen mit dem 
nackten Chip ein eigenes Gerät zu bauen...
Gast #4772616
Lesenswert?

Tim M. schrieb:
> da ich Maschinenbauingenieur bin und dementsprechend, bis auf Arduino
> Spielereien, keine großen Erfahrungen mit Mikrocontrollern habe, wollte
> ich hier im Forum nachfragen.
Brauchst Du eine Lösung oder willst Du Wissen aufbauen?

> Ich suche zur Zeit nach einer Moeglichkeit einen Schalter per USB mit
> einem PC zu verbinden, der bei Betaetigung einen Tastaturtastendruck
> (Buchstabe "e") simuliert.
Lösungsorientiert würde ich eine PC-Tastatur zerlegen. Die mir bekannten 
Siemens-Tastaturen habe eine kleine Platine, weniger als halbe Postkarte 
groß, wo die Tastenmatrix dran hängt. An der Matrix ausmessen, welche 
Pins das "E" verbindet, Taster an die Platine und fertig. Ist 
unsportlich, kostet eine Tastatur - aber bereitet am wenigsten 
Zeitaufwand.

Pro Micro schrieb:
> Der meinte den Pro Micro von Sparkfun:
> https://www.sparkfun.com/products/12640
> Der ist für sowas genau richtig - einfach und schön klein. Per USB
> Bootloader super einfach zu programmieren und der Code für ein
> Tastenanschlag ist simples Copy&Paste...
"für ein Tastenanschlag" - Deutsche Grammatik schwer? Ein en Anschlag!

Ich glaube, den Arduino-Sketch lädt man genau einmal und nie wieder hoch 
- wenn der USB des 32u4 als HID-Device umprogrammiert wurde, kann er 
nicht mehr zu weiteren Uploads benutzt werden?
#4772649
Lesenswert?

Die mit Abstand billigste Lösung mit einem Mikrocontroller mit 
Hardware-USB-Device ist der PIC16F1454/1455. Der '55 hat noch analoge 
Eingänge und einige andere Funktionen, die hier aber unwesentlich sind. 
Weiteres Plus für den Bastler: das Ding gibts als DIP für Lochraster.

Schau her: Hier findest Du Schaltplan und Software und Erklärungen.

Teil 1:
http://www.codeproject.com/Articles/830856/Microchip-PIC-F-USB-Stack

Teil 2:
http://www.codeproject.com/Articles/832135/Microchip-PIC-F-USB-Stack-Part

Hier gibts den Chip:
https://www.reichelt.de/PIC-16C-16F17-Controller/PIC-16F1455-I-P/3/index.html?ACTION=3&GROUPID=7201&ARTICLE=144953&SEARCH=16f1455&OFFSET=16&;

fchk

PS: Zur Schaltung in Teil 1: Du solltest noch einmal 100nF zwischen VCC 
und GND direkt am PIC packen. Der läuft dann stabiler.
Moderator (Firma: Titel) Persönliche Seite #4772831
Lesenswert?

Thomas W. schrieb:
> Natürlich kann ich auch Software Uart oder Software Spi verwenden statt
> Hardwarer. Da ist es genau dasselbe. Funktioniert irgendwie mit
> Einschränkungen.
Wenn man das richtig macht, ist die einzige Einschränkung, dass man 
Rechenleistung vom UC braucht. Und genau das ist die einzige 
"Einschränkung" beim VUSB.
Gast #4772834
Lesenswert?

Ja, der Arduino Micro ist wirklich perfekt geeignet! Funktioniert auf 
Anhieb! Selbst Nicht-C-Programmierer bringen in 5min. ein Programm 
fertig, das einen Buchstaben ausgibt!

Etwas knifflig ist das Flashen wenn schon als HID geflasht: Der Reset 
muss muss nach dem kompilieren schnell gedrückt werden, dass der Micro 
in den Bootloader-Modus geht.

Gruss Chregu
#4772958
Lesenswert?

Tim M. schrieb:
> Ich suche zur Zeit nach einer Moeglichkeit einen Schalter per USB mit
> einem PC zu verbinden, der bei Betaetigung einen Tastaturtastendruck
> (Buchstabe "e") simuliert.

Warum das?

Eine billige USB Tastatur, alles abklemmen und  die Zeilen Spalten 
Matrix der Taste 'e' mit einem Taster überbrücken.

wozu der Arduino?

Tim M. schrieb:
> da ich Maschinenbauingenieur bin

kannst du dir auch sicher ein kleine Gehäuse aus dem Block (Material 
nach Belieben) fräsen dafür.

Tim M. schrieb:
> Weiterhin benoetige ich wohl einen Mikrocontroller

der das übernehmen kann, da musst du dich nicht mit USB Treiber und Co 
rumplagen.
#4773191
Lesenswert?

Wenn jemand etwas bauen will, ok. Aber wenn jemand sich nicht mit 
Elektronik auskennt und nur ein bestimmtes Ziel erreichen möchte, dann 
sagt man ihm den einfachsten Weg dahin.
Oben hat es schon jemand vorgeschlagen und ich habe es dann noch mal 
genauer gesagt.
So eine BT Tastatur gibt es auch in sehr klein, kosten ab ca. 30 Euro 
und es bedarf keiner weiteren Kenntnisse um ein "E" zu senden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren