4×4 Simple Keypad
Posted by YNWIC7KFYi at Februar 7th, 2022
Es war so um das Jahr 2017 rum als ich feststellte, dass diese kleinen 4×4 Matrix Tastaturen, die man überall auf Ebay oder anderen Chinesisch Quellen nachgeworfen bekommt, wunderbar mit der der Pinbelegung des Arduino Pro Micro passt.
Gleich mal eine Hand voll von beiden bestellt.
Ja die Tastaturen kommen leider mit Pinheadern, falsch herum, aber die kann man ja auch wieder entfernen.
Da die Tastatur nur auf einer Seite Lötbar ist, also zuerst die Pinheader auf der Rückseite wieder einlöten. So dass sie vorne nicht herausschauen. Dann die 8 Pins in die Kontakte 2 bis 9 des pro Micro stecken und mit etwas abstand verlöten.
Den Abstand habe ich so gewählt, dass der Micro USB Port des Arduino auf gleichem Level ist, wie die Platine der Tastatur.
Dazu habe ich aus 3mm Acryl das Gehäuse mit dem CNC Laser geschnitten. 4 Lagen zusammengeklebt und fertig ist der Gewinner von „Nicht schön aber ungeheuer praktisch“.
50 x 77 x 12mm ohne Nippel.
Gut, wir haben dem Kleinen noch nicht gesagt was er tun soll und dafür gibt es sehr viele Anwendungsmöglichkeiten.
Dafür habe ich aber auch gleich mehrere gebaut.
Bsp.:
- Tastenmacros von aufwändiger Software wie Photoshop
- Cheatcodes für Spiele
- 800 Mausklicks in einer Minute, hier ein Tastendruck
- ein Passwortgenerator
- häufig genutzte Telefonnummern und Adressen
- usw.
Für die Umsetzung habe ich die Librarys Keypad.h, Keyboard.h und für die Mausklicks die Mouse.h verwendet. Mehr also den Beispielcode habe ich auch kaum benötigt.
Gibt es Haken? Klar, irgendwas ist ja immer.
Die emulierte Tastatur ist Englisch. Also auch das Layout. Ganz nervig. Z zu Y und so weiter, siehe das Beispiel.
if (customKey == '6') { Keyboard.println("04129 Leipyig"); }
Sollte man Modifiertasten verwenden wollen, ist man auf OSX, Win oder Linux festgelegt für die die Tastatur den Moment vorgesehen ist, sonnst geht sowas hier nicht:
if (customKey == 'D') { Keyboard.press(KEY_LEFT_GUI);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('v');
Keyboard.releaseAll(); }
Also ein paar Beschränkungen die man im Hinterkopf behalten sollte, dann geht alles klar.
Anbei ein kleines Demoskript um die Fähigkeiten des verbauten Arduino zu zeigen.
http://www.hjhac.com/wp-content/uploads/2022/12/MatrixTastatur4x4Demo.ino_.zip