Arduino - Tastatur seriell
In diesem Beispiel wird auf ein Byte gewartet, das von der seriellen Schnittstelle stammt. Bei Empfang sendet die Karte einen Tastenanschlag zurück an den Computer. Der gesendete Tastenanschlag ist eins höher als der empfangene. Wenn Sie also ein "a" vom seriellen Monitor senden, erhalten Sie ein "b" von der an den Computer angeschlossenen Karte. Eine "1" gibt eine "2" zurück und so weiter.
Warning - Wenn Sie die Keyboard.print()Befehl übernimmt das Leonardo, Micro oder Due Board die Tastatur Ihres Computers. Richten Sie ein zuverlässiges Steuerungssystem ein, bevor Sie Keyboard.print () aufrufen, um sicherzustellen, dass Sie beim Ausführen einer Skizze mit dieser Funktion nicht die Kontrolle über Ihren Computer verlieren. Diese Skizze soll nur einen Tastaturbefehl senden, nachdem die Karte ein Byte über die serielle Schnittstelle empfangen hat.
Erforderliche Komponenten
Sie benötigen folgende Komponenten:
- 1 × Arduino Leonardo, Micro oder Due Board
Verfahren
Schließen Sie Ihr Board einfach mit einem USB-Kabel an den Computer an.
Skizzieren
Öffnen Sie die Arduino IDE-Software auf Ihrem Computer. Die Codierung in der Arduino-Sprache steuert Ihre Schaltung. Öffnen Sie eine neue Skizzendatei, indem Sie auf Neu klicken.
Notes- Sie müssen die Tastaturbibliothek in Ihre Arduino-Bibliotheksdatei aufnehmen. Kopieren Sie die Tastaturbibliotheksdatei und fügen Sie sie in die Datei ein, wobei der Name 'Bibliotheken' gelb hervorgehoben ist.
Arduino Code
/*
Keyboard test
For the Arduino Leonardo, Micro or Due Reads
a byte from the serial port, sends a keystroke back.
The sent keystroke is one higher than what's received, e.g. if you send a, you get b, send
A you get B, and so forth.
The circuit:
* none
*/
#include "Keyboard.h"
void setup() {
// open the serial port:
Serial.begin(9600);
// initialize control over the keyboard:
Keyboard.begin();
}
void loop() {
// check for incoming serial data:
if (Serial.available() > 0) {
// read incoming serial data:
char inChar = Serial.read();
// Type the next ASCII value from what you received:
Keyboard.write(inChar + 1);
}
}
Zu beachtender Code
Öffnen Sie nach der Programmierung Ihren seriellen Monitor und senden Sie ein Byte. Das Board antwortet mit einem Tastendruck, der eine Nummer höher ist.
Ergebnis
Die Karte antwortet mit einem Tastendruck, der auf dem seriellen Arduino IDE-Monitor eine Nummer höher ist, wenn Sie ein Byte senden.