Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller für Tastatur-Projekt gesucht


von Djon M. (djon)


Lesenswert?

Hallo!

Ich möchte im Rahmen eines Projektes mir eine eigene 20-Tasten-Tastatur 
zusammenbauen. Die Tastaturmatrix habe ich jetzt schon soweit. Nun bin 
ich auf der Suche nach dem passenden Mikrocontroller. Dieser sollte 
USB-fähig sein, denn ich möchte die Tastatur direkt per USB an den 
Rechner anschließen. Was könnt ihr mir da empfehlen?

Gruß Djon

von Chris D. (m8nix)


Lesenswert?

4 * 5 Matrix.... da geht so ziemlich alles. ATMega8 mit FT232 UART?

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Für einige PIC ist schon ein Beispiel für eine USB-Tastatur bei der 
USB-Bibliothek dabei.

Auf meinem PIC32 USB Starter Kit 2 läuft das problemlos.

Ansonsten geht mit Sicherheit auch ein STM32, AT91SAM7 oder ein AVR mit 
USB.

Grüße,

Peter

von Oliver J. (skriptkiddy)


Lesenswert?

Das könnte eine kostengünstige Lösung sein:
http://www.obdev.at/products/vusb/hidkeys.html

Gruß Skriptkiddy

von Klaus D. (kolisson)


Lesenswert?

Djon Mayer schrieb:
> Die Tastaturmatrix habe ich jetzt schon soweit

Hast du den Esel von Hinten aufgezäumt ?
Bei sowas würde ich doch zuerst den MC bestimmen um
dann die Freiheitsgrade zu erkennen.

k.

von wusel (Gast)


Lesenswert?

Hallo!

Oder nehme einfach den Klassiker: eine billige USB-Tastatur zerlegen und 
die integrierte Elektronik nutzen.

Vorteil: zuverlässig und ohne spezielle Treiber an jedem PC nutzbar und 
deutlich preiswerter als jede Selbstbau-Lösung.

Wusel

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

20 Tasten? Soll wohl weniger eine "normale" Tastatur werden...
AB D H MNOPQRSTUV XYZ123 :D

von Frank K. (fchk)


Lesenswert?

Chris D. schrieb:
> 4 * 5 Matrix.... da geht so ziemlich alles. ATMega8 mit FT232 UART?

Damit bekommst Du kein HID Device hin. Das muss schon ein Controller mit 
echtem USB Device sein, z.B. Atmega32u2 oder Pic18f2550.

Fchk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn kein gesonderter Ehrgeiz auf das Selbstprogrammieren der 
USB-Schnittstelle gelegt wird, könnte natürlich auch ein "KeyWarrior" 
verwendet werden:
http://www.codemercs.com/index.php?id=37&L=0

von Djon M. (djon)


Lesenswert?

Vielen Dank für die Hinweise.

Die Verwendung einer bereits bestehenden Steuerung aus einer alten 
Tastatur geht leider nicht, da ich meine eigene Steuerung implementieren 
möchte. Es sind nur 20 Tasten, da die Tasten mehrfach belegt sind, 
ähnlich wie es bei FrogPad der Fall ist.
Eine zusätzliche Anforderung wäre, dass ich den Mikrocontroller selber 
verlöten könnte.

Gruß Djon

von Andreas K. (krempel)


Lesenswert?

Ich habe mir aus den frei verfügbaren Musterprojekten von Microchip 
einen USB-Fußschalter als HID zur Bildauslösung zusammengeklöppelt und 
das geht auch ohne SMD mit einem 18F14K50, ist ein 20 poliges DIL, 
braucht nur nen 12 MHz Quarz und gut ist.
Das sollte auch mit gröberen Lötutensilien machbar sein und ist 
obendrein noch spottbillig an Bauteilkosten.
Aber ich vergaß, ist ja ein AVR-lastiges Forum hier, also er hat eine 
furchtbare Architektur, was mich aber dank kostenlosem C-Compiler nicht 
wirklich juckt ;-))

