Board logo

标题: 总算自己把那个多功能手柄转接器给做出来了,成就感爆棚了。。。。。更新延迟测试结果 [打印本页]

作者: VODKA    时间: 2017-9-5 00:04     标题: 总算自己把那个多功能手柄转接器给做出来了,成就感爆棚了。。。。。更新延迟测试结果

posted by wap, platform: Firefox
俺作为单片机盲,就这样折腾了差不多半个月还是做出了自己想要的东西,但整个过程还是有不少坑的,作为没有单片机基础的人,想做出这么个并不复杂的玩意,其实还不是那么简单的事情,这里面坑太多了。。。。。


话说自从某天俺的md手柄转接器坏掉俺就一直想办法修理,但最后还是没修好,前阵子偶然知道了github上有一个开源的usb手柄转接器,支持各种手柄,那还等啥呢,开工吧。。。。。

虽说是开源的东西,源代码和电路图都是现成的,不过对于俺这个单片机门外汉来说也还是阻力不小,管他呢,先把元器件买了,电路板淘宝定做,不过接下来就有点坑爹了,电路图上有两个电容居然标错了,还好俺事先查了些资料,总算发现了这个错误,没买错元件,不过电路图的格式转换也折腾了俺大半天,最后终于还是把gerber文件也弄出来交淘宝店家了,然后就等着吧。。。。。

硬件下单了开始研究源代码,结果发现另一个坑,电路图上的单片机是atmega8,但源代码注释里面可清清楚楚写的是atmega328p啊,没办法,保险起见,淘宝又下一单,买块328p备着。。。。。

过了没几天就收到电路板了,这pcb做工真没得说,焊盘和开孔都整整齐齐的,漂亮极了,这时候元器件早到了,焊吧。。。。。

焊好了,但源代码的编译还没搞定,总提示少一个文件,俺差点就放弃了,难道源代码不全?但最后搜遍了网络发现原来winavr在64位win10系统下会编译错误,这尼玛谁能知道?这也太坑了,足足郁闷了俺好几天,当然知道原因就好解决了。。。。。

最后源代码编译完成,hex文件足有30k,他娘的,还好买了块328p,否则又没戏,但mega8也没法退货,就留着吧,也许以后还能做点别的。。。。。

烧录相对顺利,但还是折腾了今天一晚上,熔丝位是什么鬼?一旦设置错误芯片报废?俺就这一块328p,绝不能出差错,又拼命查资料,但最后还是没完全搞懂,只知道有几个危险的熔丝位不能动,有几个相对安全的位置随便设吧,拼了运气赌一把,芯片烧录好了插电脑上,识别出来了,手柄插上,按键全部识别,一次就烧录成功,这一瞬间俺就觉得这半个多月功夫没白费,太爽了,虽然买一个现成的更便宜,但自己亲手做出来还是感觉完全不一样。。。。。

///////////////////////////////////////////////////////

很遗憾,这个转接器是有延迟的,测试方法还是俺的老办法,测试游戏为街霸2,模拟器为mame,参照对象为按键手感与md6B手柄最为接近的土星USB手柄,相杀不成功,看来这个方案还不是最优,不过也可以满足一般使用了,俺准备把支持其它手柄的代码去掉,让这个转接器专一支持md手柄,这样应该可以提高代码执行速度,也许能解决延迟问题,这是下一步的工作了。。。。。

本帖最后由 VODKA 于 2017-9-5 20:58 通过手机版编辑
作者: VODKA    时间: 2017-9-5 00:09

posted by wap, platform: Lenovo
对了,这货有个开关,貌似切换3.3v和5v的,不知道有什么用处,谁知道麻烦告诉俺一下,谢了。。。。。

本帖最后由 VODKA 于 2017-9-5 00:09 通过手机版编辑
作者: threek    时间: 2017-9-5 09:03

posted by wap, platform: 小米
厉害,我也是刚买好了arduino套件,准备开始动手
作者: VODKA    时间: 2017-9-5 09:30

posted by wap, platform: Firefox
今晚准备测试一下这个转接器的延迟情况。。。。。
作者: threek    时间: 2017-9-5 11:31

posted by wap, platform: 小米
引用:
原帖由 @VODKA  于 2017-9-5 09:30 发表
今晚准备测试一下这个转接器的延迟情况。。。。。
如何测试,能数字化测试吗
作者: only1onely    时间: 2017-9-5 11:42

