50元成本自制转换器——普通键盘变全键可编程键盘
追加修改(2019-10-03 15:41:36):
贴上github的开源页面,大家可以自己去参考下。
前言
在之前制作优联无线键盘的原创中,介绍了键盘键值转换器,能把普通键盘变成一把全键可编程的键盘。能设定宏,符合自己的各种需要。(关于这种键值转换器的详细介绍,可以去B站看加麻大白票王Linus的av42085024视频。)
这个键值转换器由geek一位网友开发,外网上有销售,价格是63美刀一个。
在国内不容易买到,好在是开源的,能自己利用Arduino板制作。得益于华强北,制作的成本还非常便宜。
在Gayhub上有其制作的教程以及相关资料,喜欢的可以去看看。
需要注意是这个键盘转换器并不是全部键盘都能使用,要键盘主控支持HID Boot protocol模式。geek上有一些坛友测试的结果,有一定年份,不准确。
材料
材料方面需要一个Arduino pro micro和迷你usbhost shield扩展版
购买的板子,一般还有放静电包装进行防护,拆包前要注意做好防静电。
Arduino pro micro开发板的细节一览。
Arduino pro micro使用的是Atmega32U4芯片,支持12个数字接口,能基本满足制作转换器的io口需求。
Arduino pro micro板背面细节一览。
需要注意是Arduino pro micro有两个版本,5v16Mhz版以及3.3v8Mhz版。
两个版本的外观大小,io接口都是一样的。区别是晶振不一样,电压不一样。5v的板子也可以使用,但是usbhost shield扩展板是3.3v电源输入的,需要接个电压转换芯片。
迷你USBHost Shield 2.0扩展板,方便arduino与usb设备进行通讯而开发出来的一个扩展板。
支持的电源是3.3v,如果电压过高会造成损坏。
制作
制作的第一步是给Arduino pro micro焊接个排针。
方便排针的焊接,我习惯是使用面包板固定排针,再放Arduino pro micro板子在上面进行焊接。
Arduino pro micro焊接好后的效果一览。
接着是焊接迷你USBHost Shield扩展板。
方法和焊接Arduino pro micro是一样的。
焊接好后的迷你USBHost Shield板效果一览。
焊接好排针的Arduino pro micro和迷你USBHost Shield外观一览。
焊接好排针的Arduino pro micro和迷你USBHost Shield背部外观一览。
实际上应该是使用排针将两者结合在一起,由于我只是进行测试,所以选择了分开。
将两个板子插在面包板上,迷你USBHost Shield接usb键盘,Arduino pro micro接电脑。
使用面包板跳线将迷你USBHost Shield和Arduino pro micro板子的针脚连接在一起。
迷你USBHost Shield扩展板使用的是3.3v电源,也就是说Arduino pro micro和USBHost Shield的vcc接口都是3.3v电源,所以需要隔断迷你USBHost Shield扩展板usb母座的vcc接口与板子vcc接口相连。
在迷你USBHost Shield扩展板usb母座的vcc接口焊接一条跳线。
将跳线连接到Arduino pro micro的raw接口,这个接口能提供5v的电源给usb接口。
到TMK keymap editor网站上,制作键盘的宏及相关键值设定。网站的键盘只是一个设定排布,不必在意是不是使用同样键列的键盘,以及有没有那个按键。注意是原键的fn键不能识别。
制作完成后,能够下载hex固件文件到本地。
hex固件的刷入和tmk固件的刷入是一样的,tmk官网有教程。常规是使用Atmel FLIP,但是文档指出也能使用QMK toolbox刷入。
国产pro micro接上电脑,QMK toolbox能识别出设备,但不能识别出是arduino pro micro。
测试能正常刷入固件,重新接入arduino pro micro,QMK toolbox能识别出是TMK键盘转换器。经测试,接樱桃g80-3000机械键盘能正常使用,宏的运作也正常。
如果板子刷入的固件不如意,可以短接arduino pro micro的gnd和rst接口,重置板子,再刷入新固件。
后记
国产arduino pro micro (3.3v8M)价格在16元左右,迷你USBHost Shield 2.0价格在30元左右,总成本50元左右,制作也没有什么难度,就是焊接起来刷个固件。需要注意马爸爸家的山寨arduino pro micro各式各样,出于成本考虑有大大小小不同的细节,可能会出现些奇怪问题,购买时最好能看细些实物图。

懂了!不改供电就会烧坏!
飞线是因为改了供电哈
你好,你飞线了吗?我看上面qianseyue大神飞了2根线
您知道了吗?
qianseyue大神 两个叠起来的焊接也得接跳线的么?
准备用CC2540和CH375搞一个,电池还没想好,还要写代码
可以的,但是功耗会很高
这种转换器,能不能做成带蓝牙版的
这样任意键盘都可以变成 可编辑双模键盘了。
我是直接焊在一起的
您先割线再把2个焊一块?还是直接把2个焊一块?
一个优联 一个akko 还有一个薄膜键盘都不行
说明你键盘主控不支持。。。
dalao你好!我直接把两个按照您头图的方式叠起来连接好了,然后把固件刷入后 电脑也识别,但是连接键盘操作没有反应。这该怎么搞啊
抱歉了,这个东西我就一个。网上有PCB共享的,可以下载自己去定制一个。
qianseyue兄台,我在闲鱼上没找到有这个东西卖。能否给个链接,或您是否卖这个产品?盼回复。谢谢
我也遇到过 我那个是自己一直按着alt键 重新刷了一个配列就好了
老哥,我在网上查询这个扩展版的时候有人说要断开一个电阻才能工作,详见https://www.arduino.cn/forum.php?mod=viewthread&tid=76102我买的也是国内的shield 2.0所以要断开么?
老哥,又遇到一个问题了
,一个新的pro micro板,在刷入hex的时候刷不入,显示这些代码
>>> avrdude.exe -p atmega32u4 -c avr109 -U flash:w:"C:\Users\Administrator\Desktop\unimap2.hex":i -P
C:\Users\Administrator\AppData\Local\QMK\QMK Toolbox\0.0.14\avrdude.exe: option requires an argument -- P
Usage: avrdude.exe [options]
Options:
-p Required. Specify AVR device.
-b Override RS-232 baud rate.
-B Specify JTAG/STK500v2 bit clock period (us>.
-C Specify location of configuration file.
-c Specify programmer type.
求帮忙解答一哈哈
可以有桌面端的键盘设置程序吗?我只做几个宏命令
咸鱼很多人卖啊,100多一个,也没看到销量很好
是的,注意区分自己的型号,刷错会坏掉的。会不会这样,取决于你刷如了什么固件,一些会虚拟串口进行通信的就会变成这样。
qianseyue大神,您能多做些U2U挂闲鱼卖吗,绝对卖爆!主要我不搞不来,想买现成的.
每次刷了固件都会这样吗?
用你出那个我修我自己那个教程是吧
你现在识别到的串口是固件虚拟出来的,所以再次刷固件的时候,虚拟串口会消失掉。找个编程器,刷回原版固件就行了。
之前按教程搞个小键盘是可以写固件的
! There are no devices available
能不能把红字复制给我看看
驱动不对吧?
老哥,遇到一个问题,把这模块合起来后插入电脑写固件时qmk提示一行红字翻译是没有找到设备,怎么搞,短接gnd和rst有提示读取到串行设备