|
之前介绍过两种Arduino 模拟键盘的方法,一种是普通的Uno加上电阻之类的元件;一种是使用自带 USB 功能的 Arduino ,比如 Leonardo ,内部集成了USB Slave控制器。 这里再介绍蓝牙方案。
我们最常见的就是蓝牙透传模块,用蓝牙搜索安装之后能在系统中模拟出来一个串口,上位机直接按照串口方式即可进行通讯。这次介绍一款蓝牙键盘模块(实际上是键盘鼠标模块)。
外观和普通蓝牙透传模块一样(蓝牙芯片真正有用的都是内部Firmware)
用法非常类似,在蓝牙中搜索连接之后系统中会出现键盘设备。
然后数据是从串口送到蓝牙设备中的。根据说明我用 Arduino 编写了一个简单的测试程序,每隔5秒发送 “1” 字符。
输入 1:
按下数据 1 数据包为: 0C 00 A1 01 00 00 1E 00 00 00 00 00
按键弹起: 0C 00 A1 01 00 00 00 00 00 00 00 00
程序如下: - char KeyPress[]={0x0C,0x00,0xA1,0x01,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00};
- char KeyRelease[]={0x0C,0x00,0xA1,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
- void setup() {
- // put your setup code here, to run once:
- Serial1.begin(9600); //设置串口波特率
- }
- void loop() {
- for (byte i=0;i<sizeof(KeyPress);i++)
- {
- Serial1.write(KeyPress[i]);
- }
- for (byte i=0;i<sizeof(KeyRelease);i++)
- {
- Serial1.write(KeyRelease[i]);
- }
- delay(5000);
- }
复制代码
测试结果,每隔5秒我的电脑上就可以收到一个 1 的输入。
更多的好玩还在研究中。有模拟键盘需要的朋友不妨考虑这样的蓝牙模块,顺便说一下,这种模块在35元左右,比普通透传模块贵多了(通常20左右)。当然,你可以看看国外类似的产品,Adafruit出品的“EZ-Key BT HID Keyboard Controller纸模块”价格在180元,感觉就不那么贵了......
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|