大家好,这是一个有趣的制作,可以让你的 Arduino 拥有 106 个输入按键,是不是难以置信?下面给大家介绍如何在 Arduino 上使用 PS/2 键盘。
你需要以下材料:Arduino (UNO)PS/2 键盘PS/2 键盘接口
根据图上的引脚把 PS/2 接口与 Arduino 连接起来,对应关系如下表。
5V :- Arduino 5V outGround :- Arduino GNDClock :- Arduino Pin 3Data :- Arduino Pin 8
下面开始编写代码。首先需要借助一个类库,下载地址:http://www.pjrc.com/teensy/arduino_libraries/PS2Keyboard.zip然后编写 Arduino 的代码如下:
#include < PS2Keyboard.h>
const int DataPin = 8;
const int IRQpin = 3;
PS2Keyboard keyboard;
void setup() {
delay(1000);
keyboard.begin(DataPin, IRQpin);
Serial.begin(9600);
Serial.println("Keyboard Test:");
}
void loop() {
if (keyboard.available()) {
// read the next key
char c = keyboard.read();
// check for some of the special keys
if (c == PS2_ENTER) {
Serial.println();
} else if (c == PS2_TAB) {
Serial.print("[Tab]");
} else if (c == PS2_ESC) {
Serial.print("[ESC]");
} else if (c == PS2_PAGEDOWN) {
Serial.print("[PgDn]");
} else if (c == PS2_PAGEUP) {
Serial.print("[PgUp]");
} else if (c == PS2_LEFTARROW) {
Serial.print("[Left]");
} else if (c == PS2_RIGHTARROW) {
Serial.print("[Right]");
} else if (c == PS2_UPARROW) {
Serial.print("[Up]");
} else if (c == PS2_DOWNARROW) {
Serial.print("[Down]");
} else if (c == PS2_DELETE) {
Serial.print("[Del]");
} else {
// otherwise, just print all normal characters
Serial.print(c);
}
}
}
上传代码之后运行,在键盘上输入的内容就会显示在调试窗口哦~
,