von Michael A. (Gast)


Lesenswert?

Djon Mayer schrieb:
> Eine zusätzliche Anforderung wäre, dass ich den Mikrocontroller selber
> verlöten könnte.

Bis zu welchem Gehäusetyp hast du da denn Erfahrungen bzw. traust du dir 
das zu?

von Frank K. (fchk)


Lesenswert?

Djon Mayer schrieb:

> Eine zusätzliche Anforderung wäre, dass ich den Mikrocontroller selber
> verlöten könnte.

Den PIC18F2550 gibts auch im 28-poligen 300 mil DIL. Das solltest Du 
löten können.

fchk

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Wenn "richtiges" USB mit HID, dann würde ich dir empfehlen, besorg dir 
einen Atmega16/32/64u... mit USB oder ein AT90USBKey. Der USBKey ist 
eine kleine Platine (ca. 8x3cm oder so) mit einem mega128 mit usb 
(at90usb1287) und 6 8bit Ports auf Steckerleisten geführt.

Für den gibts HID Beispiele fürs AVRStudio in C, Maus und 
Temperatursensor, Massenspeicher und CDC (USB-RS232 Bridge) hab ich von 
den Beispielen schon ausprobiert, ging ganz easy.

Sind allerdings selten geworden, seit die für die "PS3 Hacks" brauchbar 
wurden.

von Oliver J. (skriptkiddy)


Lesenswert?

Ich rate zu V-USB. Funktioniert mit bastelfreundlichen bedrahteten AVRs 
und es ist schon fast fertiger Beipielcode vorhanden (siehe HID-Keys).

Gruß Skriptkiddy.

von snd (Gast)


Lesenswert?

Hi,

sehe ich es richtig, dass du die HID Treiber des Betriebssystems 
verwenden willst? Oder hast du vor, einen speziellen Treiber dafür zu 
verwenden / zu schreiben?

Bei ersteren würde ich auch zu dem PIC18F2550 raten, falls du mehr IO 
brauchst - der PIC18F4550 ist gefühlt ein 2550 mit mehr IO :)

Also auch, wenn du nach der Zeit merkst, dass der 2550 zu klein ist, 
kannst du den C-Code mit wenigen Änderungen auf den 4550 bekommen.

Beispiele für eine HID-Tastatur werden mit dem Framework von Microchip 
ausgeliefert.

Vielleicht solltest du aber auch mal etwas mehr erzählen, was die da so 
vorschwebt. Vielleicht hast du ja bereits Erfahrungen mit AVR/PIC, von 
denne wir nichts wissen :)

von Djon M. (djon)


Lesenswert?

Vielen Dank für die Hinweise!

Ich habe schon mal den RN-Control-Bausatz (ATMega32)zusammen gelötet, 
hast sogar am Ende funktioniert.
Für die Tastatur selbst (3*5-Tastaturmatix + 5 Tasten, die ich direkt 
auswerten möchte) und 7 Status-LED's brauche ich insgesamt 20 IO-Pins.

Mit einem PIC hatte ich noch nie zutun gehabt. AVR kenne ich aus dem 
RN-Control und von der Arbeit.

Gruß Djon

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Skript Kiddy schrieb:
> Ich rate zu V-USB. Funktioniert mit bastelfreundlichen bedrahteten AVRs
> und es ist schon fast fertiger Beipielcode vorhanden (siehe HID-Keys).

Den mega32u... gibts auch als DIP, soweit ich weiss...

von Oliver J. (skriptkiddy)


Lesenswert?

Nils S. schrieb:
> Den mega32u... gibts auch als DIP, soweit ich weiss...

Was ist ein mega32u? Es gibt höchstens einen Atmega32u2 und einen 
Atmega32u4 und nein die gibts nicht im DIP. Mir ist kein USB-AVR 
bekannt, der sich im DIP befindet. Bei Atmel ist auch nirgends einer zu 
finden.

