精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>帶有磁性鼠標(biāo)墊的基于ESP32的BLE鼠標(biāo)

帶有磁性鼠標(biāo)墊的基于ESP32的BLE鼠標(biāo)

2022-11-04 | zip | 0.16 MB | 次下載 | 免費

資料介紹

描述

教程是關(guān)于構(gòu)建基于 esp32 的 BLE 鼠標(biāo),與使用傳統(tǒng)方法使用光學(xué)傳感器構(gòu)建鼠標(biāo)不同,此鼠標(biāo)基于嵌入在定制 3D 打印鼠標(biāo)墊中的磁鐵工作。

請務(wù)必閱讀到本文末尾,以了解這款鼠標(biāo)是如何從頭開始構(gòu)建的,并了解如何僅使用單個磁極和一堆霍爾效應(yīng)傳感器來導(dǎo)航磁性表面!

補(bǔ)給品

這是可以幫助您輕松完成此項目的產(chǎn)品列表

(會員鏈接)

3d 打印機(jī):

打印機(jī)升級:

橙色燈絲

Esp32:

霍爾效應(yīng)傳感器:

磁鐵:

性能板:

18650 電池座:

18650 單元:

按鈕:

貼片電容電阻套件:

按鈕:

cp2102:

Tp4056:

第 1 步:光學(xué)鼠標(biāo)如何工作?

首先,我們來談?wù)剛鹘y(tǒng)鼠標(biāo)的工作原理

如果您看一下底部,您可能已經(jīng)注意到鼠標(biāo)發(fā)出華麗的紅光。這是鼠標(biāo)內(nèi)部的光學(xué)傳感器使用的光來確定運動。但它是如何工作的?

最初,當(dāng)我想到它時,我認(rèn)為它類似于線路跟隨器機(jī)器人中使用的 IR 傳感器,或者可能更復(fù)雜一些,例如 IC 中的 LED 和陣列以及光傳感器,最后可能是一些奇特的算法檢測運動。

但是當(dāng)我第一次聽到這項工作時,我被所使用的技術(shù)所震撼。所以,如果你還沒有聽說過,讓我破壞它。

更多信息

第 2 步:在光學(xué)鼠標(biāo)內(nèi)部

?
?
?
?
pYYBAGNkXHSAOzdRAAIEC2icTqM301.png
?
1 / 3
?

如果你打開鼠標(biāo),你會看到一個底部有一個小凹口的 IC,這是相機(jī)的外殼,當(dāng)你將它與實際的相機(jī)進(jìn)行比較時,這種捕捉方式太少了細(xì)節(jié)。因為這不是為了拍攝人和貓的照片,所以它是用來拍攝鼠標(biāo)使用表面上的圖案和微小凹槽的照片。一旦拍照,它就會應(yīng)用一種稱為光流的算法,該算法通過比較它在連續(xù)運動中拍攝的圖像幀來確定鼠標(biāo)的方向。

這真的讓我很吃驚,因為光流算法要檢測相機(jī)移動的方向,兩個連續(xù)的幀必須非常接近。如果它們離得很遠(yuǎn),那么算法就不能很好地工作。由于這個原因,鼠標(biāo)光學(xué)傳感器必須每秒捕獲近 2000 到 6000 幀。這比智能手機(jī)相機(jī)快得多。所以,從現(xiàn)在開始,當(dāng)你是一只鼠標(biāo)的時候,你可以認(rèn)為自己是一個高速攝像機(jī)操作員。

第 3 步:更換光學(xué)傳感器 - 故障

?
?
?
?
pYYBAGNkXHiAdXEPAANWiNrUEUc942.png
?
1 / 2
?

所以,從項目開始。我最初的想法是永遠(yuǎn)不要使用磁鐵。

本來只想做一個BLE藍(lán)牙鼠標(biāo),但是在設(shè)計鼠標(biāo)的時候,很快就遇到了找不到光學(xué)傳感器的問題。它并不便宜,而且 Arduino 社區(qū)最熟悉的那個現(xiàn)在已經(jīng)過時了。

