Forum: Mikrocontroller und Digitale Elektronik Serial to USB-Keyboard


von Karl-heinz S. (cletus)


Lesenswert?

Hi,

ich habe einen alten Barcode-Scanner, der seriell spricht und 5V (ca 100 
mA) braucht.

Gerne würde ich aber einen haben, der sich als USB-Keyboard anmeldet.

Was läge also näher, als einen Atmel einzusetzen, der sich als 
USB-Keyboard meldet und alle seriellen Zeichen, die er bekommt, als 
Zeichen eingibt (die alphanumerischen Tasten reichen ja).


Kennt ihr schon ein Projekt, welches das umgesetzt hat?

Ich musste sofort an EasyLogger ( 
http://www.obdev.at/products/avrusb/easylogger.html ) denken, aber 
vielleicht gibt es ja schon etwas fertiges für USB...

Beste Grüße

von Karl H. (kbuchegg)


Lesenswert?


von Karl-heinz S. (cletus)


Lesenswert?

Yupp, ist AFAIK die gleiche Basis.

Meine Hoffnung war, dass schon jemand alles so weit gebracht hat, dass 
man es ohne große Entwicklung einfach nachbauen kann ;-)

Bei dem Link handelt es sich ja um eine Selbstbautastatur, der serielle 
Teil fehlt.

von Karl H. (kbuchegg)


Lesenswert?

Karl-heinz Strunk schrieb:

> Bei dem Link handelt es sich ja um eine Selbstbautastatur, der serielle
> Teil fehlt.

Und wo ist da jetzt deine Eigenleistung?

Wo ist denn da jetzt das Problem, da eine UART drannzufrickeln (MAX232 
in Standardbeschaltung), die in Betrieb zu nehmen und anstelle der 
Tasten die Bytes von der UART per USB auf den Weg zu bringen?

Das schwierige an deinem Projekt ist der USB Teil. Der Rest ist doch 
Pipifax.

von Karl-heinz S. (cletus)


Lesenswert?

Wer sagt, dass ich großartige Eigenleistung einbringen will? Ist ja 
keine Hausarbeit oder so. ;-)


Und wozu Arbeit machen, die jemand anders erledigt hat?

von Karl H. (kbuchegg)


Lesenswert?

Alles klar.

von C6 (Gast)


Lesenswert?

bemitleidenswert...

von Karl-heinz S. (cletus)


Lesenswert?

Wieso?

Hätte ja sein können, tut mir schrecklich leid, dass ich gefragt habe.

von Alex (Gast)


Lesenswert?

Such mal im Internet, da gibt es sowas zu kaufen.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

bei Pearl kostet ein Barcode-Scanner mit USB 39,90 EUR - oder ist das 
auch zuviel Eigenleistung?

Gruss Reinhard

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Mal abgesehen davon das die oben genannten ca. 40 Euro noch LANGE nicht 
die preisliche Untergrenze für USB Barcode Scanner darstellt...

Karl-heinz Strunk schrieb:
> Was läge also näher, als einen Atmel einzusetzen, der sich als
> USB-Keyboard meldet und alle seriellen Zeichen, die er bekommt, als
> Zeichen eingibt (die alphanumerischen Tasten reichen ja).

ICh kann sagen was für jemanden der gewillt ist "etwas" Eigenleistung zu 
bringen aber dennoch möglichst schnell zum Ziel zu kommen möchte näher 
liegt als dein  Vorschlag ;-)

DIE Verwendung eines MicrochipPIC wie PIC18F14K50 oder PIC18F4550 ;-)

Warum?
Microchip liefert direkt zahlreiche fertige Beispielprogramme mit. Eines 
davon ist das "HID - Keyboard DEMO"
Wird der PIC mit diesem Programm bespielt meldet er sich als USB 
Keyboard an und sendet auf Tastendruck verschiedene Zeichen. Die 
auszugebenden Zeichen werden innerhalb des Programms in ein 8Byte Array 
geschrieben.
(In der Demo wird jeweils nur ein Byte von 4 bis 40 hochgezählt)

Es ist nun wirklich keine Kunst jetzt das Programm um die Abfrage des 
internen UART des Pics zu erweitern und die über RS232 hineinkommenden 
Daten in das Ausgabefeld umzukopieren.
90% dieser Erweiterung könnte man auch aus dem USB-CDC Serial Demo 
kopieren welches nichts anderes ist als ein Kompletter USB Serial 
Wandler unterzuhilfenahme eines PICs. (Setze ich teilweise schon ein 
wenn ich gerade keinen "fertigen" Adapter zur hand habe)
Hier einfach die RS232 relevanten Sachen herauskopieren.
(Dieses Demo umzuändern ist aber schwieriger da für einen LAien das 
abändern der ganzen Deskriptoren wohl die größere Hürde ist..., da macht 
die änderung des Keyboard demo es um welten Einfacher)

Aber ACHTUNG, kleine Falle noch:
Die USB Tastaturen senden mitnichten ASCII zeichen, sondern wie wohl 
alle PC Standarttastaturen seit den Anfängen nur einen SCANCODE (Quasi 
Tastennummer) und erst das BIOS bzw. der Treiber im PC machen daraus 
dann ein "ZEICHEN". Gemeinerweise unterscheiden sich die ScanCode Listen 
auch noch zwischen XT, AT_PS2 und USB Tastaturen.
Es muss also in jedem Fall noch eine Umcodierung der Zeichen erfolgen. 
(z.B. Switch_Case). Dabei natürlich die USB ScanCOde liste verwenden.

Unter zuhilfenahme dieses Demos und einer bereits existierenden 
Minimalschaltung (Pic18F14K50, USB Buchse und MAX232, wie beim 
LowPinCount USB dev. Kit) ist es mir gerade in weniger als 10Minuten 
gelungen einen Umsetzer zu erschaffen der sich bei meinem Netbook als 
USB Tastatur anmeldet und von mir über ein TErminal Programm am 
DesktopPC über RS232 gesendete ASCII Texte als Tastatureingaben ausgibt.

Allerdings:
Wenn du das jetzt doch selber so realisieren willst, ist ja nun wirklich 
nicht mehr viel, alles was irgendwie anspruchsvoll sein könnte ist ja 
schon abgenommen, dann stehe ich gerne mit Rat und Tat zur Seite.

Aber bei der oben gezeigten Einstellung jetzt einfach für dich die ganze 
Arbeit machen und das PRG jetzt einfach Mundgerecht posten (Ok, die 
Arbeit ist zwar schon gemacht...) - Nöö, irgendwie wiederstrebt mir das 
noch.

Aber wie gesagt: Bei Detailfragen helfe ich gerne weiter!

Gruß
Carsten

von Walter (Gast)


Lesenswert?

Carsten Sch. schrieb:
> DIE Verwendung eines MicrochipPIC wie PIC18F14K50 oder PIC18F4550 ;-)

oder einen Teensy kaufen, gibts im Gehäuse fix und fertig für 20 Euro,
Keyboard oder CD Demo etwas modifizieren und fertig.

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.