讀這篇文章大約需要兩分鐘
今天有點(diǎn)事,太忙了,再忙也不能沒有干貨分享。
什么是無線飛鼠
今天分享好久之前實(shí)現(xiàn)的一個無線飛鼠。還不知道什么是無線飛鼠吧?鼠標(biāo)見過么,就和鼠標(biāo)一樣,不過普通鼠標(biāo)只能放在桌面上,離開桌面是無法準(zhǔn)確使用的,但是這款無線飛鼠缺可以使用。
外觀
先看看外觀樣子,這樣心中有了大概的了解
無線飛鼠接收端
無線飛鼠發(fā)送端-手持端
整體由2部分組成,發(fā)射端和接收端。
原理
手持端實(shí)時獲取當(dāng)前的位置及姿態(tài)信息,通過計(jì)算將計(jì)算后的值通過無線2.4G發(fā)送給接收端,接收端接收到后將對應(yīng)的信息轉(zhuǎn)化成USB協(xié)議規(guī)定的信息,然后進(jìn)行顯示控制。
涉及到的技術(shù)
無線通信
卡爾曼子濾波
USB通信
C語言編程
開發(fā)流程
開發(fā)流程主要有:
硬件電路選型
傳感器選擇
原理梳理學(xué)習(xí)
編碼測試
因?yàn)檫@個是給別人做的,所以硬件選型上直接選擇自己最熟悉的STM32,也是買的現(xiàn)成的,本著快速開發(fā)為目的。
姿態(tài)檢測
鼠標(biāo)姿態(tài)檢測使用MPU6050傳感器,這是一個六軸傳感器,通過試試通信將姿態(tài)信息通過I2C總線傳輸。
MPU6050
MPU6050通信方式為I2C,簡單說就是通過2根線
原理圖
I2C原理
無線傳輸
無線傳輸使用NRF24L01模塊,該模塊采用2.4Ghz進(jìn)行傳輸。
RF24L01模塊
整個系統(tǒng)必須使用2個,才能構(gòu)成一對進(jìn)行數(shù)據(jù)收發(fā)。
USB通信
UBS通信這塊屬于比較難的,光USB協(xié)議就有厚厚的一本書,所以還是很難的,不過本次使用的知識點(diǎn)可以不用涉及到非常底層的東西,好多api直接拿過來用就行了,想要細(xì)究需要花費(fèi)一點(diǎn)時間哦。
部分代碼展示
接收端主函數(shù)
詳細(xì)的數(shù)組幀組織,發(fā)送和接收協(xié)議組織:
數(shù)據(jù)組織
好了,就寫這些,有不懂的可以私信交流哦。
原創(chuàng)不易,若覺得不錯,希望多留言,關(guān)注,點(diǎn)贊都是對我的支持對我的認(rèn)可!鵝卵石再次感謝了!
1.《怎么弄超級小飛鼠看這里!無線飛鼠來了,純手工使用2塊STM32核心板實(shí)現(xiàn)自己的無線飛鼠》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《怎么弄超級小飛鼠看這里!無線飛鼠來了,純手工使用2塊STM32核心板實(shí)現(xiàn)自己的無線飛鼠》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3218765.html