所以我的天才大腦認(rèn)為我可以使用 ESP32 CAM 構(gòu)建光學(xué)傳感器。即使我至少可以獲得一些不錯的幀速率,我也會非常高興,因此我可以更換 ESP32 CAM 的鏡頭并制作一款速度非常慢/響應(yīng)速度較慢的鼠標(biāo)。但是在玩了一段時間的 ESP32 CAM 之后,我認(rèn)為從 ESP32 CAM 開始是一個非常糟糕的主意。

放棄 ESP32 CAM 的主要原因:

  • ESP32 CAM 在捕捉高幀率照片時不可靠,我可以推的最大值是 24,分辨率非常低。
  • 第二個原因是光流算法不能很好地工作并且多次使 esp32 崩潰。
  • 最后,大多數(shù) esp32 cam 的鏡頭都用強(qiáng)力膠固定在傳感器上。

第4步:磁鐵!!!

?
?
?
?
poYBAGNkXHuAHklRAADIkt3I0jQ322.png
?
1 / 2
?

由于我沒有光學(xué)傳感器的選擇,這讓我陷入絕望的境地,無法找到檢測鼠標(biāo)運動的方法,因為電子設(shè)備的重置和編碼非常簡單。這只是添加一些按鈕和集成 BLE。

我絕對可以使用任何一種舊方法來構(gòu)建鼠標(biāo)。但無論如何,該項目不會像我一開始想要的那樣高度可用。所以我決定制作一個鼠標(biāo),它使用一些獨特的方式來檢測運動。

就個人而言,我最喜歡用磁鐵做實驗,而且非常令人滿意。此外,我在以前的項目中使用過帶有電子設(shè)備的磁鐵。

第 5 步:使磁鐵有用

?
?
?
?
pYYBAGNkXICADRftAAJNs7PiYAo186.png
?
1 / 4
?

為了使這個磁鐵有用,我必須將磁場轉(zhuǎn)換為電信號,為此我們需要使用霍爾效應(yīng)傳感器。確切地說,我將使用 49E 線性霍爾效應(yīng)傳感器。

該傳感器會將磁場強(qiáng)度轉(zhuǎn)換為模擬電壓,稍后我們可以使用微控制器讀取該電壓。

經(jīng)過幾次實驗并使用磁鐵和霍爾效應(yīng)傳感器后,我發(fā)現(xiàn) 2 個磁鐵之間的距離合適,當(dāng)我穿過它們時,霍爾效應(yīng)傳感器的值會不斷變化。這非常重要,因為如果沒有這種值的變化,檢測運動是完全不可能的。

在我的例子中,距離是 3 毫米,對您來說可能會有所不同,因為霍爾效應(yīng)傳感器的值取決于磁鐵的直徑、厚度和材料。

第 6 步:構(gòu)建磁性鼠標(biāo)墊

?
?
?
?
poYBAGNkXIKAHAEhAAE5VYp1edg678.png
?
1 / 5
?

我在 Fusion 360 中設(shè)計了一個可以嵌入 49 個磁鐵的墊子,這給了我們 7 行和 7 列,每個磁鐵之間的距離是 3mm。49只是一個任意數(shù)字,可以增加磁鐵的數(shù)量來增加鼠標(biāo)墊的尺寸。

下一步是 3d 打印。并將磁鐵放置到位。只需確保將磁鐵放置在所有北極或南極都面向 u 的位置,這將確保我們有一個單極表面,這將使我們更容易檢測運動。

注意:對我來說,將磁鐵放置在正確的位置是一項艱巨的任務(wù),因為強(qiáng)磁場會使磁鐵相互坍塌。所以為了讓它不那么乏味,我不得不用一些膠帶把它們暫時固定在適當(dāng)?shù)奈恢谩?/font>

?

第 7 步:編碼器類比

?
?
?
?
pYYBAGNkXIWAJZ9rAAFhLKE9XIU809.png
?
1 / 4
?

