原创 [原创]DIY一个多功能手柄

2010-4-9 16:35 5130 7 10 分类: MCU/ 嵌入式

打造一个属于自己的多功能手柄


多功能手柄的视频演示
http://v.youku.com/v_show/id_XMTYyOTcwNjUy.html


预览


点击看大图


小结:
芯片: STM32F103C8T6,MMA7260,PAM3101DBA330
手柄与芯片连接定义:
L1     => GPIOA_6
L2     => GPIOA_7
R1     => GPIOB_6
R2     => GPIOA_0


Key1   => GPIOB_5
Key2   => GPIOB_4
Key3   => GPIOA_15
Key4   => GPIOA_4


Left   => GPIOB_1
Up     => GPIOC_14
Right  => GPIOB_0
Down   => GPIOB_10
Start  => GPIOC_15
Select => GPIOB_7


SourceCodes: SuperJoystick


SVN CheckOut地址: http://lxyppc-tetrix.googlecode.com/svn/trunk/SuperJoystick/


STM32电路板原理图:点击下载


项目由来:
平时喜欢上网看看贴子,玩玩街机模拟器里面的游戏,看看电影什么的。玩游戏的时候用手柄,看电影网页用鼠标就行。偶尔会敲点网址,用户名密码什么的。一直在想要是有个东西能同时满足我的这些需要岂不是很完美。玩游戏的时候就是手柄,上网看电影的时候就是鼠标,而且想输入一些字符的时候还能客串一下键盘。



于是乎,我决定改造一个手柄来满足我的需求。因为鼠标不适合玩游戏,键盘又太大,只好从手柄下手了。



计划是手柄上加一个OLED屏,用来显示当前的工作状态,当作键盘使用的时候虚拟出一个软键盘,用来输入字符。
OLED显示部分直接从我之前的一个项目里面提取出来 [原创]STM32迷你OLed显示屏
决定使用这个项目打样没用完的电路板,这样还能把加速度传感器的功能集成在手柄里面。


当然了,之前在 [原创]用STM32 199元的开发板来玩俄罗斯方块 这个项目里面有提到要把俄罗斯方块游戏移植到手柄里面,这里正好用来做这个手柄的内置游戏。


决定了要做什么之后就是选材料,由于有之前项目的支持,这里电路不用重新设计了,只要选择一个能放得下OLED屏和主控电路板的手柄就行了。


买了两个手柄回来,一个不知道什么是牌子的(Bosston?),还买了一个北通的带振动的。
拆开之后觉得那个杂牌的比较好改造,可以在前面开个方孔让OLED露出来,后面也有足够空间放STM32的电路板。
北通的线太多了,电路板也放不下,OLED显示屏也不好弄,决定在那个杂牌的手柄上做改造。


由于有之前项目的支持,这里电路不用重新设计了,只要选择一个能放得下OLED屏和主控电路板的手柄就行了。


Let's Go:


STM32电路板空板


EmptyPCB.jpg


STM32电路板焊好后
由于直接使用USB供电,因此不用焊接电源管理芯片以及他们的外围器件。0R的电阻都用的是一元件的引脚


点击看大图


焊好的板子通上电测试,跑的是之前的工程里面的代码


TestPCB.jpg


STM32电路板原理图。点击下载


由于没有用BQ24073,C7用一个0R电阻代替,VBUS直接接在V4v4上
没有用到的外围器件焊盘都用飞线引出来,以后接在手柄的焊盘上


点击看大图


点击看大图


手柄的内部构造
上面板


点击看大图


下面板


点击看大图


手柄的电路板,在除去他的主控芯片的时候不小心把板子弄断了,后用502重新粘上了


点击看大图


点击看大图


用飞线把STM32电路板和手柄电路板连起来


点击看大图


连上后打上胶固定


点击看大图


线飞完测试无误之后把电路板装在手柄里面,还好飞线的时候线都留得很长,放进去之后还可以绕一下


点击看大图


把JTAG调试口用三根线飞出来。没错,就是三根,SWD_CLK,SWD_IO, Vcc,因为J-Link和手柄插在同一台电脑上的,所以地线就省了。


点击看大图


装好后的样子


点击看大图


和它的上一个项目来一个合影


点击看大图


OLED显示的效果


OLedDisplay.jpg


再来一个,北通的手柄,这个是以后的改造目标


点击看大图


不过用STM32F103C8T6已经满足不了需求,需要的IO太多。而且已有的电路板和OLED也放不进去了,最好是能够重新做里面的整体电路板

文章评论3条评论)

登录后参与讨论

用户1648059 2012-4-30 19:37

GOOD!那个手柄我也有一个

用户236335 2010-4-10 13:08

呵呵,那个FPM现在好用了吧

tengjingshu_112148725 2010-4-10 12:46

博主牛逼啊
相关推荐阅读
用户236335 2011-05-16 17:36
[原创]操作DS18B20的程序(C写的 带ROMSearch和CRC校验)
调试环境:MPLAB 7.5PICC  8.05 PL1PIC16F88,DS18B20 两颗,晶振4MHz(如换其它晶振,需要更改WriteBit和ReadBit中的等待操作以及延时函数)我只有两颗...
用户236335 2011-04-08 09:17
[原创]用PIC10F200实现三色LED亮度调节
10F200资源:一个8位timer,一个WDT可以工作在 2.0~5.5V内置晶振,单一频率4MHz 精度1%三个IO,一个Input指令空间: 255目标:使用串口通讯方式,波特率38400,8位...
用户236335 2010-04-09 14:12
[原创]STM32迷你OLed显示屏
之前买了几块128X64的OLed屏,用开发板驱动起来玩了一下,感觉显示效果还蛮不错的去赛格逛的时候又看到了这么一个小盒子,比划了一下觉得把这个屏放进去还能加点东西在上面盒子内部大小为44mm X 2...
用户236335 2010-04-07 23:28
FPM不能使用?(Foot Print Maker)别急,那是作者的小玩笑
用Candence来画PCB很不错,但是做封装很麻烦还好有人做了一个免费的小软件FPM(Foot Print Maker),用来生成封装很方便但是作者开了个小玩笑,0.0.8.0版本的从2010年4月...
用户236335 2010-03-28 15:57
[原创]用STM32 199元的开发板来玩俄罗斯方块
开发板是万利的那个带有ST-Link2的199开发板  STM3210B-LK1上面有一块STM32F103VBT6,这个片子有128K的Flash,20K的RAM开发板上面可以用到的资源·1 个LC...
我要评论
3
7
关闭 站长推荐上一条 /2 下一条