Hallo Elektroniker,
ich möchte einen Arduino Lenardo verwenden, um Zeichen, die es auch auf
der Tastatur gibt, mit Tastern einzulesen.
Dafür habe ich die Library
#include "Keyboard.h"
inkludiert.
und verwende den Befehl:
Keyboard.press('}');
,um eine geschweifte Klammer zu zu machen.
Leider funktionierte das nicht (ich erhielt: *), woraufhin ich in der
Ascii Tabelle folgende Hex Zahl gefunden habe. Dafür verwendete ich
folgenden Befehl:
Keyboard.write(7D,HEX);
Leider ohne Erfolg.
Was für eine Ascii Tabelle verwendet denn nun der Arduino bzw. wie
erhalte ich die richtigen Sonderzeichen. Kann mir bitte, wenn möglich
jemand den dazu passenden Befehl geben?
LG Alex
Tastaturen liefern keine ASCII Codes sondern Key-Codes. Diese Key-Codes werden dann vom Betriebssystem unter Verwendung der Tastatur-Einstellung z.B. für deutsche oder amerikanische Tastaturbelegungen umgesetzt und irgendwann kommt "ASCII-Code" (bzw. heute eher Unicode) raus. Unter https://www.usb.org/hid findest du die Details der Codes. Die Arduino Lib unterstützt offiziell nur die amerikanische Tastaturbelegung. Wenn du bei Dir eine deutsche Tastatur eingestellt hast, musst du die entsprechenden anderen Codes heraussuchen.
Es gibt nur eine ASCII-Tabelle - weil ASCII ein Standard ist - und Hexadezimalzahlen schreibt man nicht als 7D hin, sondern als 0x7D. Und dann kannst du noch überlegen, ob eine Tastatur tatsächlich ASCII-Codes ausgibt oder doch eher Tastennummern (eine deutsche Tastatur unterscheidet sich von einer russischen oder britischen Tastatur nicht). Wie du die Tastennummern dann zu Zeichen machst, ist eine Frage der Tastaturbelegung. Kurz: Lerne erstmal, zwischen Zahlen, Zeichen und Tasten zu unterscheiden.
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.