Arduino 简明教程

Arduino - Keyboard Serial

此示例侦听来自串行端口的字节。收到后,电路板会向计算机发送回一个击键。发送的击键比接收到的击键高一个,因此,如果您从串行监视器中发送一个“a”,您将从连接到计算机的电路板接收到一个“b”。“1”将返回“2”,依此类推。

Warning − 当您使用 Keyboard.print() 命令时,Leonardo、Micro 或 Due 电路板将接管您计算机的键盘。为了确保在使用此功能运行草图时不会失去对计算机的控制,在调用 Keyboard.print() 之前设置一个可靠的控制系统。此草图设计为只在电路板通过串行端口接收到一个字节后才发送键盘命令。

Components Required

您将需要以下组件:

  1. 1 × Arduino Leonardo、Micro 或 Due 电路板

Procedure

只需使用 USB 线将电路板连接到计算机即可。

keyboard serial breadboard

Sketch

在计算机上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。单击“新建”以新建一个草图文件。

sketch

Notes − 您必须在 Arduino 库文件中包含键盘库。将键盘库文件复制并粘贴到文件内,其中名为“libraries”的文件以黄色突出显示。

arduino library file

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

Code to Note

编程后,打开串行监视器并发送一个字节。该电路板将用击键进行回复,该击键高一个数字。

Result

当您发送一个字节时,该电路板将用一个比 Arduino IDE 串行监视器高一个数字的击键进行回复。