Arduino - 键盘串行

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

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

所需组件

您将需要以下组件 −

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

步骤

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

键盘串行面包板

草图

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

Sketch

注释 − 您必须将键盘库包含在 Arduino 库文件中。将键盘库文件复制并粘贴到文件中,名称为"libraries"并以黄色突出显示。

Arduino 库文件

Arduino 代码

/*
键盘测试 对于 Arduino Leonardo、Micro 或 Due,从串行端口读取一个字节,然后发回一个击键。
发送的击键比收到的击键高一个,例如,如果您发送 a,您将得到 b,发送 A,您将得到 B,依此类推。
电路:
* none
*/

#include "Keyboard.h"

void setup() {
    // 打开串行端口:
    Serial.begin(9600);
    // 初始化对键盘的控制:
    Keyboard.begin();
}

void loop() {
    // 检查传入的串行数据:
    if (Serial.available() > 0) {
        // 读取传入的串行数据:
        char inChar = Serial.read();
        // 从收到的数据中输入下一个 ASCII 值:
        Keyboard.write(inChar + 1);
    }
}

需要注意的代码

编程完成后,打开串行监视器并发送一个字节。电路板将回复一个比其大一个数字的按键。

结果

当您发送一个字节时,电路板将回复一个比 Arduino IDE 串行监视器上大一个数字的按键。