开启新的征程,邀请您见证ST的蜕变

学习微波射频没方向?这些资料不可少!

【备战电赛】先导片-如何补全知识链条


基于MPU6050+NRF24l01+stm32的空中鼠标

  • 基于MPU6050+NRF24l01+stm32的空中鼠标
  • 基于MPU6050+NRF24l01+stm32的空中鼠标
  • 基于MPU6050+NRF24l01+stm32的空中鼠标
  • 基于MPU6050+NRF24l01+stm32的空中鼠标

基于MPU6050+NRF24l01+stm32的空中鼠标

基于MPU6050+NRF24l01+stm32的空中鼠标

基于MPU6050+NRF24l01+stm32的空中鼠标

基于MPU6050+NRF24l01+stm32的空中鼠标


鼠标由发射板和接收板组成,发射板主要包括stm32MPU6050NRF24l01,相信我不用说明大家都知道他们分别是干什么的了吧。
接收板主要包括stm32和NRF24l01,接收板通过USB接口和电脑连接,USB驱动是STM32的官方例程。另外,cpu使用的是stm32f103c8t6
这个芯片有两个优点,一个是小,另外一个是便宜,统计下来做一个鼠标刨去PCB的成本,大概60元左右。
这个空中飞鼠的原理大概讲一下,就是读取MPU6050中X和Z轴上的角速度值,然后通过NRF24l01发送给接收板,接收板通过NRF24l01
接收到数据后,通过stm32内部自带的USB模块将数据发送给电脑,而USB部分的东西基本不用去深入研究,使用的时候只要知道那个鼠标
数据的接口函数就可以了。

视频:

视频中只有发射板,我将发射板做成跟18650电池大小差不多,这样就直接可以放到移动电源里了,这样移动电源就不仅可以充电,还可以
当鼠标使用。怎么样实际的使用效果还可以吧?
下面是空中鼠标的图片细节。

这是发射板的PCB,MPU6050和NRF24l01都是直接使用的现成模块,方便了焊接并且提高了制作成功率。

这是装好后的实物图,也许你会奇怪后面为什么要用那么长的两个按键?这是因为我要把板子放到移动电源的电池仓内,所以需要很长的按键,
我也懒得再去研究怎么装按键会更好看,所以就用了这种懒办法。


这是接收板的PCB板和实物图,电路其实很简单,我做了两点优化,一个是双USB接口,这样不仅可以直接插到电脑上,而且可以在调试程序的时候
使用USB线来连接,另一个是将IO口全部引出,这样接收板还可以当做开发板使用,对于我这种电子爱好屌丝来说无疑是一个很省成本的方案。

上图是发射板放在移动电源中,移动电源最好选用内部是18650的,这样方便改造。只要将线连接好,将板子固定住,在盖子上打好洞就行,
我用的LDO是一个低压差的,座椅无论你使用移动电源出来的5V或者直接连接18650都是可以正常工作的。
最后,附上原理图和程序,没有太多注释,因为程序我自己写的部分很简单,其他部分都是官方或者战舰开发板上现成的例程,现在我的程序,
除了控制方向,鼠标左右键外,还增加了两个按键同时按下开启滚轮功能,期望有人能在我的基础上继续优化程序,因为我对算法这边实在了
解的不多。

电路相关文件

