{"id":12020,"date":"2024-12-01T15:17:09","date_gmt":"2024-12-01T14:17:09","guid":{"rendered":"https:\/\/www.bastel-bastel.de\/blog\/?p=12020"},"modified":"2024-12-03T14:00:43","modified_gmt":"2024-12-03T13:00:43","slug":"jogis-flexibles-makropad","status":"publish","type":"post","link":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/2024\/12\/01\/jogis-flexibles-makropad\/","title":{"rendered":"Jogis flexibles Makropad"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"475\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m5-1024x475.jpeg\" alt=\"\" class=\"wp-image-12034\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m5-1024x475.jpeg 1024w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m5-300x139.jpeg 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m5-768x356.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m5-1536x712.jpeg 1536w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m5.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Wir basteln uns ein Makro-Pad mit Arduino und ein bisschen 3D-Druck!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tastaturen haben \u00fcblicherweise 102 &#8211; 104 Tasten, manche mehr, manche weniger.<br>F\u00fcr einige Anwendungen sind aber zus\u00e4tzliche, abgesetzte Kleintastaturen ganz n\u00fctzlich.<br>Beispielsweise ein Nummernblock, oder Tasten, mit denen man Makros abspielen lassen kann.<br><br>Mittlerweile kann man solche Teile aus Chinaland massenhaft kaufen. <br>Viel sch\u00f6ner ist es aber, wenn man sich so ein Teil selbst bastelt.<br>Dabei lernt man etwas und Spass macht es auch noch!<br>Das ist \u00fcbrigens ganz einfach.<br><br>Der Einstieg bei mir war schwierig, weil es so viele verschiedene Anleitungen und Versionen gibt, die oft unvollst\u00e4ndig waren, nat\u00fcrlich meistens auf englisch, oder als Youtube-Video mit dem Gesicht des Erschaffenden (ich will lieber das Projekt sehen!)<br>Deswegen gibt es hier meine ganz eigene Oldschool-Anleitung!<br>Schriftlich &#8211; Schritt f\u00fcr Schritt.<br>Viel Spass beim Lesen &#8211; oder gerne auch Nachbasteln!<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Welche Hardware?<\/strong><br><br>Die Hardwarefrage ist schnell gel\u00f6st.<br>Am g\u00fcnstigsten und auch am meisten verwendet, ist die Arduino-Plattform.<br>F\u00fcr unser Tastaturprojekt ben\u00f6tigen wir allerdings eine etwas erweitere Funktion, da der Basis-Arduino die Funktionen f\u00fcr eine Stand-Alone-Tastatur nicht mitbringt.<br><strong>Mindest-Version des Arduino ist der Leonardo. <\/strong><br>Irgendein kompatibler Clone geht nat\u00fcrlich auch.<br><br>Der unterst\u00fctzt die Verwendung als Tastatur und bringt alle Voraussetzungen f\u00fcr unser Projekt mit.<br>Allerdings ist das Ding mit den Abmessungen einer Kreditkarte viel zu gro\u00df!<\/p>\n\n\n\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg04.met.vgwort.de\/na\/9957edc4f796478db65d5b93de803f9b\" width=\"1\" height=\"1\" alt=\"\">\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ich nutze daher den Arduino Pro Micro mit 32u4-Chip.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m2-1024x553.jpeg\" alt=\"\" class=\"wp-image-12025\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m2-1024x553.jpeg 1024w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m2-300x162.jpeg 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m2-768x415.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m2-1536x829.jpeg 1536w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m2.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Der ist nur 35x19mm gro\u00df und damit kaum gr\u00f6\u00dfer als eine Briefmarke.<br>Die Stromversorgung l\u00e4uft \u00fcber den USB-Anschluss ebenso wie der Datentransfer an den PC (oder sonstige Ger\u00e4te).<br>Zus\u00e4tzlich ben\u00f6tigt man irgendwelche Taster. <br>Die m\u00fcssen einfach nur einen Schaltkreis schliessen.<br>Am flexibelsten sind MX-kompatible Taster, die auch in normalen mechanischen Tastaturen verbaut werden.<br>(Cherry MX oder irgendwelche von den hunderten Clonen aus Fernost)<br>Ich mag MX-Blue, die klackern so sch\u00f6n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Tasten gibt es ebenfalls in jedem besser sortierten Fachgesch\u00e4ft oder bei Aliexpress.<br><br>Schon ab einer Taste ist man dabei. <br>Ein BUZZER oder Notaus-Knopf?<br>6 Tasten in einer Reihe?<br>4&#215;4 Tasten als Block?<br>Wir sind flexibel, ich werde mehrere Entw\u00fcrfe basteln und vorstellen.<br>Das Projekt ist immer im Fluss! (Anmerkungen, Fragen und Fehlerkorrekturen sind gerne gesehen)<br><br>Das Geh\u00e4use erstellt man einfach im 3D-Druck.<br>F\u00fcr das erste Macropad mit einer Reihe von 6 Tastern habe ich hier mal ein Foto angeh\u00e4ngt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"879\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m1-1024x879.jpeg\" alt=\"\" class=\"wp-image-12021\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m1-1024x879.jpeg 1024w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m1-300x257.jpeg 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m1-768x659.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m1-1536x1318.jpeg 1536w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m1.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hier sind 3 Tasten fertig verl\u00f6tet und die R\u00fcckleitung geht schon \u00fcber alle 6 Tasten.<br><br>F\u00fcr einen Belegungsplan der Pins suchen wir im Web nach &#8222;arduino pro micro pinout&#8220;<br>Verwirrend ist, dass die verschiedenen Anleitungen verschiedene Anschl\u00fcsse verwenden.<br>Da muss man sich f\u00fcr eine entscheiden.<br><br>Es gibt Anleitungen mit Dioden und ohne, Verbindungen von Anschl\u00fcssen auf andere Anschl\u00fcsse, oder von Anschl\u00fcssen auf Masse. Anscheinend ist alles m\u00f6glich.<br>Warum dies und das genau so funktioniert, die Info ist aber nur m\u00fchsam zu finden.<br><br><br>Die Dioden ben\u00f6tigt man, wenn man mit Matrix arbeitet, also einer Verschaltung beispielsweise 3&#215;3 Schalter.<br>Sonst k\u00f6nnen die Str\u00f6me fehlgeleitet werden und falsche Impulse ausl\u00f6sen.<br>Mit einer Matrix ben\u00f6tigt man weniger Pins am Arduino (die sind ja auch nur begrenzt verf\u00fcgbar).<br>Man spart ein paar Kabel.<br>Allerdings braucht man eine Diode pro Taste und hat entsprechend mehr L\u00f6tarbeit.<br><br>Die Schaltung auf Masse ist wohl die einfachste, aber weil ich &#8222;in einem System&#8220; bleiben will, habe ich mich f\u00fcr die Verwendung eines Aus-\/Eingangs entschieden.<br><br><strong>Matrix?<\/strong><br>Man kann die Taster so verschalten, dass alle auf einen Ausgang gehen, dann braucht man pro Taster einen Eingang. <br>Mit einer Matrix kann man die Taster in Reihen und Spalten verschalten. Ab einer gewissen Menge an Tasten ist das effizienter, ausserdem hat der Arduino nur eine begrenzte Anzahl Anschl\u00fcsse.<br><br>Damit der Strom aber in einer Matrix nicht den falschen Weg nimmt, muss man pro Taster zus\u00e4tzlich eine Diode einbauen, quasi als &#8222;T\u00fcrsteher&#8220;.<br><br>Bei EINEM Taster schliesst man den nat\u00fcrlich direkt an.<br><br>Ab 4 Tastern kann man dann mit einer 2&#215;2-Matrix arbeiten.<br>Normal verschaltet hat man 4 Eing\u00e4nge und 1 Ausgang, braucht also 5 Anschl\u00fcsse.<br>Bei der 2&#215;2 Matrix 2 Reihen, 2 Spalten, also 4 Anschl\u00fcsse &#8211; schon einen gespart!<br>Aber zus\u00e4tzlich muss man noch 4 Dioden einbauen.<br><br>Mein 6-Tasten-Makropad ben\u00f6tigt 6 Eing\u00e4nge und 1 Ausgang, also 7 Anschl\u00fcsse am Arduino.<br>Mit Matrix w\u00e4re das als 2&#215;3 m\u00f6glich, braucht also nur 6  Anschl\u00fcsse, daf\u00fcr aber zus\u00e4tzlich 6 Dioden.<br>Hier lohnt sich der Mehraufwand noch nicht.<br><br>Mit 9 Tasten braucht man schon 10 Anschl\u00fcsse,  mit einer Matrix nur 9. Grenzwertig.<br>Ab 16 Tasten, bei einem 4&#215;4-Feld geht das dann nur noch mit einer Matrix.<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Welche Software?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die einfachste Software ist einfach die vom Arduino-Projekt selbst.<br>Mit ein paar Zeilen Code kann man eine fertige Tastatur basteln.<br>Eine alternative und viel m\u00e4chtigere Software ist das QMK-Projekt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Freie Software, f\u00fcr alle Betriebssysteme verf\u00fcgbar und mit unendlich vielen Funktionen, speziell f\u00fcr Tastaturen (und andere Eingabeger\u00e4te) &#8211; genau das, was wir brauchen.<br><br>Oversized? Wer bei 1-4 Tasten bleibt, kommt mit Arduino-Basics aus.<br>Aber wir fangen gleich richtig an. <br>Der Einstieg ist etwas schwieriger, aber die M\u00f6glichkeiten sind viel m\u00e4chtiger!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>QMK<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">QMK ist eine freie und quelloffene Software<br>Es gibt mittlerweile Hersteller &#8222;normaler&#8220; Tastaturen, die QMK unterst\u00fctzen.<br>F\u00fcr Makropads funktioniert die Software hervorragend.<br>Es werden sehr viele Microprozessoren unterst\u00fctzt. Uns interessiert aktuell aber nur der Arduino Pro Micro.<br>Mit der Suche nach &#8222;keyboard qmk&#8220; finden wir die Webseite der &#8222;QMK Firmware&#8220;<br>(Ich verlinke nicht gerne, weil Links schnell veralten, man manchmal f\u00fcr Links haftet und weil ein bisschen Eigeninitiative nie schadet)<br>Auf der Webseite qmk.fm (aktuell am 1.12.2024) finden wir einige Infos und auch die ben\u00f6tigte Software.<br>Es gibt einen QMK Configurator, mit dem man online Tastaturenlayouts basteln kann.<br>Das ist etwas un\u00fcbersichtlich und bringt uns aktuell nicht viel.<br><br>Interessant ist vor allem der Keycode Overview mit einer Auflistung aller Tastencodes, die man verwenden kann. (Z.B. KC_A f\u00fcr den Buchstaben a)<br><br>Als allererstes installieren wir uns die Software lokal. Daf\u00fcr gehen wir auf die Seite &#8222;getting startet&#8220;.<br>Wir laden uns das QMK MSYS herunter und starten es.<br>Es erscheint ein Fenster \u00e4hnlich einer Kommandozeile. Das ist das Eingabefenster von QMK.<br>Dort schreiben wir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>qmk setup<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die meisten Fragen beantworten wir mit JA \/ YES<br><br>N\u00f6tig, oder unn\u00f6tig, es steht so in der Anleitung: im n\u00e4chsten Schritt kopieren wir die vorhandenen Tastaturenlayouts aus dem Web und wechseln in das Verzeichnis der Tastaturen.<br>(\u00fcbrigens &#8211; im Zweifel einfach mit der Original-Anleitung abgleichen. Vielleicht hat sich ja zwischenzeitlich was ge\u00e4ndert?)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/qmk\/qmk_firmware.git\ncd qmk_firmware<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unter Windows (ja, ich hab mal nicht mit Linux gearbeitet, sondern mit einem alten Bastelrechner) liegt das System unter c:\\QMK_MSYS, die Tastaturen unter Deinem Benutzerverzeichnis, bei mir also unter C:\\Users\\jochen\\qmk_firmware\\keyboards<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Funktionstest:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>qmk compile -kb clueboard\/66\/rev3 -km default\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wir kompilieren einfach irgendeine der Tastaturen, obiges Beispiel ist von der offiziellen Webseite.<br>Wenn wir alles richtig installiert haben, sollte das so funktionieren.<br>Dann k\u00f6nnen wir loslegen!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir geben ein (wir befinden uns immer noch im Fenster von QMK!):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>qmk new-keyboard<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Damit erstellen wir eine komplett neue Tastatur!<br><br>Als erstes werden wir nach einem Namen der Tastatur gefragt.<br>Ich hab mein Projekt 00test genannt &#8211; das 00 deswegen, weil es damit in der Tastaturliste ganz oben steht und sp\u00e4ter leichter zu finden ist! Jeder andere Name geht nat\u00fcrlich auch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als n\u00e4chstes m\u00fcssen wir unseren Github Usernamen eingeben &#8211; wenn wir den nicht haben, m\u00fcssen wir uns evtl. erst bei Github registrieren. Fake-Name habe ich nicht ausprobiert, aber GITHUB ist sowieso n\u00fctzlich, also kann man sich da ruhig anmelden. Als Real-Name dann den korrekten Namen oder ja, Ihr wisst schon \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im n\u00e4chsten Schritt m\u00fcssen wir das gew\u00fcnschte Layout angeben. <br>Die korrekte Nummer aus der Liste kann ich Euch nicht sagen, weil es immer mehr werden &#8211; beim Schreiben dieses Blogs war es 65 &#8211; NONE OF THE ABOVE, also KEINE &#8211; wir basteln ja ein eigenes Layout!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using a Development Board? Noe, wir l\u00f6ten direkt am Arduino \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als n\u00e4chstes m\u00fcssen wir den verwendeten Prozessor ausw\u00e4hlen &#8211; ganz wichtig!<br>Auch hier k\u00f6nnen sich die Nummern verschieben. Wir suchen den <strong>atmega32u4<\/strong>, das ist unser Arduino Pro Micro<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Danach ist das Keyboard-Verzeichnis fertig angelegt, jetzt kommt die Handarbeit!<br>Da mein Projekt 00test heisst, finden wir das Verzeichnis unter keyboards\\00test<br><br>Damit das Kompilieren nachher auch funktioniert, m\u00fcssen wir noch eine rules.mk-Datei erstellen.<br>Wird in den meisten Anleitungen nicht erw\u00e4hnt. <br>Also im Verzeichnis unter keyboards\\00test eine Datei rules.mk anlegen mit dem Inhalt<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DEFAULT_FOLDER = 00test<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Damit ist klar, wo unsere Projekt liegt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Verzeichnis gibt es eine Datei keyboard.json, die m\u00fcssen wir etwas ver\u00e4ndern.<br>Der Bootloader steht vermutlich auf atmel-dfu, den m\u00fcssen wir auf caterina \u00e4ndern (das ist einfach der Name f\u00fcr unseren Prozessor, hat sich irgendwer so ausgedacht)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei den Matrix_Pins m\u00fcssen wir ebenfalls was \u00e4ndern:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    \"matrix_pins\": {\n         \"cols\": &#91;\"C6\", \"D7\", \"E6\", \"B3\", \"B2\", \"B6\"],\n         \"rows\": &#91;\"D4\"]\n    },<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das sind einfach nur die Anschluss-Pins am Arduino Pro Micro.<br>L\u00e4stigerweise sind die Pins mehrfach belegbar und die Aufschriften stimmen nicht mit den Angaben in der Software \u00fcberein.<br>In diesem Projekt habe ich die Werte einfach von anderen Projekten \u00fcbernommen.<br>Der Anschluss f\u00fcr die &#8222;gemeinsame&#8220; Datenleitung ist der Pin D4 (ROW) &#8211; nur eine Reihe!<br>Auf dem Foto oben ist das der Pin mit der Bezeichnung 4!<br>Man k\u00f6nnte auch 3 Zeilen und 2 Spalten machen, aber dann muss man anders verkabeln und ben\u00f6tigt die angesprochenen Dioden. F\u00fcr unser kleines Projekt ist es so einfacher.<br>Diese Leitung wird von Schalter zu Schalter durchverbunden. Im Foto die blaue Leitung:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-1024x490.jpeg\" alt=\"\" class=\"wp-image-12026\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-1024x490.jpeg 1024w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-300x143.jpeg 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-768x367.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-1536x734.jpeg 1536w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Also l\u00f6ten wir eine Leitung von Pin 4 an jeweils einen Pin an jeden Schalter.<br>Welche Seite wir nehmen, ist egal, sch\u00f6n ist es, wenn man immer die gleiche Seite nimmt \ud83d\ude42<br>Beim L\u00f6ten aufpassen &#8211; ich hab mit dem L\u00f6tkolben gleich mal das Geh\u00e4use angeschmolzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei der Zeile brauchen wir dann 6 Anschl\u00fcsse (cols).<br>Die Werte entsprechen folgenden Pins auf dem Foto des Arduino Pro Micro:<br>C6 = 5, D7 = 6, E6 = 7 &#8211; ziemlich verwirrend. <br>F\u00fcr D7 gibt es beispielsweise die Bezeichnung 6 (das Aufgedruckte), oder A7, oder 27 &#8211; da blickt ja niemand durch.<br>Um einfacher l\u00f6ten zu k\u00f6nnen, habe ich die anderen 3 Schalter einfach auf der anderen Seite angel\u00f6tet:<br>B3 = 14, B2=16, B6=10 &#8211; selbst die Reihenfolge auf dem Board ist durcheinander.<br>Da darf man sich nicht zu viele Gedanken machen. Hauptsache, die Zuordnung stimmt.<br>Wie man sieht, gibt es noch viel mehr Anschlussm\u00f6glichkeiten.<br>F\u00fcr unsere 6 Taster reicht das erst einmal.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"1024\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m4-771x1024.jpeg\" alt=\"\" class=\"wp-image-12028\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m4-771x1024.jpeg 771w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m4-226x300.jpeg 226w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m4-768x1020.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m4-1157x1536.jpeg 1157w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m4.jpeg 1205w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die Datei keyboard.json und rules.mk sind fertig.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Kompilieren gab es noch Fehler, ich musste noch das Verzeichnis base anlegen (&#8211;\\00test\\base) und da noch eine keyboard.json einbauen, die ich von einem anderen Projekt kopiert habe.<br>Der Inhalt dieser keyboard.json im base-Verzeichnis &#8211; nicht verwechseln mit der im Projektverzeichnis:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"keyboard_name\": \"00test\",\n    \"usb\": {\n        \"pid\": \"0x0060\"\n    },\n    \"indicators\": {\n        \"caps_lock\": \"B6\"\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unter keymaps &#8211; default (keyboards\\00test\\keymaps\\default) gibt es die Datei keymap.c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dort werden f\u00fcr unsere Tasten festgelegt, was an den Computer gesendet werden soll, wenn wir die Taste dr\u00fccken.<br>Da wir nur eine Zeile haben, ist das recht einfach. Wir listen einfach die 6 Tastencodes nacheinander auf.<br>(Die Keycodes gibts auf der qmk-Webseite: <a href=\"https:\/\/docs.qmk.fm\/keycodes\">https:\/\/docs.qmk.fm\/keycodes<\/a>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Copyright 2023 QMK\n\/\/ SPDX-License-Identifier: GPL-2.0-or-later\n\n#include QMK_KEYBOARD_H\n\nconst uint16_t PROGMEM keymaps&#91;]&#91;MATRIX_ROWS]&#91;MATRIX_COLS] = {\n    &#91;0] = LAYOUT(\n        KC_A, KC_B, KC_C, KC_D, KC_F13, KC_F14\n    )\n};\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe einfach mal mit abcd angefangen, am Ende etwas mutiger mit den Sondertasten F13 und F14.<br>Sp\u00e4ter will ich dann auf F13 &#8211; F18 umsteigen. Die gibt es auf den meisten Tastaturen nicht und daher kann man die gut nutzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fertig!<br>Jetzt k\u00f6nnen wir die Firmware f\u00fcr unsere Tastatur kompilieren.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>qmk compile -kb 00test -km default<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Das 00test ist der Name unserer Tastatur, der Rest ist Standard (da gibt es nat\u00fcrlich sp\u00e4ter viel mehr M\u00f6glichkeiten.<br>Auf meinem Uralt-Bastel-PC hat das \u00fcbrigens ewig gedauert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"564\" height=\"126\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/kompilierung.png\" alt=\"\" class=\"wp-image-12030\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/kompilierung.png 564w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/kompilierung-300x67.png 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Irgendwann sollte dann so eine Meldung kommen &#8211; The firmware size is fine.<br>3 Zeilen weiter oben steht der Name der Firmware, der ist wichtig!<br>In unserem Fall 00test_default.hex.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>FLASHEN!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist schon die halbe Miete, jetzt m\u00fcssen wir den Arduino Pro Micro nur noch flashen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Falls noch nicht gemacht, gehen wir wieder auf die QMK-Webseite und laden uns die QMK-Toolbox herunter.<br>Toolbox installieren und starten. Beim ersten Start will die Software Treiber installieren. Dazu m\u00fcssen wir das Programm mit Admin-Rechten starten (Rechte Maustaste &#8211; Als Administrator ausf\u00fchren)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"512\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/qmk-toolbox.png\" alt=\"\" class=\"wp-image-12031\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/qmk-toolbox.png 958w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/qmk-toolbox-300x160.png 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/qmk-toolbox-768x410.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wir klicken auf Open und laden die Firmwaredatei, die wir gerade erzeugt haben.<br>Die liegt unter c:\\users\\Benutzername\\qmk_firmware\\.build, f\u00fcr Benutzername setzt Du Deinen Username ein.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcbrigens &#8211; wenn Du Deinen Arduino genau so belegt hast, wie ich und wenn Du mit den Tasten F13 bis F18 zufrieden bist, dann kannst du einfach mein fertiges Flashfile nehmen und musst Dir keine eigene basteln:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/00test_default.zip\"><strong>Jogis Flash f\u00fcr 1&#215;6-Makrotastatur mit F13 bis F18<\/strong><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(Download-Link von meinem Server, aber wie immer auf eigenes Risiko)<br><br><strong>Jetzt sind wir bereit, den Arduino Pro Micro mit QMK zu flashen &#8211; Trommelwirbel&#8230;!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir stecken den Arduino an und theoretisch sollte er sofort als USB Ger\u00e4t erkannt werden.<br>Um zu flashen, muss man die beiden Ports RST (Reset) und GND (Ground) verbinden, die sind direkt nebeneinander.<br>Dazu geht ein kleines St\u00fcck Kabel, ein Schraubenzieher, usw.<br>Aufpassen -das Flashen geht ratzfatz, hier der Screenshot vom Ablauf &#8211; keine 5 Sekunden:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"906\" height=\"659\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/flash_it.png\" alt=\"\" class=\"wp-image-12032\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/flash_it.png 906w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/flash_it-300x218.png 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/flash_it-768x559.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jetzt ist die Kiste bereit!<\/strong><br><br>Wir starten den integrierten KEY-Tester in der QMK-Toolbox und hoffen, dass beim Verbinden der Anschl\u00fcsse eine Tasteneingabe registriert wird.<br>Also ein Kabel von 5 nach 4 gesteckt, sollte den Buchstaben A anzeigen, usw.<br><br><strong>Drucken, L\u00f6ten, Fertig!<\/strong><br><br>Jetzt m\u00fcssen wir nur noch ein kleines Geh\u00e4use basteln.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daf\u00fcr gibt es ja idealerweise den 3D-Druck.<br>Ich hab da auch schon mal was vorbereitet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/makerworld.com\/en\/models\/839302#profileId-785140\">Meine Druckdatei f\u00fcr 3D-Drucker gibt es bei Makerworld. Einfach hier draufklicken.<\/a><br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da die Tasten von vorne gesteckt, aber von hinten gel\u00f6tet werden, muss man die Tasten zuerst in das Geh\u00e4use stecken. Dabei darauf achten, dass alle gleich ausgerichtet sind (siehe Foto)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-1024x490.jpeg\" alt=\"\" class=\"wp-image-12026\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-1024x490.jpeg 1024w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-300x143.jpeg 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-768x367.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3-1536x734.jpeg 1536w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m3.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dann die eine Seite durchgehend mit dem Eingang verbinden (Erdung, gemeinsamer Pol, egal wie Ihr das nennt) und in unserem Beispiel mit Pin 4 verl\u00f6ten.<br>Die anderen Pins der Schalter wie oben angelegt mit den entsprechenden Ausg\u00e4ngen am Arduino verl\u00f6ten.<br>Wenn alles fertig ist, kann man einen kleinen Funktionstest machen.<br>Funktionieren alle Tasten?<br>Dann Geh\u00e4use schliessen, Makropad einstecken und fertig!<br><br>Das Zusammenstecken ist der Kabel wegen etwas umst\u00e4ndlich. <br>Deckel und Zwischenteil zusammenstecken, dann alle Kabel sorgf\u00e4ltig in das Zwischenteil dr\u00fccken, so dass nur noch der Arduino etwas raush\u00e4ngt. <br>Unterteil schr\u00e4g ansetzen und Arduino so reinstecken, dass der USB-Anschluss rausschaut.<br>Idealerweise noch ein St\u00fcck doppelseitiges Klebeband zur Fixierung verwenden.<br>Dann vorsichtig zuklappen, aufpassen, dass man keine Kabel einklemmt.<br>Alles korrekt zusammegesteckt?<br>Der Druck sollte leicht einrasten und nicht ausseinanderfallen. Es sollte nichts wackeln.<br>Wer will kann das Zwischenteil auch mit etwas Klebstoff am Oberteil befestigen.<br>Komplett zukleben w\u00fcrde ich es aber nicht, damit man f\u00fcr Wartungsarbeiten noch dran kommt.<br>Will man QMK mit anderen Tastencodes flashen, muss man an die obengenannten Pins drankommen.<br><br>Wie gesagt &#8211; vorsichtig zusammenstecken, dann ist man auch schon fertig.<br><br><br>Die M\u00f6glichkeiten sind unendlich &#8211; Maus-Simulator, Joystick-Simulator, Tastatur, Einzeltaste, Makropad.<br>Der Fantasie sind keine Grenzen gesetzt!<br><br><strong>Viel Spass!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich \u00fcbernehme \u00fcbrigens keine Haftung!<br>Nach obiger Anleitung habe ich nebenher selbst noch ein Makropad zusammengebastelt, es sollte also funktionieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00dcbrigens<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Aufwand, selbst f\u00fcr so einen kleinen Blog-Beitrag und so ein kleines Bastel-Dingens ist enorm.<br>Hier das fertige Makropad zusammen mit den Testdrucken, die dann doch irgendwie nicht gepasst haben.<br>Sieht einfach aus, braucht aber doch ein wenig Aufwand.<br>W\u00fcrde mich daher freuen, wenn Euch der Beitrag gef\u00e4llt \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" src=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m8-1024x771.jpeg\" alt=\"\" class=\"wp-image-12046\" srcset=\"https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m8-1024x771.jpeg 1024w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m8-300x226.jpeg 300w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m8-768x578.jpeg 768w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m8-1536x1157.jpeg 1536w, https:\/\/www.bastel-bastel.de\/blog\/wp-content\/uploads\/2024\/12\/m8.jpeg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Wir basteln uns ein Makro-Pad mit Arduino und ein bisschen 3D-Druck! Tastaturen haben \u00fcblicherweise 102 &#8211; 104 Tasten, manche mehr,<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"0","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,4],"tags":[],"class_list":["post-12020","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-edv"],"_links":{"self":[{"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/posts\/12020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=12020"}],"version-history":[{"count":2,"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/posts\/12020\/revisions"}],"predecessor-version":[{"id":12051,"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/posts\/12020\/revisions\/12051"}],"wp:attachment":[{"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=12020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=12020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bastel-bastel.de\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=12020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}