Das nächste mal wäre es angebracht die Herstellerseite zu konsultieren, 
bevor man unqualifizierte Kommentare abgibt.

Gruß Skriptkiddy

von Andreas K. (krempel)


Lesenswert?

Da die DIL-Varianten von Microchip simpel einfach z.B. bei reichelt 
günstig zu bekommen sind, das Dokumaterial ganz ordentlich ist, die 
C-Compiler zumindest in optimierungseingeschränkter Version kostenlos 
verfügbar sind, habe ich mich halt auf die mittleren 18-er Pics 
geworfen. Der Compiler kaschiert die wohl nicht ganz optimale 
Architektur, das Ding soll halt das tun, was ich will und das ist "ein 
paar Knöppe auswerten". Das als Matrix und ein paar als direkte 
low-aktiv-Eingänge würde wohl auch ein antiker 8051 locker hinbekommen, 
es geht halt darum, was ist in Kleinstmengen verfügbar, wo kommt man am 
schnellsten in die Schuhe und was für Doku gibt es.
Und ich finde die Pics dafür ganz nett, auch wenn ich einige Projekte 
schon mit atmegas aufgezogen habe.

von Djon M. (djon)


Lesenswert?

Hallo!

Ich habe mir jetzt nach dem AT90UsbKey bei Ebay nachgeschaut und habe 
folgendes gefunden 
http://cgi.ebay.de/Teensy-dev-Board-AVRKey-Open-Kubus-AT90-USBKey-USB-KEY-/350424308193

Hat schon jemand Erfahrungen mit OpenKubus gemacht?

Gruß Djon

von Frank K. (fchk)


Lesenswert?

Djon Mayer schrieb:

>
> Mit einem PIC hatte ich noch nie zutun gehabt.

Na dann mal zu. Versuch macht klug, oder willst Du dumm sterben?

fchk

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Na dann mal zu. Versuch macht klug, oder willst Du dumm sterben?

Naja. Wenn der TO sich bereits mit AVR auskennt und dafür auch passende 
Programmiergeräte hat, sollte er auch bei AVR bleiben.

Entweder AVR = alles vorhanden.
Oder PIC = Programmiergerät kaufen/bauen, fehlschläge, PIC lernen, 
fehlschläge, Projekt dauert, Projekt aufgegeben.

Sollte es jedoch keine AVR Lösung geben (gibt es in verschiedenen 
Varianten, auch in reiner Software), würde ich auch einen besser 
geeigneten Prozessor suchen.

Aber erst einem: Schuster bleib bei deinen Leisten.

von Frank K. (fchk)


Lesenswert?

Christian H. schrieb:

> Entweder AVR = alles vorhanden.
> Oder PIC = Programmiergerät kaufen/bauen, fehlschläge, PIC lernen,
> fehlschläge, Projekt dauert, Projekt aufgegeben.

Nö, sehe ich nicht so und war bei mir auch nicht so. Das meiste wird 
ohnehin in C gemacht, und wer C auf einem Prozessor kann, der kann es 
auch auf einem anderen. Und die Tools sind mit drei Doppelklicks (Mplab 
IDE, C18 Compiler, Application Libraries) installiert und laufen.

> Sollte es jedoch keine AVR Lösung geben (gibt es in verschiedenen
> Varianten, auch in reiner Software), würde ich auch einen besser
> geeigneten Prozessor suchen.

Ich sehe einfach, dass Microchip oft die bessere Auswahl an Peripherie 
hat? MCU in DIL mit CAN? Gibts bei AVR nicht! MCU mit eingebautem 
Ethernet? Gibts bei AVR nicht, hier brauchst du eine ganze Platine, was 
anderswo in einem einzigen Chip drin ist. Audioausgabe via SPDIF? DsPICs 
können das per DCI direkt ansteuern.

