PS2 键盘座测试
之前我使用 PS2 键盘鼠标都是直接剪开线的,这样看起来很不专业,前一段购物正好看到有PS2座就顺手买了一个(2元)。有了它,键盘可以直接插在上面和 Arduino连接。
对应的库可以在这里【参考1】下载到。特别注意: Uno 要使用 2 3 Pin,定义如下 #include"PS2Keyboard.h" const intDataPin = 2;const int IRQpin=3; 就是说 Data接2, CLK接3 (这个和终端请求有关系,不可以随便更换),测代码:
/*PS2Keyboard library example
PS2Keyboard now requries both pins specified for begin()
keyboard.begin(data_pin, irq_pin);
Valid irq pins:
Arduino: 2, 3
Arduino Mega: 2, 3, 18, 19, 20, 21
Teensy 1.0: 0, 1, 2, 3, 4, 6, 7, 16
Teensy 2.0: 5, 6, 7, 8
Teensy++ 1.0: 0, 1, 2, 3, 18, 19, 36, 37
Teensy++ 2.0: 0, 1, 2, 3, 18, 19, 36, 37
Sanguino: 2, 10, 11
for more information you can read the original wiki in arduino.cc
at http://www.arduino.cc/playground/Main/PS2Keyboard
or http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html
Like the Original library and example this is under LGPL license.
Modified by Cuninganreset@gmail.com on 2010-03-22
Modified by Paul Stoffregen <paul@pjrc.com> June 2010
*/
#include "PS2Keyboard.h"
const int DataPin = 2;
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("");
} else if (c == PS2_ESC) {
Serial.print("");
} else if (c == PS2_PAGEDOWN) {
Serial.print("");
} else if (c == PS2_PAGEUP) {
Serial.print("");
} else if (c == PS2_LEFTARROW) {
Serial.print("");
} else if (c == PS2_RIGHTARROW) {
Serial.print("");
} else if (c == PS2_UPARROW) {
Serial.print("");
} else if (c == PS2_DOWNARROW) {
Serial.print("");
} else if (c == PS2_DELETE) {
Serial.print("");
} else {
// otherwise, just print all normal characters
Serial.print(c);
}
}
} 运行结果 参考:1. http://playground.arduino.cc/Main/PS2Keyboard
厉害厉害 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 厉害 666666 你好,我也在淘宝上买了个ps2的键盘座,用PS2Keyboard库自带的例子测了一下
好像是键盘座CLK引脚必须要接数字引脚2或者3,键盘座dat引脚接其它的数字引脚都可以 仮面龙骑 发表于 2017-2-28 22:56
你好,我也在淘宝上买了个ps2的键盘座,用PS2Keyboard库自带的例子测了一下
好像是键盘座CLK引脚必须要接数 ...
嗯 是的,有这个要求 Zoologist 发表于 2017-3-1 08:32
嗯 是的,有这个要求
我还有个疑问,键盘插到电脑上之后,按了大写键或者小键盘的NumLock键后,键盘灯会亮,但是我在
PS2Keyboard库提供的函数中没有看到能够设置键盘灯的函数,是不是这个库还不完整啊? 仮面龙骑 发表于 2017-3-1 21:41
我还有个疑问,键盘插到电脑上之后,按了大写键或者小键盘的NumLock键后,键盘灯会亮,但是我在
PS2Keyb ...
有可能的,你可以搜搜看一下。
系统中的做法是如果发现有 numlock按下会发出广播的
usb就是这样的,我想 ps2应该也一样 http://codeandlife.com/2013/07/15/arduino-ps2-keyboard-tester/
在这里找到个例子,是向键盘发送命令的,里面也有示例代码 仮面龙骑 发表于 2017-3-1 22:57
http://codeandlife.com/2013/07/15/arduino-ps2-keyboard-tester/
在这里找到个例子,是向键盘发送命令的 ...
嗯嗯 看到了不错~
页:
[1]