那曲檬骨新材料有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>帶有磁性鼠標墊的基于ESP32的BLE鼠標

帶有磁性鼠標墊的基于ESP32的BLE鼠標

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

資料介紹

描述

教程是關于構建基于 esp32 的 BLE 鼠標,與使用傳統方法使用光學傳感器構建鼠標不同,此鼠標基于嵌入在定制 3D 打印鼠標墊中的磁鐵工作。

請務必閱讀到本文末尾,以了解這款鼠標是如何從頭開始構建的,并了解如何僅使用單個磁極和一堆霍爾效應傳感器來導航磁性表面!

補給品

這是可以幫助您輕松完成此項目的產品列表

(會員鏈接)

3d 打印機:

打印機升級:

橙色燈絲

Esp32:

霍爾效應傳感器:

磁鐵:

性能板:

18650 電池座:

18650 單元:

按鈕:

貼片電容電阻套件:

按鈕:

cp2102:

Tp4056:

第 1 步:光學鼠標如何工作?

首先,我們來談談傳統鼠標的工作原理

如果您看一下底部,您可能已經注意到鼠標發出華麗的紅光。這是鼠標內部的光學傳感器使用的光來確定運動。但它是如何工作的?

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

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

更多信息

第 2 步:在光學鼠標內部

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

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

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

第 3 步:更換光學傳感器 - 故障

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

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

本來只想做一個BLE藍牙鼠標,但是在設計鼠標的時候,很快就遇到了找不到光學傳感器的問題。它并不便宜,而且 Arduino 社區最熟悉的那個現在已經過時了。

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

放棄 ESP32 CAM 的主要原因:

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

第4步:磁鐵!!!

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

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

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

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

第 5 步:使磁鐵有用

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

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

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

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

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

第 6 步:構建磁性鼠標墊

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

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

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

注意:對我來說,將磁鐵放置在正確的位置是一項艱巨的任務,因為強磁場會使磁鐵相互坍塌。所以為了讓它不那么乏味,我不得不用一些膠帶把它們暫時固定在適當的位置。

?

第 7 步:編碼器類比

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

通過這種當前設置,我們可以看到在磁單極子表面上導航的邏輯

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

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

注意:編碼器如何工作

第 8 步:找出霍爾效應傳感器的運動和方向

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

起初,很難注意到或有點難以想象我們如何使用磁鐵實現編碼器類比。但是看看它們是如何工作的還是很有趣的。

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

現在有了這個霍爾效應傳感器值,我們可以通過比較過去和現在的讀數來找到霍爾效應傳感器的運動和方向。

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

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

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

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

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

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

第 10 步:添加更多對霍爾效應傳感器

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

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

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

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

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

第 11 步:BLE 鼠標的電子設備

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

不管怎樣,既然鼠標的運動已經弄清楚了,剩下的電路就很容易了!

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

?

第 12 步:使用 PCBway 制造 PCB

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

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

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

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

第 13 步:組裝和焊接

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

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

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

第 14 步:對 ESP32 BLE 鼠標進行編程

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

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

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

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

只需上傳代碼就可以了。

?

第 15 步:測試 BLE 鼠標

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

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

第 16 步:最后的想法

?
?
pYYBAGNkXKiAAyulAAee4JDghhw655.jpg
?

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

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

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

?


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  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元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐开庄几率| 百家乐官网中的概率| 真人百家乐官网口诀| 真人百家乐官网分析软件是骗局| 百家乐官网靠什么赢| 博彩资讯网| 云顶国际网| 大发888为什么打不开| 百家乐官网有破解的吗| 荷规则百家乐官网的玩法技巧和规则 | 娱乐城官方网站| 永德县| 葡京百家乐技巧| 太阳城申博娱乐| 豪杰百家乐官网游戏| 百家乐官网视| 玩百家乐官网技巧博客| 大发888游戏客户端下载| 大发888 软件| 百家乐官网牌壳| 希尔顿百家乐官网娱乐城 | 清水河县| 百家乐赌场论坛在线| 百家乐官网最长的闲| 红桃K百家乐的玩法技巧和规则 | 网上赌博游戏| 百家乐换房| 百家乐官网那个平台好| 大发888网站是多少呢| 百家乐龙虎规则| 360博彩通| 大发888娱乐城lm0| 百家乐视频聊天游戏| 百家乐官网赌博论坛博客| 必胜娱乐| 百家乐职业打| 百家乐官网赌场视频| 太阳城百家乐官网手机投注| bet365提款| 娱乐城百家乐官网的玩法技巧和规则| 大西洋娱乐城开户地址|