恭喜一下啊
作者: VODKA    时间: 2017-9-5 12:00

posted by wap, platform: Lenovo
引用:
原帖由 @threek  于 2017-9-5 11:31 发表
如何测试,能数字化测试吗
暂时还只能定性测试,量化测试其实也不是没办法,俺也有这方面的想法,不过俺不懂计算机编程,所以没法实现。。。。。
作者: 一万个瓶盖    时间: 2017-9-5 12:58

引用:
原帖由 threek 于 2017-9-5 09:03 发表
posted by wap, platform: 小米
厉害,我也是刚买好了arduino套件,准备开始动手
你应该买的不是arduino,而是atmega
作者: 一万个瓶盖    时间: 2017-9-5 13:01

引用:
原帖由 VODKA 于 2017-9-5 09:30 发表
posted by wap, platform: Firefox
今晚准备测试一下这个转接器的延迟情况。。。。。
恭喜你进入VUSB的世界

安利你几个地方

https://www.obdev.at/products/vusb/prjall.html     大本营

http://blog.komar.be/gh60-rev-c-plain-edition-is-out/ GH60
作者: threek    时间: 2017-9-5 13:35

posted by wap, platform: 小米
引用:
原帖由 @一万个瓶盖  于 2017-9-5 12:58 发表
你应该买的不是arduino,而是atmega
完全不懂
作者: VODKA    时间: 2017-9-5 14:01

posted by wap, platform: Lenovo
引用:
原帖由 @threek  于 2017-9-5 13:35 发表
完全不懂
atmega就是avr单片机,arduino其实就是基于avr单片机的一个开源单片机系统。。。。。

做usb转接器的话,arduino要买带usb hid功能的,也就是arduino micro。。。。。

当然普通arduino也可以用vusb的方式实现,但很复杂,没必要。。。。。
作者: kagetang    时间: 2017-9-5 14:04

posted by wap, platform: 小米3
这个是最小arduino系统吧?
作者: casaba22    时间: 2017-9-5 17:42

posted by wap, platform: Android
恭喜楼主!动手精神必须鼓励
作者: 匕首之尖    时间: 2017-9-5 18:11

楼主精神可嘉   我和楼主一样单片机这方面基础为零   也想自己做手柄转接器呢
不过你做的这个好像不是多功能的吧?我看怎么像就MD一种转换呢
作者: VODKA    时间: 2017-9-5 18:37

posted by wap, platform: Lenovo
引用:
原帖由 @匕首之尖  于 2017-9-5 18:11 发表
楼主精神可嘉   我和楼主一样单片机这方面基础为零   也想自己做手柄转接器呢
不过你做的这个好像不是多功能的吧?我看怎么像就MD一种转换呢
其他手柄需要做对应的转换接头。。。。。

不过俺需要的功能倒也就只有md转换一个,所以俺打算再精简一下程序,去掉其他功能,这样用一块atmega8应该就能行了。。。。。

本帖最后由 VODKA 于 2017-9-5 18:41 通过手机版编辑
作者: VODKA    时间: 2017-9-6 09:35

posted by wap, platform: Lenovo
昨晚把之前没修好的那个转接器拿来看了一下,凭着这段时间对atmega8针脚的熟悉,一眼就看出来有根线被俺上次维修的时候接错位置了,喷了,这下白费这半个月的功夫了,原先那个说不定真能修好了用上,不过不费这半个月功夫打死俺也看不出那根线接错的事情,这又是个悖论。。。。。
作者: 一万个瓶盖    时间: 2017-9-10 14:42

[attach]950921[/attach]

需要了跟我要

这个体积比较小  适用范围更广泛
作者: VODKA    时间: 2017-9-10 23:08

posted by wap, platform: Lenovo
引用:
原帖由 @一万个瓶盖  于 2017-9-10 14:42 发表
950921

需要了跟我要

这个体积比较小  适用范围更广泛
多谢,不过md手柄转接俺今天已经搞定了,就不再折腾这块了,下一步可能会开始研究土星手柄转接器和自制键盘。。。。。
作者: 一万个瓶盖    时间: 2017-9-10 23:34

引用:
原帖由 VODKA 于 2017-9-10 23:08 发表
posted by wap, platform: Lenovo
多谢,不过md手柄转接俺今天已经搞定了,就不再折腾这块了,下一步可能会开始研究土星手柄转接器和自制键盘。。。。。
自制键盘  这方面玩得最多的是GH60 资料最全




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0