arduino中pinmode的参数(在Arduino上使用)(1)

大家好,这是一个有趣的制作,可以让你的 Arduino 拥有 106 个输入按键,是不是难以置信?下面给大家介绍如何在 Arduino 上使用 PS/2 键盘。

你需要以下材料:Arduino (UNO)PS/2 键盘PS/2 键盘接口

arduino中pinmode的参数(在Arduino上使用)(2)

arduino中pinmode的参数(在Arduino上使用)(3)

arduino中pinmode的参数(在Arduino上使用)(4)

根据图上的引脚把 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); } } }

上传代码之后运行,在键盘上输入的内容就会显示在调试窗口哦~

,