Arduino打造USB蓝牙键盘扩展器
欢迎转载,转载请注明出处!原文地址
Follow me on GitHub ^_^
github code - https://github.com/KevinsBobo/arduino_keyboard/
基于arduino的键盘扩展器,将USB键盘插在扩展器上后,USB键盘有蓝牙键盘功能,实现可修改键盘布局(Dovrak)、调整大写锁定与Ctrl位置并在键盘上集成了鼠标功能
制作原因:因为爱折腾所以尝试使用了
Dvorak
键盘布局,结果太爽了,于是就变成了现在这个使用两种键盘布局的XXX了:输入英文使用Dvorak
布局、输入中文使用Qwerty
布局(因为使用Dvorak
输入中文特别别扭)
但是感觉在电脑上切换键盘布局不太爽,尤其是Linux下,于是就做了这个键盘扩展器,顺带实现了将USB键盘扩展为蓝牙键盘并集成了鼠标功能。
当时制作的时候主要参考的是这里的做法:http://www.lab-z.com/ardusb2bt/
但是使用的硬件除了蓝牙都是不同的,因为我需要的是一个小巧的,可以随身携带的。
2016年12月27日更新:
在开始制作的时候就写了一篇介绍博客,本来是打算做好了后详细更新一篇博客的,结果那段时间有点忙就只更新了需要的硬件,后来博客迁移了,就没把文章迁过来。没想到在这里留下坑了。。。所以现在把GitHub仓库里的README更新一下,把坑补上。虽然更新后的结果百度搜不到,但是谷歌可以,相信爱折腾的朋友肯定会用谷歌。
另外USB Host Shield mini的官方文档虽然内容的确比较少,英文阅读起来也有点费劲,改天有空了,我把官方说明翻译下,补充点信息,尽量少点坑^_^
感谢@caoczy 提出了问题:https://github.com/KevinsBobo/arduino_keyboard/issues/1 在我们的交流中也有很多细节问题,想入坑的朋友可以参考下。
硬件部分:
Arduino Micro
作用:模拟USB键盘Arduino Pro mini 改进版 ATMEGA328P 5V 16M
作用:从USB Host Shield mini
接收USB键盘按键信息,做以处理并选择通过Arduino Micor
输出或通过蓝牙模块输出。USB Host Shield mini
作用:接收USB键盘按键信息XM-04-HID-K 蓝牙键盘模块
作用:实现HID蓝牙键盘功能。PS:这个是某宝的一家店里的,而且店铺里没有上架这一个模块,可以拍下XM-04-HID-S 扫描枪模块
然后告诉老板需要蓝牙键盘模块就行了。
程序说明:
USBHIDBootKbd代码是用于 Arduino Mini 上获取按键和处理输出。 获取键盘按键后根据按键和大写锁定切换情况向 Arduino Micro 或蓝牙模块输出数据。
KeyboardAndMouseControl代码用于 Arduino Micro 上,接收 Arduino Mini 传来的键位数据,然后做以处理向电脑输出。
Arduino pro mini & USB Host Shield mini 焊接方式
这是我的接法,官方手册中说可以直接把USB Host的USB电压输出直接接到上图中右下角的RAW针脚,因为这个针脚可以接受5V的供电,这样就不用提供3.3V的供电了(但VCC针脚应该还是不能接到一起,因为VCC针脚只能接受3.3V的供电)。
还有一些细节和需要注意的坑可以参考这里:https://github.com/KevinsBobo/arduino_keyboard/issues/1
详细功能说明见 http://kevins.pro/arduino_keyboard/ (博客迁移,文章没有迁过来。)