Grove - PS/2 适配器
PS/2 适配器使您能够将 PS2 设备连接到 Arduino/Seeeduino 主板。借助 PS2Keyboard/PS2Mouse 库,您可以在这些 PS2 设备与 Arduino/Seeeduino 之间创建桥梁。
特性
-
标准 Grove 接口
-
标准 PS/2 接口
规格
项目 | 最小值 | 典型值 | 最大值 | 单位 |
---|---|---|---|---|
电压 | 4.75 | 5.0 | 5.25 | V |
电流 | 100 | mA | ||
通信模式 | PS/2 通信协议 | / | ||
时钟频率 | 10 | 15 | 33 | KHZ |
应用场景
- PS/2 鼠标和键盘输入
使用方法
PS/2 接口是一种 6 针 Mini-DIN 接口,用于将键盘和鼠标连接到 PC 兼容的计算机系统。PS/2 键盘和鼠标接口的设计在电气上相似,并采用相同的通信协议。如今,这种接口已被 USB 取代,但对于 Arduino/Seeeduino 来说,当您需要鼠标或键盘时,使用 PS/2 接口仍然是一个方便且经济的选择。
PS/2 接口有 6 个针脚,如下图所示。针脚 1 和针脚 6 未连接。针脚 3 用于接地,针脚 4 用于供电。其他两个针脚用于时钟和数据。
针脚 | 名称 | 功能 | 对应 Grove 接口 |
---|---|---|---|
1 | +DATA | 数据 | DATA |
2 | NC | 保留 | - |
3 | GND | 接地线 | GND |
4 | Vcc | +5DCV | VCC |
5 | +CLK | 时钟频率 | CLK |
6 | NC | 保留 | - |
- 将 PS/2 鼠标或键盘插入 Grove-PS/2 适配器,然后将 Grove 接口连接到 Grove - Base Shield 的 D5/D6。您可以根据需要更改数字端口,但不要忘记同时更改示例代码中的端口号定义。
note
针脚 5 是鼠标数据针脚,针脚 6 是时钟针脚。
- 将 Base Shield 插入 Arduino/Seeeduino,并通过 USB 数据线将 Arduino/Seeeduino 连接到 PC。
-
下载 PS2 Adapter 库,解压并将其放入 Arduino IDE 的库文件夹路径:..\arduino-1.0\libraries。
-
重启 Arduino IDE,打开一个示例代码,例如通过路径直接打开 ps2_mouse:File -> Example -> PS2_Adapter -> ps2_kbd。
/*
* 一个 Arduino 示例代码,用于与 PS/2 键盘交互。
* 同时使用串行协议与主机通信并报告发现的内容。
* 使用 PS2 库。
*/
#include <ps2.h>
/*
* 针脚 5 是 PS2 数据针脚,针脚 6 是时钟针脚
* 您可以根据需要使用方便的针脚。
*/
PS2 kbd(6, 5);
void kbd_init()
{
char ack;
kbd.write(0xff); // 发送重置代码
ack = kbd.read(); // 字节,键盘进行自检
ack = kbd.read(); // 自检完成后另一个确认字节
}
void setup()
{
Serial.begin(9600);
kbd_init();
}
/*
* 从键盘获取一个键码,并通过串行线将其报告给主机。
*/
void loop()
{
unsigned char code;
for (;;) { /* 无限循环 */
/* 读取一个键码 */
code = kbd.read();
/* 将数据发送回主机 */
Serial.println(code, HEX);
// delay(20); /* 调整 */
}
}
如果您不知道如何上传代码,请点击 这里。
上传固件到 MCU 后,您可以通过串行监视器(9600 波特率)检查状态:
当鼠标移动时,X 和 Y 输出值会相应变化。
原理图在线查看器
资源
技术支持与产品讨论
感谢您选择我们的产品!我们致力于为您提供多种支持,确保您使用我们的产品时拥有顺畅的体验。我们提供多个沟通渠道,以满足不同的偏好和需求。