GHpad的主控是atmega32u4和arduino的leonardo的主控一样,
leonardo也可以模拟键盘,
所以是不是可以把GHpad刷成arduino呢,
那样写代码也简单了,
做扩展也方便了,
好吧,开干,要刷系统必须先有最小系统,
由于前一段时间比较忙没有赶上团购,
感谢炫Q赞助了两个红轴和两个键帽。
相对来说元件不多,晶振焊盘小了点。
没几个元件
主控atmega32u4
四脚晶振有些难度
二极管小了
两个红轴和键帽
组装完毕
下一步就是刷系统了,
需要用到icsp接口,
焊上排针,
没有编程器,
还好有arduino as isp,
arduino真是个好东西,
用的二叔科技的arduino uno特别版,
很快搞定。
六个排针
用arduino特别版刷系统
结果真的刷成arduino了
下面要做的就是根据GHpad的原理图找出row1-6,col1-4对应的引脚,
然后找出atmega32u4和arduino的映射图,
再做按键扫描和键盘输出就可以啦。
欢迎加入【二叔科技.创客空间】(167153362):http://jq.qq.com/?_wv=1027&k=cQnaT9
没有找到原理图,
靠万用表量,
没有校对,
可能有误,
到时再调整也不难
r1=18
r2=19
r3=20
r4=21
r5=25
r6=22
c1=41
c2=40
c3=1
c4=32
然后去找对应表
http://www.arduino.cc/en/Hacking/PinMapping32u4
好像有点儿麻烦r6分配给led了,
别的问题都不大,
反正现在只有两个键,
问题不大
R1=D3,C3=D7,C4=D13
/* Keyboard Test by Uncle Li (2sTech) 2015/5/31 */ #define ROW1 3 #define COL3 7 #define COL4 13 void setup() { pinMode(ROW1, OUTPUT); digitalWrite(ROW1, LOW); pinMode(COL3, INPUT_PULLUP); pinMode(COL4, INPUT_PULLUP); Keyboard.begin(); } void loop() { if (digitalRead(COL3) == LOW) { Keyboard.print("F3 "); delay(200); } if (digitalRead(COL4) == LOW) { Keyboard.press(KEY_F4); delay(200); Keyboard.releaseAll(); } delay(10); }
好吧,硬生生的拼凑了些代码出来,
本来是要点F3输出F3,点F4输出F4的,
无良网友问:“按住大键盘的Alt 加上f4实测一下 提示保存请点否”
显然不行,
这个没有模拟F4键,是模拟的三个字符 不过稍微修改一下就可以啦
仅仅是一个可行性的测试,
没有详细考虑键盘的处理逻辑,
大家一起玩起来吧~~~
有奖活动 | |
---|---|
东芝TB6560AHQ步进电机驱动器芯片 | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 |