电路图文件
空中鼠标原理图.rar
描述:接收端与发射端原理图
源代码
空中鼠标源代码.zip
描述:接收端与发射端源代码
分享到:
收藏 (75)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归qiaoyang123 所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • 基于PX4传感器的MPU-6000、LSM303D、L3GD20、MS5611硬件设计及姿态解算的卡尔曼滤波

    此程序为STM32F103处理器的IMU处理程序外设IMU包括,l3gd20、MPU6000、ms5611、lsm303d滤波算法包括:滑动限幅滤波、滑动去最值滤波、二阶低通滤波、一阶低通滤波、微分滤波姿态解算算法包括: 12维扩展卡尔曼滤波、互补滤波其他封装资源:匿名上位机、 SEGGER系统调试、系统微妙级定时器、各串口DMA不定长发送与接收程序目录说明:Src/BSP: 存放底层驱动封装,例如 BSP_Usart 是对各串口资源进行DMA不定长发送和接收封装,BSP_Timer是对定时器进行封装,产生微秒精准延时以及系统时钟计数Src/Handle:算法模块封装,例如attitude_estimator_q 是互补滤波姿态解算封装, position_estimator_inav是位置解算封装。 AttitudeEKF 是对EKF1算法封装Src/Modules:外设模块封装,包括四个传感器Src/SystemView_Src_V252a: 官方给的Jlink调试库,用于使用Src/Tool: 工具封装,例如math_lib 是数学工具,Tool_ANO是匿名上位机工具, Tool_Filter是滤波工具注意: 若跑EKF1,则需要裸机进行,且栈空间至少 0x2000若跑互补滤波则可在FREERTOS下运行
  • 基于三星4412平台车联网系统

    基于三星4412平台车联网系统基于LINUX系统,兼容10寸液晶屏这款系统最主要的功能就是娱乐功能,可以实现看电影,听广播,GPS导航,除了以太网、声卡、按键、蜂鸣器、JTAG、GPIO、摄像头、AD转换、USB HOST、USB OTG、HDMI、TF卡、串口等接口以外,另外具有矩阵键盘、WIFI、485总线、CAN总线的模块扩展能力。
  • uwb+PA+LNA

    UWB+pa+LNA功能原理图及pcb电路图和一基站多标签测试代码
    来自:无线手持设备时间:2019-03-25 stm32 dw1000
  • MARS-STM32串口接收机 NRF24L01接收机 双工通讯

    STM32串口接收机用户手册v1.0STM32串口接收机用户手册v1.0. 11.串口接收机简介... 12.参数特性... 33.功能说明... 34.协议说明... 44.1传输数据包格式... 44.1.1无线收包... 44.1.2串口收包... 44.1.3无线发包... 44.2串口指令修改参数协议... 54.2.1.修改无线地址... 54.2.2.修改无线通道... 54.2.3.修改无线速率... 54.2.4.修改波特率... 64.2.5.查看参数表... 64.2.6.配对... 64.3按键操作... 65.联系我们... 71.串口接收机简介火星科技自主设计的STM32串口接收机是针对MARS-STM32遥控器配套使用的一款把遥控数据通过串口输出的接收机,接收机采用Coretex-M0内核,主频48MHz的STM32F0系列单片机。开发研制出的串口接收机有体积小巧,功能性强、实用性强、使用场景灵活等特点。可以用作车、船、飞机等一切需要无线遥控的设备上。接收机还支持与遥控器双向传输数据,用户可以根据协议从目标板通过串口发送数据到接收机,接收机再将数据无线传回遥控器。实物图尺寸图2.参数特性 Ø工作电压:4.5 - 5.5V Ø功 耗:< 60mA Ø尺 寸:15.03mm X 38.50mm 、14.80mm X 42.00mm Ø收发频率:50 Hz 3.功能说明串口接收机工作数据流可以分两种:下发数据和上传数据。下发数据:下发数据即通过无线接收到遥控器数据将其解析后通过串口转发至下位机。上传数据:接收机接收到下位机串口数据将其解析后通过无线上传至遥控器。支持串口下发指令的自定义设置功能 Ø与无线遥控器自动配对 Ø修改无线地址 Ø修改无线通道 Ø修改无线速率 Ø修改串口波特率 Ø查看参数表支持的手动按键功能 Ø短按:显示参数表 Ø双击:进入配对 Ø三击:预留 Ø长按:恢复默认参数4.协议说明这里详细介绍一下经过接收机传输的数据包、配置参数数据包及按键功能。4.1传输数据包格式传输的数据包可以细分为三类:分别是无线收包、串口收包和无线发包。4.1.1无线收包格式:长度(1字节) + 侦头(2字节) + 数据(n字节) + 校验(1字节) <= 32字节长度:包的第0字节 = 长度1字节 + 侦头(2字节) + 数据(n字节) + 校验(1字节)侦头:固定为:'M' '>'4.1.2串口收包格式:侦头(2字节) + 数据(n字节) <= 32-5 字节侦头:固定为'M' '<'4.1.3无线发包格式:长度(1字节) + 侦头(2字节) + 数据(n字节) + 校验(1字节) <= 32字节长度:包的第0字节 = 长度1字节 + 侦头(2字节) + 数据(n+1字节) + 校验(1字节)侦头:固定为'M' '<'数据(n+1字节) = RSSI + 串口收包数据(n字节)RSSI:信号强度4.2串口指令修改参数协议用户可以通过串口指令来修改、查看对应的无线参数、串口参数等。*note1:通过串口发送指令修改、查看参数的功能,严格区分大小写、必须以MARS为侦头且必须以换行("\r\n")结尾。*note2:通过串口发送指令成功修改参数、配对完成后参数会自动保存,下次上电启动按照最后保存的参数运行。4.2.1.修改无线地址串口发送格式:MARS+ADD=add1.add2.add3.add4.add5\r\n无线通信地址由五个字节的点分十进制组成,每个字节可以选择 0~255 中的任意一个。上电默认地址是: 000.017.034.051.068。如果要修改成 012.102.123.043.230 则在串口助手中发送如下:Example:MARS+ADD=012.102.123.043.230\r\n修改成功后会后串口打印信息提示:OK ->ADD=012.102.123.043.230\r\n* note:这里的地址每个字节必须用三位数表示,如 012 不能写成 12。4.2.2.修改无线通道串口发送格式:MARS+CH=Channel\r\nChannel支持 0~125 共 126 个无线信道。上电默认信道是 0。如要修改成 99 则在串口助手中发送如下:MARS+CH=99\r\n修改成功后会后串口打印信息提示:OK->CH=99\r\n4.2.3.修改无线速率串口发送格式:MARS+RATE=RATE\r\nRATE支持:0、1、2,其中分别代表250K、1M、2M。上电默认速率是 0,即250K。如要修改成 2M 则在串口助手中发送如下:Example:MARS+RATE=2\r\n修改成功后会后串口打印信息提示:OK->RATE=2\r\n4.2.4.修改波特率串口发送格式:MARS+BAUD=BAUD\r\n出厂默认BAUD是 9600。如要修改成 115200 则在串口助手中发送如下:Example:MARS+BAUD=115200\r\n修改成功后会后串口打印信息提示:OK->BAUD=115200\r\n4.2.5.查看参数表串口发送格式:MARS+PARAM\r\n正确发送成功后会有串口打印信息:Example:welcome to use Mars tech Com-Receiver!wireless address: 000.017.034.051.068wireless channel: 0wireless rate: 250Kusart baud: 96004.2.6.配对串口发送格式:MARS+PAIR\r\n正确发送成功后进入配对过程。4.3按键操作操作部分总体分为按键的单击、双击、三击和长按四种操作方式:短按:显示参数表双击:进入配对三击:预留长按:恢复默认参数火星团队有数名电子工程师,嵌入式工程师,物联网工程师。可以满足市面上大多数中高端电子产品的设计研发。团队积极向上,喜欢钻研,具备非常好的研发设计条件。先后也与多家公司企业进行合作,进行产品方案的设计,电子产品电路设计,PCB制作,单片机软件设计等。如有需求,欢迎联系。文档更新时间:2019/3/25
    来自:DIY创意产品时间:2019-03-25 stm32 nrf24l01 接收机
  • 基于串口wifi:ESP8266的空中鼠标TCP/IP的java程序设计

    这次我用串口8266wifi模块设计的控制电脑鼠标的空中鼠标安卓客户端的java测试程序,单片机接上wifi模块再通过usb链接电脑,手机连上wifi模块,通过发送定制的指令控制单片机,单片机再解析指令,解析成功之后就通过usb控制电脑。 本代码是安卓手机与服务器直接通信的测试程序,特色是服务器可以对每一个连上的客户端都新建一个线程,独立处理客户端的发送的信息,另外,处理客户端信息的时候又新建一个线程,这样可以高效地接收到客户端发送的请求。只要客户端不断开,服务器可以连续接收客户端的信息!这套程序很适合开发有连续请求的物联网开发。 测试程序一共有两个类,一个类负责产生一个线程链接上多个客户端,另一个类负责产生另一个线程处理客户端发送的请求。电脑服务器IP:192.168.1.102,端口是:8019,一共是两个客户端进行连接,用网络助手模拟客户端交替发送1111和2222,效果如图所示。
    来自:智能家居时间:2019-03-23 stm32 wifi模块 tcp/ip
  • 基于STM32的简易恒温箱设计与实现(PID温控)

    该设计是以STM32c8t6为主控,DS18b20采集箱内温度,通过PID控制之上算法 ,控制加热丝加热,同时用串行方式控制LCD12864显示相应内容。从而使保温箱达到是设定的温度。经测试,PID参数整定后,可将温度稳定在设定的目标温度。在此基础上再加了三个按键,其中中设计了两个接入STM32外部中断引脚PA6,PA7,通过加减可用来设定目标温度。另外接了一个复位按键。本设计可用于各种温控场合。温控箱控制盒内部图STM32C8T6最小系统板LCD12864串行转接板https://v.youku.com/v_show/id_XNDA4NDkzOTc0OA==.ht...https://v.youku.com/v_show/id_XNDA4NDkzOTc0OA==.ht...
    来自:DIY创意产品时间:2019-03-02 stm32 pid 温控
  • 仿生机械手掌控制系统设计

    本系统控制部分的设计,主要包括智能手套和仿生机械手两个部分的设计。智能手套有传感器和无线发射模块以及微控制器模块组成。其中传感器由五个部分。分别检测手指的不同的力。检测倒立之后将数据发送到微控制器中,微控制器通过无线发送的方式。将数据发生出去。仿生机械手部分包括仿生机械手和机械手连接两个部分。也就是说我们通过一定的机械设计。将这些机械手器官接触用一定的连接方式连接起来同时将这些膝关节处的连接用电机的方式进行驱动。每一个指关节都要进行驱动,然后我们把机械手部分通过一定的连接方式组合在一块儿。同时在机械手的控制部分,我们也采用了微控制器以及无线接收模块。一个是智能手套的控制,另一个就是仿生机械手的设计。我们将智能手套戴在手上,通过弯曲手指来感受到力的变化,从而传感器会采集到这个力的变化。将其送入到微控制器当中,得到的是电压值,通过模数转换器转换成数字信号。就可以在无线模块发送出去,然后仿生机械手上面的无线接收模块会接收这个数据。同时控制对应的舵机进行转动,带动一定的机械结构,使得我们的仿生机械手完成同样的动作。本次设计的电路图采用Autium designer2010软件,源码可以采用软件keilv5
    来自:可穿戴设备时间:2019-03-05 stm32 机械臂 仿生系统
  • 毕设-基于STM32下手机APP控制的智能彩灯

    该作品的MPU是STM32F030F4P6,选择理由:性价比高,芯片引脚少但是定时器引脚比较多,适合用于需要产生PWM波的产品。本作品就是使用其中的三组定时器作为RGB彩灯的控制,控制六个彩灯。另外,使用该芯片的串口外设连接ESP8266接收串口指令,由手机APP下发指令。提供电路原理图,PCB图,STM32源码和手机APP控制源码,供大家参考。
    来自:智能家居时间:2019-03-05 stm32 stm32f030f4p6 智能彩灯
  • Altium Designer 3D封装库 物联网(经过市场,产品化验证,主要产品为物联网)

    经过市场产品化验证的3D封装库,自己整理,主要从官方渠道获取比较完整,大部分元件都有了,总共20M大小,内容有,全系列的电阻,电容,电感,二极管(直插和贴片),TQF,SOP,SOT,SSOP,TSSOP,DIP,QFN,LQFP,TO-220,228,252,260系列,USB接口,排针,内存卡,sim卡座,晶振,电池座,蓝牙模块、LTE模块。
  • 最强毕设-智能手环(程序+PCB+CAD图+设计报告+答辩PPT+演示视频)完整设计方案

    智能手环(完整程序+PCB+集成库+CAD图+设计报告+答辩PPT+物料清单BOM+演示视频)完整设计方案用于毕业设计,提供了全套的毕设资料,淘宝毕设价格昂贵,本设计仅要求会焊板子就可以复现全部功能,程序和PCB文件全部提供完整版,还提供CAD设计图可以使用3D打印机加工外壳(淘宝有打印服务,价格很低),除此也有答辩ppt和技术报告,可以先看视频演示,满足贵校的毕设要求再购买。凡购买者提供答疑解惑服务,QQ在资料内视频链接:https://pan.baidu.com/s/1ay3Cs7v_WcaHDjzTMeCqgg 提取码:xp76实现功能(基本与市面上手环功能一致):①:MPU6050计算步数②:计算运动距离③:MAX30100采集心率,并128*64的OLED屏幕显示④:MAX30100分析血氧浓度⑤:计算运动消耗的卡路里⑥:电量显示⑦:循环显示功能⑧:计算时间、日期、星期⑨:JTAG/SWD下载⑩:支持抬腕唤醒功能 成品图 PCB图 (板子长度3.5厘米,设计紧凑和市面产品保持一致) 程序图,实现功能见上面描述,完整提供 部分原理图 上边的外壳 CAD图 PPT也完整提供补充:如果购买之后你还需要什么文件,可以询问我,我只要能提供全部给你。
销量
710
查看
7222
参数名 参数值
发布于 2015 年 03 月 25日
Moore8直播课堂