Arduino - 键盘串口
此示例侦听来自串行端口的字节。收到后,电路板会将击键发送回计算机。发送的按键比接收的按键高一个,因此如果从串行监视器发送 a
,你将从连接到计算机的板上收到 b
。 1
将返回 2
,依此类推。
警告 - 使用 Keyboard.print()
命令时,Leonardo,Micro 或 Due 板接管计算机的键盘。为确保在使用此功能运行草图时不会失去对计算机的控制,请在调用 Keyboard.print()
之前设置可靠的控制系统。此草图设计为仅在电路板通过串行端口接收到字节后发送键盘命令。
需要的组件
你将需要以下组件 -
- 1×Arduino Leonardo,Micro 或 Due board
程序
只需使用 USB 线将电路板连接到电脑即可。
草图
在你的计算机上打开 Arduino IDE 软件。用 Arduino 语言编码将控制你的电路。单击“新建”打开新的草图文件。
注 - 你必须在 Arduino 库文件中包含键盘库。将键盘库文件复制并粘贴到文件中,并以黄色突出显示名称 libraries
。
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);
}
}
代码注意
编程后,打开串行监视器并发送一个字节。Arduino 板将通过击键回复,这是一个更高的数字。
结果
当你发送一个字节时,电路板将在 Arduino IDE 串行监视器上以一个更高的键击响应。