Arduino - klawiatura szeregowa

Ten przykład nasłuchuje bajtu pochodzącego z portu szeregowego. Po otrzymaniu płyta odsyła naciśnięcie klawisza z powrotem do komputera. Wysłane naciśnięcie klawisza jest o jeden wyższe niż odebrane, więc jeśli wyślesz „a” z monitora szeregowego, otrzymasz literę „b” z płytki podłączonej do komputera. „1” zwróci „2” i tak dalej.

Warning - Kiedy używasz Keyboard.print()polecenie, płyta Leonardo, Micro lub Due przejmuje klawiaturę komputera. Aby mieć pewność, że nie stracisz kontroli nad komputerem podczas wykonywania szkicu z tą funkcją, skonfiguruj niezawodny system sterowania przed wywołaniem Keyboard.print (). Ten szkic ma na celu wysłanie polecenia klawiatury tylko po tym, jak płytka otrzyma bajt przez port szeregowy.

Wymagane składniki

Będziesz potrzebował następujących komponentów -

  • 1 × płyta Arduino Leonardo, Micro lub Due

Procedura

Wystarczy podłączyć płytkę do komputera za pomocą kabla USB.

Naszkicować

Otwórz oprogramowanie Arduino IDE na swoim komputerze. Kodowanie w języku Arduino będzie sterować twoim obwodem. Otwórz nowy plik szkicu, klikając Nowy.

Notes- Musisz dołączyć bibliotekę klawiatury do pliku biblioteki Arduino. Skopiuj i wklej plik biblioteki klawiatury do pliku z nazwą „biblioteki” podświetloną na żółto.

Kod Arduino

/*
   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);
   }
}

Kod do uwagi

Po zaprogramowaniu otwórz monitor szeregowy i wyślij bajt. Tablica odpowie naciśnięciem klawisza, czyli o jeden numer wyżej.

Wynik

Płytka odpowie naciśnięciem klawisza, który jest o jeden numer wyższy na monitorze szeregowym Arduino IDE, gdy wyślesz bajt.