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 ...
:
Bearbeitet durch User
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.
Würde ein 'Übergang' zu einem Arduino in so einem Fall nicht für eine Verzögerung sorgen? einen normalen Arduino habe ich sogar noch
Für den AVR gibt es auch eine Applikation. AVR313 AN_1235AVR313 https://www.microchip.com/sitesearch/search/Application%20Notes/avr313?&mns=avr313&mnc=All
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.
:
Bearbeitet durch User
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.
Guido Körber schrieb: > Wir sind grad dran den KeyWarrior100 zu entwickeln Das ist doch schon mal 'ne Aussage.
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 Wireshark https://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=Yes http://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.
GEKU schrieb: > MC und Entwicklungstools Nachtrag: https://www.mouser.at/ProductDetail/Texas-Instruments/MSP-EXP430F5529LP?qs=sGAEpiMZZMu3sxpa5v1qrn4ianIM%252Bsa1wyczib6U2Ug%3D Das wäre das geeignete Entwiclungsboard um 13€ . Dieses Board und die Tastenmtrix reichen für den Prototyp!
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?
Wie zu erwarten war, bist du nicht der erste, der solch ein Projekt angehen möchte. Ein, wie ich finde, guter Einstieg ist hier zu finden: https://matt3o.com/book/ Fertige Firmware für AVR und STM32 Controller gibt es z. B. hier: https://github.com/tmk/tmk_keyboard Interessante Foren für Selberbauer: https://geekhack.org/index.php?board=117.0 https://deskthority.net/ Und das recht umfangreiche Deskthority-Wiki: https://deskthority.net/wiki/Main_Page Teile, z. B. Tastenkappen oder Schalter, bekommt man z. B. auf (mass)drop Viel Spaß beim Bauen!
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.
Ihr könnt aufhören der TO hat sich schon lange nicht mehr gemeldet. Ist wahrscheinlich doch keine Lötübung für einen Anfänger.
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.
:
Bearbeitet durch User
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 :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.