通過這種當(dāng)前設(shè)置,我們可以看到在磁單極子表面上導(dǎo)航的邏輯

這個想法受到旋轉(zhuǎn)編碼器機(jī)制的極大啟發(fā)。如果您以前使用過旋轉(zhuǎn)編碼器機(jī)構(gòu),您就會知道它們是根據(jù)相位差原理工作的。來自編碼器的任一信號將滯后或超前,通過使用此相位差,我們可以確定我們是順時針還是逆時針方向轉(zhuǎn)動編碼器。我在描述中放置了一個鏈接,您可以在其中了解有關(guān)旋轉(zhuǎn)編碼器的更多信息。

現(xiàn)在,類似地,我們將使用 4 個具有不同相位的單個,其中兩個用于檢測左、右,另外兩個用于檢測上、下。

注意:編碼器如何工作

第 8 步:找出霍爾效應(yīng)傳感器的運動和方向

?
?
?
?
pYYBAGNkXIiAG6JoAAC-eqw5q30578.png
?
1 / 4
?

起初,很難注意到或有點難以想象我們?nèi)绾问褂么盆F實現(xiàn)編碼器類比。但是看看它們是如何工作的還是很有趣的。

首先,繪制出焊盤上所有磁鐵的磁場。當(dāng)我們將傳感器掃過網(wǎng)格時,這應(yīng)該會給我們一個近似正弦波,其中正弦波的頂峰是霍爾效應(yīng)傳感器讀取的最大磁場,底部波谷是霍爾讀取的最小磁場效應(yīng)傳感器。

現(xiàn)在有了這個霍爾效應(yīng)傳感器值,我們可以通過比較過去和現(xiàn)在的讀數(shù)來找到霍爾效應(yīng)傳感器的運動和方向。

第 9 步:使用單個傳感器的問題

?
?
?
?
pYYBAGNkXI2AYMCYAAbN_NXxIBY658.png
?
1 / 3
?

我剛才說我們可以通過一個傳感器找到霍爾效應(yīng)傳感器的方向和運動。因此,很容易假設(shè)我們只需使用 2 個傳感器就可以找到所有四個方向,以及為什么兄弟使用編碼器機(jī)制。

但這就是事情變得棘手的地方。

如果我將兩個傳感器固定在同一平面上并開始移動平面,您可以看到霍爾效應(yīng)傳感器的值都發(fā)生了變化,無論是從左到右還是從上到下。這使得確定鼠標(biāo)確切移動的方向變得非常復(fù)雜。

為了解決這個問題,我將添加另一組霍爾效應(yīng)傳感器。我們將使用其中兩個來檢測左右運動,其余兩個用于檢測上下運動。

第 10 步:添加更多對霍爾效應(yīng)傳感器

?
?
?
?
poYBAGNkXJCAB8eCAACde1kWoRs797.png
?
1 / 6
?

這組額外的傳感器將在讀數(shù)中產(chǎn)生偏移,如果您看到左右傳感器一起讀數(shù),當(dāng)我左右移動鼠標(biāo)時,它們中的任何一個都會領(lǐng)先或落后。確切地說,這也適用于 up 和 down 。我們也可以使用單個傳感器來做到這一點。

有趣的是,相移僅發(fā)生在一組傳感器上,當(dāng)平面沿單個方向(上/下或左/右)移動時,讀數(shù)具有相移,而對于剩余的一組傳感器, [理想情況下]不會發(fā)生相移。

因此,通過以這種方式布置傳感器,我們可以檢測到用于在屏幕上向各個方向移動鼠標(biāo)的所有 4 個方向。

如果您覺得難以理解,我建議您下載 CAD 模型并自己嘗試。

第 11 步:BLE 鼠標(biāo)的電子設(shè)備

?
?
?
?
poYBAGNkXJKASXVlAAFpxvYix88950.png
?
1 / 3
?

