Hallo!
Ich wollte mir als Anfängerprojekt einmal eine komplett eigene Tastatur
bauen.
3D Drucker für das Gehäuse, Tasten usw ist auch vorhanden.
Allerdings bin ich bei den ganzen Schaltungsplänen die man so im Inet
findet ein wenig.... 'Überfordert' ^^"
Deswegen wollte ich auch direkt einmal fragen ob es dafür gute
Literatur/Internetseiten gibt die seriös sind und das ganze auch gut
umsetzen um sich in die Schaltpläne einzuarbeiten/mehr in Elektrotechnik
einzulesen.
Gleichzeitig aber auch vielleicht eine Seite wo man so ein
Anfängerprojekt wie z.B. eine Tastatur zu bauen (Ob nun durch reine
Schaltung oder aber über einen MC verbunden) ganz gut wäre.
Welche konkrete Schaltung du verwendest (sofern du überhaupt eine Idee
hast) ist eigentlich völlig egal, Hauptsache es werden die richtigen
Scancodes (einer bestimmten Vorbild-Tastatur) gesendet.
Aber auch die sind eigentlich egal, wenn du auf der PC-Seite das
entsprechende Mapping-File erstellen und installieren kannst.
Kern das Ganzen ist heutzutage ein Mikrocontroller mit genügend Pins für
die Tastenmatrix (und natürlich gute Taster) und eine entsprechende
Software - thats all ...
Eine direkte Idee noch nicht. Ich bin im Moment etwas am 'sammeln' :)
Aber ich will das auch für Löt-Übungen verwenden.
Endziel wäre dahingehend die Möglichkeit z.B. eine Tastatur zu haben in
dem man dann weitere Segmente einfach einstecken und nutzen kann.
Allerdings ist das noch weit entfernt und ich möchte da erstmal vor
allem etwas lernen.
Denke auch ein "Numpad" als erstes Projekt wäre da vielleicht sinniger.
Ein Arduino Leonardo kann eine Tastatur simulieren. Damit dürfte es
nicht allzu schwer sein, für ein Anfängerprojekt ist das aber trotzdem
sehr ambitioniert.
kauf dir einen Arduino Leonardo oder einen Teensy. Die können von sich
aus schon HID sein. Damit wäre die Software schonmal recht einfach über
die Arduino-IDE zu programmieren. Da erstmal ein paar Tasten für ein
Numpad anschliessen ist kein Problem.
Ein Arduino Micro Pro oder ein Digistamp auch.
Letzterer hat aber wohl zu wenig Pins, um die Matrix direkt auszuwerten.
Dann müsste man etwas mit Schieberegistern basteln und diese seriell
auslesen. Aber da ist man 1-2-fix vom Aufwand her bereits bei
"richtigen" Tastaturcontrollern ...
Es gab übrigens auch mal Taster mit Mini-LCD obendrauf, also
"dynamische" Beschriftung oder Icons.
Rufus Τ. F. schrieb:> Was für einen "Übergang" meinst Du?
Er meint wohl die Datenlaufzeit.
Kael schrieb:> Würde ein 'Übergang' zu einem Arduino in so einem Fall nicht für eine> Verzögerung sorgen?
Nein.
Kael schrieb:> komplett eigene Tastatur> bauen.
Impliziert das auch eine komplett eigene Software? Das ist bei USB schon
etwas aufwendiger.
Kael schrieb:> einen normalen Arduino habe ich sogar noch
Die können aber nur USB-Serial, aber keine beliebigen eigenen
USB-Protokolle wie HID, wenn du nicht gerade den Adapter-AVR
umprogrammierst.
Einer schrieb:> Er meint wohl die Datenlaufzeit.
Welche? Du kannst Dir gerne noch einen anderen Namen dafür ausdenken,
die Frage beantwortet es nicht.
USB-HID kann man sowohl in Software via V-USB als auch in Hardware via
LUFA abwickeln (sofern der verwendete AVR über die entsprechende
USB-Device-Hardware verfügt), beides ist aus dem Arduino-Umfeld heraus
ansprechbar.
Für kleine Tastaturaufgaben (ein paar Sondertasten, Zehnerblock o.ä.)
kann man problemlos den V-USB-Ansatz verwenden, HID ist einer der
wenigen Fälle, wo das sogar spezifikationskonform ist.
Mehr Freiheitsgrade aber hat man mit einem AVR mit integrierter
USB-Device-Hardware wie z.B. dem ATmega32U4, der u.a. auf dem Arduino
Leonardo oder Micro zu finden ist.
Und die beiden genannten Arduino-Modelle verwenden keine separate
USB-UART-Bridge, sind also als vollwertige USB-Geräte nutzbar.
Kael schrieb:> Anfängerprojekt> 'Überfordert'
Dann ist der sinnvollste Rat den man dir als Anfänger geben kann etwas
Einfacheres zu machen. Weniger Frust, schnelleres Erfolgserlebnis,
weniger Geldverbrennung, besserer Lerneffekt.
Zum Beispiel ein einfacher Taschenrechner (ca. 10 Euro als Bausatz):
https://www.aliexpress.com/item/4000039605253.htm
Oder ein komplizierterer Taschenrechner:
Beitrag "Noch ein Taschenrechner auf ATMega Basis"
Beides schöne Spielereien mit Tasten. Beide schön in sich abgeschlossene
Projekte.
Als nächsten Schritt vielleicht ein Numpad. Da hast du den ganzen
USB-Ärger mit dabei. Danach kann ich mir vorstellen, dass du genug von
Tastaturen mit USB hast und was anderes bastelst.
Denn ehrlich, eine Platine für eine komplette PC-Tastatur mit über 100
Tasten layouten, dazu noch das ganze Gehäuse bauen, und zwar mechanisch
stabil, und am besten noch die Tastenkappen selbst beschriften ist eine
stink-langweilige Arbeit.
> Deswegen wollte ich auch direkt einmal fragen ob es dafür gute> Literatur/Internetseiten gibt die seriös sind
Jedes Datenblatt für einen Tastaturchip.
> und das ganze auch gut> umsetzen um sich in die Schaltpläne einzuarbeiten/mehr in Elektrotechnik> einzulesen.
Jetzt hast du ein Problem. Moderne Tastaturen bestehen aus einem
einzigen fetten Tastaturchip plus ein bisschen Hühnerfutter wie LEDs.
Der Chip macht alles ohne das man wissen muss wie genau. Da ist nichts
groß mit Einarbeiten oder Elektronik lernen. Das ist ein schwarzer Blob
an den man eine eine 19x8 oder 20x8 Tasten-Matrix anschließt.
Um nur die Prinzipien zu sehen brauchst du keine große Tastatur zu
bauen. Die siehst du besser an kleineren Projekten.
Marten Morten schrieb:> Moderne Tastaturen bestehen aus einem einzigen fetten Tastaturchip plus> ein bisschen Hühnerfutter wie LEDs.
Da könnte man auch auf ein Produkt von Guido Körber zurückgreifen:
https://www.codemercs.com/de/tastatur
Allerdings werden da wohl gerade die meisten Modelle 'rausgeworfen und
durch neue ersetzt; der erste neue kann aber nur 64 Tasten ansprechen,
was ein bisschen arg wenig ist.
Mit einer Matrix an 3 8bit Ports lassen sich 128 Tasten Abfragen.
Wenn die Ports nicht ausreichen beim uC (Modul) würde ich eher zum 4 to
16 line decoder greifen.
Ein nettes Übungsprojekt (gerade auch zum Löten und Fehlersuche) mit
Potential zu Erweiterung (z.B. Zusatztasten für Passwörter, IR für
Befehlssequnzen etc.)
Marten Morten schrieb:> am besten noch die Tastenkappen selbst beschriften
Er will sie ja nicht nur beschriften, sondern auf seinem 3D-Drucker
selber machen. Hoffentlich ist er wenigstens bereit, die eigentlichen
Tasten zu kaufen, z.B. von Cherry oder Rafi.
Sowas macht man nicht mal so schnell nach Feierabend, aber auch das ist
schon eine wertvolle Erfahrung.
Georg
Ich hab' vor vielen Jahren mal eine externe Tastatur für den C64
gebastelt. Cherry-Einzeltasten auf Lochraster, für diverse geshiftete
und controlte Tasten noch ein TTL-Grab dazu. Ein Hex-Block dort, wo die
PC-Tastatur den Ziffenblock hat. Das ganze in ein
Siemens-Tastaturgehäuse, was aber zu flach war und daher umgebaut,
gespachtelt, neu lackiert werden musste. Die Tastenkappen mit
Letraset-Rubbelbuchstaben beschriftet und transparent überlackiert.
Hat Spaß gemacht, hat am Ende auch funktioniert - aber es war ein
mehrwöchiges Projekt. Und am Gesamt-Aufwand ändert IMHO auch die moderne
Technik wenig...
Kein so schlechtes Anfängerprojekt. Da ist schon etwas Anspruch dabei,
aber unschaffbar ist es trotzdem nicht. Und wenn es klappt, ist das eine
nette Trophäe.
Mein Rat wäre:
Auf keinen Fall USB, sondern PS2. Nimm einen µC, den du schon kennst.
Oder einen Arduino.
Die Tasten verschaltet man als Matrix:
http://www.avr-asm-tutorial.net/avr_de/apps/tasten_schalter_adc/tastenfeld/tastenfeld.html
Plan das sauber, d.h. einen µC mit genug IOs nehmen. Du brauchst
mindestends 2*Wurzel(Tasten).
Für 102 wären das 21 - also 10 Zeilen und 11 Spalten. Dazu brauchst du 3
Ios für die LED, und einmal I2C. Sollte so direkt mit einem µC ohne
Zusatzhardware machbar sein, möglicherweise aber in einem SMD-Gehäuse.
Wenn das stört:
Das ganze lässt sich selbstverständlich auch mit Portexpandern,
Schieberegistern, Decodern oder dergleichen lösen, dann brauchts viel
weniger Pins.
Kael schrieb:> Denke auch ein "Numpad" als erstes Projekt wäre da vielleicht sinniger.
Ein Joystick, Flightstick, Lenkrad oder Gamepad ist meiner Meinung nach
sinnvoller.
Der ist von den Tasten überschaubarer und man kann auch gleich noch mit
einem ADC Übungen machen, wenn man einen anlogen Joystick baut.
Beim 3d Druck kannst du dich auch richtig austoben, so wie du es willst
oder brauchst.
Vom Lernfaktor gibt es noch die USB HID Protokolle zu beachten.
Eine Tastatur lohnt sich meiner Meinung nach nicht, bsw. ist zu
aufwendig, da man ja auch noch die richtigen Abstände für die Tasten
einhalten sollte.
Schließlich willst du nicht jedes mal, wenn du wieder an einer
Industrietastatur tipps, das Tippen neu lernen oder auf der blind
Fehler, weil die Tastenabstände ganz andere sind.
Richtig austoben kannst du dich übrigens mit einem Homecockpit.
Da ist alles drin, von Eingabegeräten bis zu Anzeigegeräten.
Rufus Τ. F. schrieb:> Da könnte man auch auf ein Produkt von Guido Körber zurückgreifen:>> https://www.codemercs.com/de/tastatur>> Allerdings werden da wohl gerade die meisten Modelle 'rausgeworfen und> durch neue ersetzt; der erste neue kann aber nur 64 Tasten ansprechen,> was ein bisschen arg wenig ist.
Der KeyWarrior28 ersetzt ja "nur" die KeyWarrior24 und KeyWarrior8.
Dafür hat er aber sehr weitreichende Macro-Funktionen und auch eine
Maus-Funktion mit drin.
Wir sind grad dran den KeyWarrior100 zu entwickeln, der wird im Herbst
raus kommen und kann bis zu 384 Tasten in einer 24x16 Matrix. Damit
ersetzen wir dann die gesamte restliche Produktfamilie plus einem ganzen
Paket neuer Features, die es bisher noch nicht gab, oder nur in
Custom-Chips.
Vom KeyWarrior24-8 haben wir aktuell noch die Module auf Lager, damit
lässt sich eine kleine Tastatur mit bis zu 64 Tasten wirklich als
Anfängerprojekt realisieren.
hmm schrieb:> Auf keinen Fall USB, sondern PS2.
Umgekehrt…
USB ist sauber spezifiziert und es gibt jede Menge ordentlichen
Beispielcode.
PS/2 ist nicht dokumentiert, die Infrmationen darüber sind teilweise
über Reverse-Engineering abgeleitet und jeder Hersteller macht irgendwas
ein kleines Bisschen anders.
Kael schrieb:> Allerdings bin ich bei den ganzen Schaltungsplänen die man so im Inet> findet ein wenig.... 'Überfordert' ^^">> Deswegen wollte ich auch direkt einmal fragen ob es dafür gute> Literatur/Internetseiten gibt die seriös sind und das ganze auch gut> umsetzen um sich in die Schaltpläne einzuarbeiten/mehr in Elektrotechnik> einzulesen.> Gleichzeitig aber auch vielleicht eine Seite wo man so ein> Anfängerprojekt wie z.B. eine Tastatur zu bauen
Dir geht es offensichtlich, wie dem berühmten Ikarus der auch ein ein
bischen zu hoch geflogen ist und sich dabei die Flügel verbrannt hat.
Die Schaltung für eine Tastatur dürfte wohl das simpelste an einer
Tastatur sein. Wenn Du schon daran scheiterst dürfte das Ganze dann
wohl doch kein Anfängerprojekt sein.
Die eigentliche Aufgabe dürfte die softwaretechnische Umsetzung werden.
Von der Mechanik wollen wir da mal gar nicht reden. Ein 3D Drucker ist
da nur ein Puzzelteil von vielen.
Ich glaube Du bist Dir über den Umfang eines solchen Projektes gar nicht
bewußt. Ein Anfänderprojekt ist das definitiv nicht und schon gar nicht,
wenn man alleine von der Schaltungstechnik schon überfordert ist.
Die Tastatur ist ein Computer im Computer.
Die Mechanik würde ich mir nicht antun.
Eine alte Tastatur mit Einzeltasten nehmen, also keine Folie.
Da kann man dann in der ersten Etappe lustig an einem eigenem Controller
basteln.
Grundlagen sind im Tischer "PC-Intern" nachzulesen.
Guido Körber schrieb:> hmm schrieb:>> Auf keinen Fall USB, sondern PS2.>> Umgekehrt…
Nö, PS2 ist im von mir genannten AVR-Projekt praktisch gelöst.
Guido Körber schrieb:> PS/2 ist nicht dokumentiert,
Ich habe hier ein IBM-Handbuch* herumstehen, vom Modell 30/286, und da
ist die Schnittstelle drin beschrieben, inklusive Scancodes und auch der
Kommandos, die an die Tastatur gesendet werden können.
Auch das Timing der Schnittstelle wird beschrieben.
Interessiert Dich das?
*) "Personal System/2 Model 30 286 Technical Reference"
Rufus Τ. F. schrieb:> Interessiert Dich das?
Habe selber so ein Exemplar. Was da fehlt sind z.B. Toleranzbereiche.
PS/2 fliegt bei uns jetzt aber raus. Alle neuen Produkte sind nur noch
USB. Der Ärger mit dieser Schnittstelle steht in keinem Verhältnis zum
Nutzen. Wenn man nicht nur ein paar Tastaturen macht, sondern so wie
wir, einen erheblichen Teil der Hersteller im Bereich Industrie- und
Sondertastaturen beliefert, dann wird es teilweise sehr bunt.
Ganz besonders viel Spaß machen die KVM-Switches, da lehnen wir es schon
lange ab überhaupt nach dem Problem zu suchen.
Guido Körber schrieb:> Was da fehlt sind z.B. Toleranzbereiche.
In meinem sind bei den beiden Timing-Diagrammen für Senden und Empfangen
min- und max-Werte für die Zeiten angegeben
> PS/2 fliegt bei uns jetzt aber raus.
In Anbetracht des Alters ist das eine nachvollziehbare Entscheidung.
Ich nutze PS/2-Geräte nur als normaler Verbraucher, und für meine
Tastatur habe ich glücklicherweise einen funktionierenden Adapter auf
USB gefunden, der im Schrank darauf wartet, daß sie irgendwann an einem
Rechner ohne PS/2 eingesetzt werden soll.
> Ganz besonders viel Spaß machen die KVM-Switches
O ja, die bekommt man schon durch Anschluss der falschen Maus zum
Ausfallen.
Logitech-Maus mit Scrollrad, einmal am Scrollrad gedreht, und man muss
alle Rechner neu starten, weil durch den nötigen Neustart des KVM die
Verbindung zu den Mäusen flötengeht.
Aus irgendeinem Grund hat IBM es nicht hinbekommen, die für Mäuse
verwendete PS/2-Schnittstelle hotplugfähig zu machen, was bei der
Tastatur hingegen geht (das ging ja schon beim alten AT). Nur die
Autorepeat-Rate wird nicht aktualisiert.
Rufus Τ. F. schrieb:> Aus irgendeinem Grund hat IBM es nicht hinbekommen, die für Mäuse> verwendete PS/2-Schnittstelle hotplugfähig zu machen, was bei der> Tastatur hingegen geht
Das geht bei Tastaturen aber auch nur inoffiziell.
Kael schrieb:> Aber ich will das auch für Löt-Übungen verwenden.
Rätsel:
Für eine bessere Optik will ein Energieanlagenelektroniker seine
vorhandenen LED's in gleichmäßigen Reihen auf einer Eurokarte (160 x
100mm) platzieren. Als erstes versucht er es in Dreierreihen, aber es
bleiben zwei LED's übrig. Dann versucht er es mit Viererreihen, und
wieder sind zwei LED's übrig. Als er sie in Fünferreihen auf der Platine
platziert, gelingt es.
Wie viele LED's hat der Energieanlagenelektroniker mindestens?
Steckerchaos schrieb:> Das geht bei Tastaturen aber auch nur inoffiziell.
Dafür aber sehr, sehr gut. Ich habe noch keinen PC erlebt, der damit
irgendwelche Probleme hatte - seit 1988 nicht (da hatte ich meinen
PC-Schrauber-Erstkontakt mit ATs, und deren Tastaturschnittstelle nutzte
zwar einen anderen Stecker als PS/2, aber war ansonsten identisch).
Ja, offziell zugegeben wurde diese Hotplugfähigkeit nie. Offzielle
musste man den PC auch wegen jedes beliebigen anderen Krams ständig aus-
und wiedereinschalten (Drucker, serielle Schnittstelle, Monitore ...),
das gewöhnt man sich dann auch recht schnell ab.
Dr. Sommer schrieb:> 50.
Richtig!
3 LED's mal 16 Reihen sind 48 LED's (bleiben 2 übrig)
4 LED's mal 12 Reihen sind auch 48 LED's (bleiben wieder 2 übrig)
5 LED's mal 10 Reihen sind genau 50 LED's
Ich konnte selber leider keine Formel dafür erstellen, hab's auch nur
durch rumprobieren herausgefunden.
Kael schrieb:> Allerdings bin ich bei den ganzen Schaltungsplänen die man so im Inet> findet ein wenig.... 'Überfordert' ^^"
Nimm Eagle oder KiCad. Damit geht es fasst von selbst (etwas faster bei
Eagle als bei KiCad)
Raph schrieb:>> Nimm Eagle oder KiCad. Damit geht es fasst von selbst (etwas faster bei> Eagle als bei KiCad)
"etwas faster"
Das ist wunderbares Denglisch
Frank E. schrieb:> Es gab übrigens auch mal Taster mit Mini-LCD obendrauf, also> "dynamische" Beschriftung oder Icons.
Ganz richtig - gab.
Wer hat schon Lust, sich vor dem Drücken einer Taste erstmal irgendeine
mehr oder weniger pixelige und evtl. auch noch schlecht beleuchtete
LCD-Beschriftung durchzulesen. Nichts ist nerviger als eine Tastatur,
bei der sich dynamisch die Bedeutung der Tasten ändert.
Wolfgang schrieb:> Nichts ist nerviger als eine Tastatur, bei der sich dynamisch die> Bedeutung der Tasten ändert.
Apple sieht das seit einiger Zeit anders; in den MacBooks haben sie die
Tastatur um die Funktionstastenreihe kastriert und eine "Touchbar"
eingebaut. Das hat neben der dynamischen Bedeutungsänderung auch noch
den "Vorteil", daß das taktile Feedback einer normalen Tastatur (die man
auch blind bedienen kann) wegfällt.
Guido Körber schrieb:> PS/2 ist nicht dokumentiert, die Infrmationen darüber sind teilweise> über Reverse-Engineering abgeleitet und jeder Hersteller macht irgendwas> ein kleines Bisschen anders.
Dass die PS/2 Tastaturschnittstelle nicht dokumentiert ist, stimmt
nicht. Hast Du schon mal das "IBM Personal System /2 Technical Reference
Manual" in den Fingern gehabt, oder warst Du im Mai 1988 (erste Auflage)
noch nicht geboren?
Da gibt es ein Kapitel "Keyboard and Auxiliary Device Controller (Type
1)". Das ist die Primärreferenz. Die Scancodes und Tastaturlayouts
gibts im Kapitel "Keyboards (101- and 102-Key).
fchk
Frank K. schrieb:> Dass die PS/2 Tastaturschnittstelle nicht dokumentiert ist, stimmt> nicht. Hast Du schon mal das "IBM Personal System /2 Technical Reference> Manual" in den Fingern gehabt, oder warst Du im Mai 1988 (erste Auflage)> noch nicht geboren?
Der war gut…
Ich habe sogar einen IBM PS/2-50 als Referenz verwendet bei der
Entwicklung. Der gab aber irgendwann den Geist auf und die tatsächlichen
Implementierungen haben sich auch langsam immer weiter davon entfernt.
In irgend einer Kiste ist das Handbuch auch noch, aber die Spezifikation
war alles andere als sauber und wirde im laufe der Zeit auch noch
erweitert.
Guido Körber schrieb:> Frank K. schrieb:> Dass die PS/2 Tastaturschnittstelle nicht dokumentiert ist, stimmt> nicht. Hast Du schon mal das "IBM Personal System /2 Technical Reference> Manual" in den Fingern gehabt, oder warst Du im Mai 1988 (erste Auflage)> noch nicht geboren?>> Der war gut…>> Ich habe sogar einen IBM PS/2-50 als Referenz verwendet bei der> Entwicklung. Der gab aber irgendwann den Geist auf und die tatsächlichen> Implementierungen haben sich auch langsam immer weiter davon entfernt.> In irgend einer Kiste ist das Handbuch auch noch, aber die Spezifikation> war alles andere als sauber und wirde im laufe der Zeit auch noch> erweitert.
Ich würde mit einem bestehende USB Keyboard und Wiresharkhttps://geekthis.net/post/usb-sniffing-and-programming/
die Anmeldeprozedure und die TastenCodes, wie sie versendet werden,
erforschen .
Diese Messungen können später als Referenz zur eigene Implementierung
dienen.
Dann wurde ich mir einen Mikrokontroller aussuchen, der drei Bedienungen
erfüllt:
- MC, der über USB versorgt werden kann
- MC mit genügend PINS für den Tastatur scannen oder einen Scanner
besitzt
- MC mit USB Client oder serieller Schnittstelle und externen Umsetzter
auf USB (z.B UM2102)
http://www.ti.com/microcontrollers/msp430-ultra-low-power-mcus/products.html#p702=Yeshttp://www.ti.com/document-viewer/MSP430F5529/datasheet/applications-slas5908766#SLAS5908766
MC und Entwicklungstools:
https://www.mouser.at/Search/Refine?Keyword=msp430f5529
GEKU schrieb:> die Anmeldeprozedure und die TastenCodes, wie sie versendet werden,> erforschen .
Wozu das? Das Spezifikation des USB-Protokolls und auch HID sind offen
verfügbar. Durch Reverse Engineering findet man nur den "Normalfall"
ohne Sonderfälle und Neben-Anforderungen (Timing usw) heraus.
PS:
GEKU schrieb:> - MC mit USB Client oder serieller Schnittstelle und externen Umsetzter> auf USB (z.B UM2102)
Und wie soll man mit einem USB-RSR232 Adapter das HID-Protokoll
implementieren?
Niklas G. schrieb:> Wozu das?
Weil die Tastencodes alleine nicht ausreichen!
Wichtig für den TO ist es das Übertragungsprotokoll zwischen seinem
Keyboard und dem PC zu kennen. Mit den Tastencodes fängt er alleine
nichts an.
Sein Keyboard sollte von den USB Treibern im PC oder Raspberry auch als
solcher erkannt werden.
Natürlich reicht es dann nur einen Tastencode zu erforschen
Aber das Verhalten der Umschaltetasten wie z.B. ALT, SHIFT etc. sind gut
erforschbar und damit zu verstehen.
In der anderen Richtung sind auch die Status-LEDS interessant.
Mit dem von mir vorgeschlagen Prototypenboard kann sich der TO voll auf
die Software konzentrieren und viel dabei lernen.
An diesem Prototypenboard kann die Tastenmatrix direkt über Steckkabel
an die Ports anschlossen werden.
Das Prototypenboard verfügte eine USB Schnittstelle, die nicht nur für
den Anschluß des ProtoKeyboards dienen, sondern auch für die
Softwareentwicklung (Download Debuggen).
Selbst wenn das Projekt "scheitert", ich gehe aber davon nicht aus, bei
13€ nicht viel verloren, zumal viel dabei an Erfahrung gesammelt wurde.
Für die Entwicklung ist nicht viel HW Bastelgeschick erforderlich, weil
die SMD CPU sich auf dem fertigen Prototypenboard befindet.
Wenn keine Stückzahl dahinter steckt, macht die Entwicklung eines
eigenen Boards keinen Sinn,
man kann das Prototypenboard ins eigene 3D Druckerprojekt einbinden.
PS: Für den MC gibt es bei TI jede Menge Applikationsbeispiele für die
Software (USB Implementierung).
Niklas G. schrieb:> Und wie soll man mit einem USB-RSR232 Adapter das HID-Protokoll> implementieren?
Ich wurde mir den Umweg über RS232 nicht antun und gleich einen USB
tauchlichen MC verwenden. (Siehe Vorschlag oben).
Bei der Lösung über RS232 sollte das Keyboard nicht als serielle
Schnittstelle, sondern als Keyboard angemeldet werden. Die serielle 232
Schnittstelle wird vom PC nicht als solche gesehen.
GEKU schrieb:> Weil die Tastencodes alleine nicht ausreichen!
Alles andere ist ebenfalls dokumentiert. Da muss man nichts reverse
engineeren.
GEKU schrieb:> Wichtig für den TO ist es das Übertragungsprotokoll zwischen seinem> Keyboard und dem PC zu kennen.
Steht alles in den entsprechenden Spezifikationen.
GEKU schrieb:> Mit dem von mir vorgeschlagen Prototypenboard kann sich der TO voll auf> die Software konzentrieren und viel dabei lernen.
Es gibt aber auch viele andere geeignete, z.B. die meisten
STM32-Discovery-Boards.
GEKU schrieb:> Die serielle 232> Schnittstelle wird vom PC nicht als solche gesehen.
Und wie bewerkstelligt man das wenn der CP2102N sich nunmal immer als
serielle Schnittstelle anmeldet?
Niklas G. schrieb:> Alles andere ist ebenfalls dokumentiert. Da muss man nichts reverse> engineeren.
Jeder hat seine Methode zur Umsetzung von Projekten.
Sicher geht es nicht ohne Spezifikationen. Ich war mit der Methode
"Reverse Engineering" erfolgreich, andere sind an einer nicht richtig
verstanden Spezifikation gescheitert.
Auch fürs "Reverse Engineering" wird die Spezifikation für die
Interpretation der ermittelten Daten benötigt. So kann das notwendige
Wissen erarbeitet werden.
Niklas G. schrieb:> Steht alles in den entsprechenden Spezifikationen.
Hoffentlich! Und hoffentlich wird alles richtig verstanden.
Niklas G. schrieb:> Es gibt aber auch viele andere geeignete, z.B. die meisten> STM32-Discovery-Boards.
Jeder hat seine Präferenzen. Wenn bei der Auswahl, die von mir
ausgelisteten Anforderungen erfüllt sind, kann manch auch andere
Plattformen heranziehen.
Ich kenne STM32 zu wenig. Kann dieser aus der USB Schnittstelle (USB2)
versorgt werden? Unterstützt dieser USB? Wie preiswert sind die
Discovery-Boards. Welche Unterstützung gibt es für die Entwicklung und
was kostet diese?
Niklas G. schrieb:> Und wie bewerkstelligt man das wenn der CP2102N sich nunmal immer als> serielle Schnittstelle anmeldet?
Gute Frage! Zeigt kompetentes Fachwissen.
CP210** verfügt über ein EPROM bzw. EEPROM und kann bei Bedarf angepasst
werden. Es können Daten wie USB Vendor ID (VID), Product ID(PID), und
diverse Beschreiber angepasst werden.
Wenn diese Daten nicht ausreichend sind,ich kenne den Chip zu wenig,
dann ist der Chip für diese Anwendung nicht brauchbar.
GEKU schrieb:> Hoffentlich! Und hoffentlich wird alles richtig verstanden.
Die USB-Spezifikation ist ziemlich gut, im Unterschied zu z.B. der
SD-Spec.
GEKU schrieb:> Ich war mit der Methode> "Reverse Engineering" erfolgreich, andere sind an einer nicht richtig> verstanden Spezifikation gescheitert.
Wenn es aber eine gibt, kann man die auch nutzen. Wenn man immer nur
erfolgreiche Protokoll-Abläufe betrachtet, weiß man nicht wie man die
Sonderfälle implementiert, was man also im Fehlerfall (nicht) senden
soll, wie schnell man reagieren muss...
GEKU schrieb:> Kann dieser aus der USB Schnittstelle (USB2)> versorgt werden?
Das ist Sache des Boards, nicht des Chips. Und viele STM32-Boards können
das, ja.
GEKU schrieb:> Unterstützt dieser USB?
Ja.
GEKU schrieb:> Wie preiswert sind die> Discovery-Boards.
ca. 10€-50€, je nach Modell und Händler. In China gibts auch
superbillige für 2€ ohne Debugger.
GEKU schrieb:> Welche Unterstützung gibt es für die Entwicklung und> was kostet diese?
Die sind unter Hobby-Entwicklern sehr beliebt, daher gibt es eine Menge
Tutorials und freie Entwicklungs-Software (z.B. GCC), und mein
USB-Tutorial mit STM32.
GEKU schrieb:> Es können Daten wie USB Vendor ID (VID), Product ID(PID), und> diverse Beschreiber angepasst werden.
VID/PID alleine reichen nicht; man muss wenn schon alles anpassen
können.
GEKU schrieb:> Wenn diese Daten nicht ausreichend sind,ich kenne den Chip zu wenig
Abgesehen von den Deskriptoren muss ja auch das Protokoll stimmen. Der
IC wird die Daten auf eine bestimmte Art und Weise verpacken; die muss
keineswegs zu HID kompatibel sein. Das ist ja ein proprietäres
Protokoll; würde es sich um das Standard-USB-Seriell-Protokoll
USB-CDC-ACM handeln, ginge es jedenfalls nicht, weil dort alleine schon
der Endpoint-Typ abweicht (Bulk vs. Interrupt).
GEKU schrieb:> dann ist der Chip für diese Anwendung nicht brauchbar.
Es ist ziemlich unwahrscheinlich, dass ein IC, welcher explizit als
USB-Seriell-Adapter konzipiert ist, als USB-HID-Chip gebraucht werden
kann...
Guido Körber schrieb:> hmm schrieb:> Auf keinen Fall USB, sondern PS2.>> Umgekehrt…>> USB ist sauber spezifiziert und es gibt jede Menge ordentlichen> Beispielcode.>> PS/2 ist nicht dokumentiert, die Infrmationen darüber sind teilweise> über Reverse-Engineering abgeleitet und jeder Hersteller macht irgendwas> ein kleines Bisschen anders.
Unsinn.
PS/2 für Tastaturen ist gut dokumentiert.
Vlt. beginnt man ein solches Projekt in zwei Stufen/Ebenen:
a) die interne Logik (Num Lock, Caps Lock , FN- und Shift-Tasten,
LED-Steuerung, Tastencodes usw.) und die Anbindung an den PC
b) die Tasten-Elektrik, Mechanik, das Auslesen/Scannen
Und beide Ebenen in der Software deutlich und sauber getrennt.
Dann würde ich nämlich mit Teil A anfangen und als Eingabemedium z.B.
ein größeres Nextion-Display (Touchscreen) benutzen. Das will zwar auch
programmiert sein, man muss aber nicht 3D_Drucken, Löten, Bohren,
Schrauben etc.
Oder einen entsprechenden "Simulator" an einem anderen PC oder mittels
Arduino, ESP oder Raspi einsetzen.
Ich finde es schon Interessant, wie viele hier schon am Programmieren
(im Kopf) sind, obwohl das, aus meiner Sicht, größte Problem noch gar
nicht angegangen wurde.
Soll nämlich Deine Tastatur nicht 4 oder mehr Zentimeter hoch werden, so
wirst Du auf der 3-D-Druck-Seite größte Probleme bekommen. Dünne und
auch dennoch stabile Strukturen (die Tastenkappen), mit einem
3-D-Drucker, herzustellen ist nicht ganz ohne.
Aus meiner Sicht sieht das Ganze anders aus, wie in der vorhergehenden
Diskussion.
1. Die gesamte Elektronik ist Pipifax.
Ein Mikrokontroller, der den ganzen Tag über nichts zu tun hat ist
mit der Abfrage und Auswertung einer Matrix total unterfordert.
2. Für die meisten Mikrokontroller gibt es entweder fertige Blauzahn-
Module oder ready-to-use USB-Treiber, die einen Tasten-Arthur
simulieren.
3. Relativ teuer wird die "Riesen"-Platine.
4. Relativ teuer werden die vielen Tastenunterteile.
5. Recht aufwändig wird die Kopplung Taster->Kappe.
Die, es kann nicht schaden, relativ stabil sein soll und nicht
schon beim zweiten Hingucken bricht.
6. Das gesamte Gehäuse wird Dir wohl einen ganzen Sack voll grauer
Haare bescheren.
a) Eine relativ dünne Struktur, die auch noch stabil sein soll.
b) Eine halbwegs stabile Struktur, die nur so vor lauter Löchern
strotzt.
c) Alle mir bekannten 3-D-Drucker - vor allem die bezahlbaren -
können so große Teile überhaupt nicht drucken.
Wie bereits vorher angedeutet!
Eine kleine Zusatztastatur: Kein Problem.
Aber darüber hinaus solltest Du auf Spritzguss Maschinen und den
zugehörigen Formenbau Zugriff haben. Wenn nicht würde ich das Ganze
vergessen.
Ist aber ein recht interessantes Gedankenspiel.
Sebastian S. schrieb:> 2. Für die meisten Mikrokontroller gibt es entweder fertige Blauzahn-> Module oder ready-to-use USB-Treiber, die einen Tasten-Arthur> simulieren.
Das Argument zieht aber nur, wenn man nicht, wie im Titel angedeutet,
alles "komplett selber erstellt". Wenn man die komplette
USB-Implementation selbst macht, ist das auch ein gewisser Aufwand.
Frank E. schrieb:> Dann würde ich nämlich mit Teil A anfangen und als Eingabemedium z.B.> ein größeres Nextion-Display (Touchscreen) benutzen.
Da würde ich lieber mit einer Mini-Tastatur mit 5 Tasten anfangen und
die USB-Logik implementieren.
Nun - der Projekt ist soweit noch nicht 'tot' - Ich hatte einfach wenig
Zeit. Habe mir allerdings alles soweit durchgelesen und bin nun dabei
mir die Basics dahingehend genauer anzusehen :)