步驟1:工具和材料
工具
烙鐵
拆卸量規所需的手動工具根據您的尺寸而有所不同,但很可能是飛利浦螺絲刀和10mm插座
JST壓接工具(可選)
3d打印機(可選)
材料
需要
ESP32開發板
雙H橋電機驅動器(x2)
電線
汽車模擬量表
制造商將使用多種機制。我們將使用空心式壓力表
12v電源
5v電源
可選
220歐姆電阻(x4)
2.2k歐姆電阻(x4)
10k電阻
NPN晶體管(x4)
Perf-board
RGB LED燈條
JST連接器
第2步:電路設計
我們需要3個完整的H橋。我使用的型號是雙TB6612FNG和雙L298N。
每個空芯執行器需要2個完整的H橋,因為線圈需要獨立控制。
其中一個我使用的儀表有一個線圈與二極管和電阻短路接地。我不確定它背后的科學,但這樣做只允許一個線圈供電,它可以旋轉大約90度。
我將使用12v至5v穩壓器,它是L298N板的一部分我選擇為ESP32供電。
所有LED電路都是可選的,以及JST連接器。您可以輕松地將電線直接焊接到ESP32和電機驅動器。
步驟3:代碼設計
代碼設置
我們需要設置Arduino才能使用ESP32板。這里有一個很好的指南,將引導您完成ESP32 Arduino設置。
您還需要位于此處的Arduino_SNMP庫。
要配置代碼,您需要收集一些信息。
路由器IP
最大上傳速度
最大下載速度
您的WiFi名稱和密碼
包含路由器WAN接口上“in”和“out”八位字節數的OID
我們需要的信息有標準OID(對象標識符)。根據MIB-2標準,我們想要的數字是:
ifInOctets .1.3.6.1.2.1.2.2.1.16.X
ifOutOctets .1.3.6.1.2.1.2.2。 1.10.X
其中X是分配給要從中獲取統計信息的接口的編號。對我來說,這個數字是3.確認這是正確的OID以及確定需要使用的接口號的一種方法是使用MIB瀏覽器之類的工具。
為了獲得最高速度,我使用了SpeedTest.net。一旦你的速度達到Mbps,你就需要使用這個公式將它們轉換成八位字節。
每秒八位字節數=(速度測試的結果,以Mbps為單位* 1048576)/8
代碼功能
代碼向路由器發送SNMP get-request。然后路由器回復一個數字,該數字代表已發送或接收的八位字節數。同時,我們記錄自Arduino啟動以來經過的毫秒數。
一旦這個過程發生了至少兩次,我們可以使用此代碼計算基于我們最大值的使用百分比
percentDown =((float)(byteDown - byteDownLast)/( float)(maxDown *((millis() - timeLast)/1000)))* 100;
數學分解如下:
octetsDiff = snmp_result - Previous_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime =(timeFrame * Octets_per_second)/1000
百分比=(octetsDiff/MaxPosableOverTime)* 100
現在我們只需要將其寫入儀表的網絡使用百分比。我們分2步完成。首先,我們使用updateDownloadGauge函數。在這個函數中,我們使用“map”將百分比轉換為表示儀表上弧度位置的數字。然后我們將該數字提供給setMeterPosition函數以將針移動到新位置。
步驟4:案例設計
為了包含所有內容,我在fusion360中設計了一個機箱并對其進行了3D打印。我的設計相對簡單。我使用熱膠將組件固定到內部,并且通過夾在前蓋和后蓋之間將儀表固定到位。您無需使用3D打印來創建案例。例如,你可以用木頭制作一個盒子,或者你可以把所有東西放回到儀表進來的原始盒子里。
如果你想看看它們,我的STL文件可以在thingiverse上找到除非你得到我用過的完全相同的儀表,否則它們不太適合你。
案例檔案:https://www.thingiverse.com/thing:2932127
責任編輯:wv
-
連接器
+關注
關注
98文章
14630瀏覽量
136955 -
3D打印機
+關注
關注
9文章
527瀏覽量
44221
發布評論請先 登錄
相關推薦
評論