Jetzt bezeichne mich niemand als PIC-Fanatiker. Ich greife genauso gerne 
zu Arm oder einem DSP, wenn das meine Aufgaben besser löst.

fchk

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Skript Kiddy schrieb:
> Was ist ein mega32u? Es gibt höchstens einen Atmega32u2 und einen
> Atmega32u4 und nein die gibts nicht im DIP. Mir ist kein USB-AVR
> bekannt, der sich im DIP befindet. Bei Atmel ist auch nirgends einer zu
> finden.
>
> Das nächste mal wäre es angebracht die Herstellerseite zu konsultieren,
> bevor man unqualifizierte Kommentare abgibt.

Erst lesen, dann schreiben, nicht unhöflich werden!

von Oliver J. (skriptkiddy)


Lesenswert?

> nicht unhöflich werden!
Tschuldigung. Hatte mich in dem Augenblick angegriffen gefühlt.

Skriptkiddy

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

:)

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Nö, sehe ich nicht so und war bei mir auch nicht so.

Ich meinte auch, wenn man sowieso bereits alles für den AVR vorhanden 
hat.
Wie bei mir. Ich habe bisher alles mit AVR (früher 6502 / 8051) gemacht, 
wollte mir aber auch schon öfters die PICs ansehen. Mangels passender 
Programmierhardware habe ich es aber bisher immer gelassen.

Frank K. schrieb:
> Das meiste wird
> ohnehin in C gemacht, und wer C auf einem Prozessor kann, der kann es
> auch auf einem anderen.

Klar, das ist richtig. Habe ich auch nicht gemeint.

> Und die Tools sind mit drei Doppelklicks (Mplab
> IDE, C18 Compiler, Application Libraries) installiert und laufen.

Sorry, kenne mich in diesem Bereich nur wenig aus: Sind diese auch alle 
kostenlos/frei und unbeschränkt (auf Codegröße meine ich)?

Drei Doppelklicks habe ich auch nicht, da ich unter Linux oder Mac 
arbeite.
Mplab scheint ein Windows-Programm zu sein.

Das muss man bei der Prozessorwahl auch berücksichtigen.
Gibt es die entsprechenden Tools auch für "mein" (allgemein gemeint) 
Betriebssystem?

von Frank K. (fchk)


Lesenswert?

Christian H. schrieb:

>> Und die Tools sind mit drei Doppelklicks (Mplab
>> IDE, C18 Compiler, Application Libraries) installiert und laufen.
>
> Sorry, kenne mich in diesem Bereich nur wenig aus: Sind diese auch alle
> kostenlos/frei und unbeschränkt (auf Codegröße meine ich)?

Sie sind frei wie in Bier, die Compiler sind größenmäßig unbeschränkt, 
aber optimierungsmäßig etwas eingeschränkt. Als Hobbyist nimmst Du dann 
einfach den nächstgrößeren.

> Drei Doppelklicks habe ich auch nicht, da ich unter Linux oder Mac
> arbeite.
> Mplab scheint ein Windows-Programm zu sein.

MPLAB 8 ja.

> Das muss man bei der Prozessorwahl auch berücksichtigen.
> Gibt es die entsprechenden Tools auch für "mein" (allgemein gemeint)
> Betriebssystem?

MPLAB X ist noch im Beta-Stadium, ist letztendlich Netbreans und auch 
für OSX und Linuxe verfügbar. Auch die Compiler sind schon als Beta 
verfügbar.

Ich habe mir die OSX-Versionen (ich tippe hier gerade an meinem MacPro) 
schon runtergezogen, aber aus Zeitmangel noch nicht ausprobiert.

Und selbst wenn nicht - Parallels macht auch das erträglich. Wir sind ja 
nicht ideologisch belastet, nicht wahr? Und an den 20 Euro für ne XP Pro 
OEM Lizenz soll es nun wirklich nicht scheitern.

fchk

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.