不管怎樣,既然鼠標(biāo)的運動已經(jīng)弄清楚了,剩下的電路就很容易了!

只需為 esp32 添加一些按鈕、電池和充電電路。您可以查看電路圖以更好地理解(這些電路大部分用于我之前的項目中)。

?

第 12 步:使用 PCBway 制造 PCB

?
?
?
?
poYBAGNkXJWAHMH5AAKWdVTwjQY434.png
?
1 / 4
?

一旦電路和PCB布局準(zhǔn)備就緒。我發(fā)送了用于制造的 Gerber 文件,PCBway慷慨地贊助了這個項目。

因此,如果您的項目需要定制 PCB,他們提供 10 個定制 PCB,價格低至 5 美元,并且您可以為您的 PCB 選擇各種定制,例如阻焊層、絲層和表面光潔度的顏色。在您的第一個訂單中,您將獲得 5 美元的優(yōu)惠券!因此,基本上,您只需在第一個訂單期間支付運費。因此,請查看描述中的鏈接以訪問他們的網(wǎng)站。

一周后,我收到了我的多氯聯(lián)苯。除了 PCB,我還收到了一個閃亮的鋁模板,便于焊接。

第 13 步:組裝和焊接

?
?
?
?
poYBAGNkXJqARgyDAASH5ZyG4Uk644.png
?
1 / 6
?

現(xiàn)在,是采購組件的時候了,由于某種原因,這個項目在獲取組件方面遇到了很多問題,有一些在運輸過程中丟失了,還有一些在定制中停留了太久。無論如何,我想盡快完成這個項目,所以我將不使用那些剩余的組件。

注意:出于同樣的原因,我沒有包含該項目的 Gerber 文件。但無論如何,我用更容易/更容易獲得的組件更新了電路圖。所以,我很快也會嘗試重建 PCB。

第 14 步:對 ESP32 BLE 鼠標(biāo)進(jìn)行編程

?
?
?
?
pYYBAGNkXJ-AaHRiAAQrxwaLJXM862.png
?
1 / 3
?

對于代碼,第一步是清理信號。

在這里,您可以使用不同類型的濾波器數(shù)字信號處理方法來清除噪聲。但為了保持簡單和快速,我將通過平均信號來平滑信號。然后我使用了旋轉(zhuǎn)編碼器示例代碼并對其進(jìn)行了一些修改,以使用所有四個傳感器來檢測運動。老實說,這是我一段時間以來寫的最糟糕的代碼之一,因為在拖了這個項目太久之后我失去了耐心。

無論如何,在為按鈕添加一些 esp32 BLE 庫和附加代碼之后,我們就完成了!

只需上傳代碼就可以了。

?

第 15 步:測試 BLE 鼠標(biāo)

?
?
?
?
pYYBAGNkXKGALeOPAADgLvh3fpg017.png
?
1 / 5
?

好吧,我絕對認(rèn)為運動檢測會更好。但至少它有效!和其他功能,如左鍵單擊、右鍵單擊滾動單擊效果很好。[我會盡快更新視頻]

第 16 步:最后的想法

?
?
pYYBAGNkXKiAAyulAAee4JDghhw655.jpg
?

這個項目無論如何都不完美。我會說它也只有 50% 的工作/準(zhǔn)確度,我不確定是否可以像實際鼠標(biāo)一樣進(jìn)行平滑移動,但我可以做幾件事。首先我可以回過頭來復(fù)習(xí)一下我對濾波器和數(shù)字信號處理的了解,讓來自傳感器的信號更好,使鼠標(biāo)移動更流暢。或者其次,我可以嘗試其他類型的傳感器,我目前正在尋找替代品,如 IR 傳感器、激光等。

在評論部分讓我知道您對此的看法。

我希望至少這篇文章能給你一些新的想法和不同的方法來構(gòu)建鼠標(biāo)。請務(wù)必閱讀更多即將發(fā)布的教程,并確保查看我的Youtube 頻道以獲取更多類似內(nèi)容。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費