注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
lehuijie的个人空间 https://home.eeworld.com.cn/space-uid-840470.html [收藏] [复制] [分享] [RSS]
日志

自己做了一个空中鼠标分享一下

已有 923 次阅读2018-5-29 13:06

  为了参加比赛做了一个空中鼠标,主要处理芯片采用合泰的HT32F1656芯片,这款芯片是基于ARM M3内核,与STM32F1系列相似,只有部分寄存器,与库函数不一样,ST的程序改一改就可以运行了。
鼠标还使用了一些模块,如下,蓝牙HID如果做键盘鼠标还是用淘宝店重庆翔码电子的吧,当然你可以自己配置HID。按键原本是要用应变片来做的,但是被我另一个队员全部焊坏了,所以采用了电容触摸按键。我是采用双面板的思想自作的板子,由于条件限制,采用双层板来代替双面板。把单片机放一面,其他模块放在另外一面。
XM-04-HID-K 蓝牙HID 键盘模块
MPU9250模块
程序框图硬件框图这是做出的实物了,很丑,原本不想放出的
下面是制作的一些小经验:
MPU可以直接用pcb板与单片机固定,这样会少很多抖动,更好调试。
鼠标HID的按键是一个“1”和一个“0”算是一次完整的点击,鼠标指针最高位0为正1为负。
对于数据,在后面加个0xff,这样会少些莫名的错误,可能与陀螺仪读取的数据位数有关。
对于滤波采用平均滤波加限幅滤波就足够了,这样抖动就可以接受了,更多需要调试的还是鼠标的灵敏度,在使用过程中一换一个环境,感觉灵敏度感觉有些不太适合,不知道是不是自己没使用习惯的原因,调节灵敏度是在调整陀螺仪数据。另外不知什么原因,导致本次制作的必须要在程序执行后加入一段较长的延时,否则鼠标使用会出现一个延时。具体看附件的程序。
MPU9250的线加速度模式,当产生倾斜角度也会有数据,可以采用角加速度的数据取反进行抵消(具体没尝试)

程序的工程为keilV4文件,偷懒直接用官方的模板。文件链接\HT32f1xx\project_template\IP\Template\MDK_ARM
演示视频与程序在均附件中

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章