本示例侦听来自串行端口的字节,收到后,开发板将击键发送回计算机,发送的击键比接收到的击键高一个,因此,如果您从串行监视器发送" a",则从与计算机连接的板上将收到" b"。 " 1"将返回" 2",依此类推。
所需组件
您将需要以下组件-
- 1×Arduino Leonardo,Micro或Due board
电路图
只需使用USB电缆将开发板连接到计算机即可。
![Keyboard Serial Breadboard](http://dev-img.mos.moduyun.com/20231026/05be02c0-2aa4-4b24-8f43-f702a6ac8376.jpg)
打开计算机上的Arduino IDE软件。使用Arduino语言进行编码将控制您的电路。通过单击"新建"打开一个新的sketch文件。
![sketch](http://dev-img.mos.moduyun.com/20231026/b5649184-9297-41df-b78c-bd9d5b9bf23f.jpg)
注意事项-您必须在您的Arduino库文件中包含键盘库。将键盘库文件复制并粘贴到文件中,文件名以黄色突出显示为" libraries"。
![Arduino library file](http://dev-img.mos.moduyun.com/20231026/2d9ccd19-56d5-40d7-abf7-6c12bc67aefa.jpg)
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() { //打开串口: Serial.begin(9600); //初始化对键盘的控制: Keyboard.begin(); } void loop() { //检查传入的串行数据: if (Serial.available() > 0) { //读取传入的串行数据: char inChar=Serial.read(); //输入您收到的下一个 ASCII 值: Keyboard.write(inChar + 1); } }
注意代码
编程后,打开串行监视器并发送一个字节,通过击键(高出一个数字)进行答复。
输出结果
当发送字节时,开发板将在Arduino IDE串行监视器上以高出一个数字的按键响应。
参考链接
https://www.learnfk.com/arduino/arduino-keyboard-serial.html