步驟1:工具和材料
此項(xiàng)目中使用了以下工具和材料:
工具和材料:
3D打印機(jī)(鏈接/鏈接/鏈接)。它用于打印電子設(shè)備封裝的外殼。
焊鐵和焊絲。部分組件(例如ESP8266 Firebeetle和LED矩陣蓋)未附帶焊接端子。我需要焊接一些電線或引腳以連接這些設(shè)備。
收縮管。 還必須焊接每個(gè)稱重傳感器的導(dǎo)線??梢允褂靡黄湛s管來(lái)更好地隔離導(dǎo)體。
螺絲刀。使用一些螺絲安裝結(jié)構(gòu)。使用一套螺絲刀。
螺絲。 我用了一些螺絲將3D打印部件固定在秤的底座上。
M2x6mm螺栓。它們用于將電子元件安裝在外殼內(nèi)。
1.75mm PLA (鏈接/鏈接/鏈接)您想要的任何顏色。
FireBeetle ESP8266開發(fā)板。使用Arduino IDE非常容易使用和編程。它具有內(nèi)置的Wi-Fi模塊,因此您可以在各種項(xiàng)目中使用它。它有一個(gè)3.7V電池的連接器,這對(duì)組裝這個(gè)項(xiàng)目非常有用。我還有一個(gè)內(nèi)置電池充電器。當(dāng)連接到USB插頭時(shí),它將為電池充電。如果您愿意,也可以使用其他基于ESP8266的板(鏈接/鏈接/鏈接)。在您選擇的電路板上下降,連接和充電電池或連接LED矩陣會(huì)更困難一些。案件的尺寸也需要驗(yàn)證。
Firebeetle覆蓋 - 24x8 LED矩陣。該模塊易于安裝在Firebeetle ESP8266開發(fā)板上。我用它來(lái)顯示微控制器測(cè)量的值,顯示一些狀態(tài)等。如果你愿意,你也可以使用其他類型的顯示器,如普通的LCD顯示器(鏈接/鏈接/鏈接)或OLED顯示器(鏈接/鏈接/鏈接) 。
HX711模塊(鏈接/鏈接/鏈接)。這用作稱重傳感器放大器。四個(gè)應(yīng)變式稱重傳感器連接到該模塊,它與ESP8266微控制器進(jìn)行串行通信。
50kg稱重傳感器(x4); (鏈接/鏈接/鏈接)。它們用于衡量用戶的體重。其中四個(gè)用于最大重量200公斤。
Micro USB線;
6根母 - 母跨接線;
2 x 15 mm膠合板(30 x 30 cm)。它被用作規(guī)模的基礎(chǔ)。
上面描述的鏈接只是建議你在哪里可以找到本教程中使用的項(xiàng)目(并支持我未來(lái)的黑客攻擊)。您可以隨意在其他地方搜索它們并在您最喜歡的商店購(gòu)買。
我使用的是FireBeetle ESP8266開發(fā)板,由DFRobot友情提供。它工作得很好!我還用NodeMCU板測(cè)試了代碼。它也工作得很好(雖然連接的時(shí)間明顯更長(zhǎng)。..。..我仍然不知道為什么。..。..)。
你知道你能以169.99美元的價(jià)格買到一臺(tái)Creality Ender 3D打印機(jī)嗎?拿你的! https://rebrand.ly/3Dprinter-GB
第2步:3D建模
智能秤使用Fusion 360 CAD軟件進(jìn)行設(shè)計(jì)。該模型由三個(gè)不同的3D打印部件組成:蓋子,外殼和底座。
外殼為電子設(shè)備提供外殼,保護(hù)它們免受物理接觸。電子元件安裝在蓋板部分(使用一些螺栓)。這部分有一個(gè)前遮陽(yáng)板,顯示器安裝在那里。稱重傳感器適合腳部,允許傳感器連接到底座。
步驟3:3D打印
你可以在以下網(wǎng)站上下載所有stl文件:
https://www.thingiverse.com/thing:2934791
https://pinshape.com/items/45555- 3D-印刷DIY-Wi-Fi的智能刻度
https://www.youmagine.com/designs/diy-wi-fi-smart-scale
HTTPS://cults3d.com/en/3d-model/gadget/diy-wi-fi-smart-scale
https://www.myminifactory.com/object/3d-print-diy-wi- fi-smart-scale-66654
我在PLA中打印了整個(gè)結(jié)構(gòu),使用了兩種不同的顏色。整個(gè)打印花了我5點(diǎn)30分左右,使用0.2毫米分辨率和10%填充。無(wú)需支持。
這是一個(gè)實(shí)驗(yàn)原型。請(qǐng)注意,它是為給定的ESP8266開發(fā)板模型(ESP8266 Firebeetle)設(shè)計(jì)的。
如果您沒(méi)有3D打印機(jī),可以執(zhí)行以下操作:
請(qǐng)朋友為您打印;
找到附近的黑客/制造商空間。可以快速打印此模型中使用的部件。一些黑客/制造商空間只會(huì)向您收取使用的材料;
購(gòu)買自己的3D打印機(jī)。您只需$ 169.99即可找到Creality Ender 3!來(lái)自https://rebrand.ly/3Dprinter-GB
改進(jìn)!您可以嘗試組裝沒(méi)有3D打印部件的結(jié)構(gòu)。
步驟4:木工
我的秤的基礎(chǔ)是兩塊15毫米30 x 30厘米的膠合板。
我用一把螺絲刀做了一些整體來(lái)傳遞稱重傳感器的導(dǎo)線,
步驟5:準(zhǔn)備電子設(shè)備:ESP32 Firebeetle和LED矩陣
某些組件在安裝前必須焊接在這個(gè)案子上。
我將一個(gè)公母針桿焊接到ESP8266模塊上。通過(guò)這種方式,我可以在其頂部,陰性連接器上連接LED矩陣屏蔽,并使用公引腳連接到HX-711模塊(用于傳感器)。
我還需要焊接LED矩陣上的公針桿,以便它可以連接到ESP8266模塊。
步驟6:準(zhǔn)備電子設(shè)備:HX711和稱重傳感器
焊接HX711端子
大多數(shù)HX711電路板沒(méi)有焊接引腳在他們的終端上。我焊接了一個(gè)公引腳條,后來(lái)用于連接ESP8266開發(fā)板和稱重傳感器。
焊料稱重傳感器信號(hào)端子
稱重傳感器通常有三根電線(黑色,白色和紅色)。紅線是信號(hào)線,我連接到HX711模塊。為此,我使用了兩個(gè)女性 - 女性跳線。我切斷了跳線的一側(cè),并將它的電線焊接到稱重傳感器的紅線上。我在焊料周圍使用了一個(gè)收縮管,以便更好地隔離。
我還必須焊接白色和黑色稱重傳感器電線,但只有在傳感器定位并連接到結(jié)構(gòu)后才能完成。
步驟7:組裝比例 - Pt1
首先,我必須將傳感器安裝在3D打印的腳部件內(nèi)。它們被鎖定在這個(gè)名聲中,然后使用一些螺絲固定在結(jié)構(gòu)上。
我使用了四個(gè)M2x1.6mm將顯示器連接到3D打印的封面部分。另外兩個(gè)螺栓用于HX-711模塊。 ESP8266使用內(nèi)螺紋桿連接到顯示模塊。四線跳線將HX-711連接到ESP8266模塊。有關(guān)后續(xù)步驟的更多信息。
封面部分適合3D打印機(jī)殼內(nèi)部。外殼有另外兩個(gè)矩形孔:一個(gè)用于HX-711模塊和負(fù)載傳感器之間的電纜,另一個(gè)用于USB電纜,用于為電路供電和上傳代碼。只有在連接傳感器后才會(huì)關(guān)閉案例(如下一步所示)。
步驟8:組裝比例 - Pt2
一旦3D打印零件和木板準(zhǔn)備就緒,是時(shí)候組裝結(jié)構(gòu)了。采取了以下步驟:
1。將稱重傳感器安裝在第一個(gè)木制面板上。我用過(guò)各自的螺絲。
2。在每個(gè)傳感器正上方的木板上制作一個(gè)孔。電纜穿過(guò)這些孔到達(dá)面板的另一側(cè)。
3。根據(jù)下一步所示的圖像焊接電線。
左上白線《=》右上白線
左下白線《=》右下白電線
左上黑線《=》左下黑線
右上黑線《=》右下黑線
使用一些收縮管以隔離電線。
4。附3D打印的外殼。將紅線穿過(guò)其中一個(gè)孔并將它們連接到HX711模塊。
5。使用四個(gè)螺釘將第二個(gè)面板安裝在第一個(gè)面板的頂部。
步驟9:最終觸摸
我畫了木板并在表殼上添加了一些細(xì)節(jié),以便更好地完成。
您可以選擇不同的顏色,甚至可以在表面添加不同的材料。
步驟10:連接電路
根據(jù)原理圖連接每個(gè)設(shè)備。
HX711 - 輸入:
左上角稱重傳感器信號(hào)(紅線)=》 HX711 E-針
左下傳感器信號(hào)(紅線)=》 HX711 A +針
右上方稱重傳感器信號(hào)(紅線)=》 HX711 A-引腳
右下方稱重傳感器信號(hào)(紅線)=》 HX711 E +引腳
HX711-輸出(使用母 - 母跳線) :
HX711 Vcc引腳=》 ESP8266 3.3V引腳
HX711 GND引腳=》 ESP8266 GND引腳
HX711 SCK引腳= 》 ESP8266 GPIO 12(引腳D9)
HX711 DT引腳=》 ESP8266 GPIO 0(引腳D8)
顯示模塊:
將它連接到Firebeetle ESP8266的頂部
當(dāng)所有設(shè)備都已接線時(shí),關(guān)閉機(jī)箱,在ESP8266上插入U(xiǎn)SB機(jī)箱并準(zhǔn)備上傳代碼。
步驟11:在Arduino IDE上設(shè)置FireBeetle ESP8266
對(duì)于這個(gè)項(xiàng)目,我使用了Arduino IDE用于編程我的ESP8266。如果您之前已經(jīng)使用過(guò)Arduino,這是更簡(jiǎn)單的方法,而且您不需要學(xué)習(xí)新的編程語(yǔ)言,例如Python或Lua。
如果您以前從未這樣做過(guò),那么首先你會(huì)必須為Arduino軟件添加ESP8266板支持。
您可以在Arduino的網(wǎng)站上找到適用于Windows,Linux或MAC OSX的最新版本:https://www.arduino.cc/en/main/software
免費(fèi)下載,將其安裝到您的計(jì)算機(jī)上并啟動(dòng)它。
2。添加ESP8266主板
Arduino IDE已經(jīng)支持很多不同的主板:Arduino Nano,Mine,Uno,Mega,Yún等。不幸的是ESP8266默認(rèn)不支持開發(fā)板。因此,為了將您的代碼上傳到ESP8266基板,您必須首先將其屬性添加到Arduino的軟件中。
導(dǎo)航到文件》首選項(xiàng)(在Windows操作系統(tǒng)上為Ctrl +);
將以下URL添加到Additional Boards Manager文本框(Preferences窗口底部的文本框):https://raw.githubusercontent.com/DFRobot/FireBeetle-ESP8266/master/package_firebeetle8266_index.json
如果文本框不是空白,則表示之前已經(jīng)在Arduino IDE上添加了其他板。在上一個(gè)URL和上面的URL末尾添加一個(gè)逗號(hào)。
點(diǎn)擊“確定”按鈕并關(guān)閉“首選項(xiàng)”窗口。
導(dǎo)航工具》板》板卡管理器,添加您的Firebeetle ESP8266板。
在搜索文本框中鍵入“Firebeetle-ESP8266”,選擇“DFRobot的FireBeetle-ESP8266”并安裝它。
現(xiàn)在您的Arduino IDE已準(zhǔn)備就緒使用Firebeetle ESP8266開發(fā)板。
3。添加庫(kù)
以下庫(kù)將用于我們的Arduino代碼。下載以下庫(kù):
Adafruit NeoPixel庫(kù)(https://github.com/adafruit/Adafruit_NeoPixel)
Arduino http客戶端庫(kù)(https://github.com)/arduino-libraries/ArduinoHttpClient)
Arduino IO庫(kù)(https://github.com/adafruit/Adafruit_IO_Arduino)
Adafruit MQTT庫(kù)(https://github.com/adafruit/Adafruit_MQTT_Library)
HX711庫(kù)(https://github.com/bogde/HX711)
Firebeetle LED矩陣庫(kù)(https://github.com/Chocho2017/FireBeetleLEDMatrix)
導(dǎo)航到Arduino IDE上的Sketch - 》 Include Library - 》 Manage Libraries 。..并添加上面的庫(kù)。
第12步:Adafruit.IO配置
有許多數(shù)據(jù)記錄服務(wù)可用于將微控制器與網(wǎng)絡(luò)通信。通過(guò)這些服務(wù),您可以上傳/下載云中的數(shù)據(jù),并做很多很酷的事情。看一下我的教程,了解如何使用Arduino + ESP8266從迷你氣象站發(fā)送數(shù)據(jù),例如Thinkgspeak。
Adafruit.IO就是其中一項(xiàng)免費(fèi)服務(wù)。它非常容易使用,并承諾為每個(gè)人帶來(lái)物聯(lián)網(wǎng)!
創(chuàng)建Adafruit IO網(wǎng)絡(luò)直播
以https:/登錄/io.adafruit.com/
在 Feed》創(chuàng)建新Feed 添加名為“my weight”的新Feed。它將創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),我們將使用它存儲(chǔ)小工具收到的命令。
復(fù)制您的Adafruit.IO密鑰,該密鑰稍后將用于允許您的設(shè)備訪問(wèn)數(shù)據(jù)庫(kù)。導(dǎo)航設(shè)置》查看AIO密鑰并復(fù)制活動(dòng)密鑰代碼。稍后您將需要它用于Arduino(NodeMCU)代碼。
在下一步中,我將向您展示如何配置IFTTT,這是我在此項(xiàng)目中使用的另一個(gè)平臺(tái)。每當(dāng)NodeMCU測(cè)量您的體重時(shí),它都會(huì)將此值保存在Adafruit.IO數(shù)據(jù)庫(kù)中。然后IFTTT平臺(tái)將該值發(fā)送到健身追蹤平臺(tái)(Fitbit,Strava,iOS Health或Misfit)。
步驟13:IFTTT配置
IFTTT是一個(gè)免費(fèi)的平臺(tái),可以幫助您連接應(yīng)用和設(shè)備。您可以使用它將智能手機(jī)與其他小工具連接,或者在您喜愛(ài)的網(wǎng)絡(luò)服務(wù)(如Google,F(xiàn)acebook,Twitter,Instragram等)和其他物理設(shè)備之間共享數(shù)據(jù)。最好的部分是它真的很容易使用!
IFTTT使用“if this then that”邏輯,其中“this”表示將觸發(fā)由“that”給出的給定動(dòng)作的服務(wù)。通過(guò)這種方式,您可以創(chuàng)建連接Web服務(wù)和設(shè)備的小程序。
對(duì)于這個(gè)項(xiàng)目,我使用IFTTT從Fitaf的Adafruit.io數(shù)據(jù)庫(kù)推送測(cè)量的重量。
首先,你需要登錄:
https://ifttt.com/
然后在智能手機(jī)上安裝IFTTT應(yīng)用程序。您可以在Google Play商店中找到它:
https://play.google.com/store/apps/details?id=com.ifttt.ifttt
您還可以找到它在Apple商店(適用于iPhone用戶):
https://itunes.apple.com/us/app/ifttt/id660944635?mt=8
在網(wǎng)站上,瀏覽到New Applet(單擊登錄旁邊的箭頭按鈕以訪問(wèn)菜單)。我下一步我會(huì)告訴你我是如何創(chuàng)建我的applet的。
第14步:IFTTT Applet - IOS健康
在網(wǎng)站上創(chuàng)建小程序:
點(diǎn)擊 +此;在 Seach service 文本框中輸入“adafruit”并選擇 Adafruit.IO》任何新數(shù)據(jù)的。正如它在IFTTT網(wǎng)站上所描述的那樣,它會(huì)創(chuàng)建一個(gè)觸發(fā)器,只要您的Feed中有新數(shù)據(jù),就會(huì)觸發(fā)該觸發(fā)器。選擇“我的體重”飼料;
現(xiàn)在選擇 +那;
輸入“ios health”并選擇 iOS Health》記錄您的體重。這樣可以為 iOS Health 保存新的重量測(cè)量值。點(diǎn)擊添加成分,然后選擇值。
完成小程序并將其打開。
測(cè)試:
在Adafruit.io上,選擇您的Feed,操作》添加數(shù)據(jù);
輸入您當(dāng)前的體重(或任何其他值)。該值將存儲(chǔ)在Adafruit.io數(shù)據(jù)庫(kù)中。 IFTTT將收聽(tīng)并上傳至Fitbit數(shù)據(jù)庫(kù);
登錄您的Fitbit帳戶,驗(yàn)證您當(dāng)前的體重是否已更新。
步驟15:IFTTT Applet - Fitbit
在網(wǎng)站上創(chuàng)建小程序:
點(diǎn)擊 +此;輸入“ adafruit“在 Seach服務(wù)文本框中選擇 Adafruit.IO》任何新數(shù)據(jù)。正如它在IFTTT網(wǎng)站上所描述的那樣,它會(huì)創(chuàng)建一個(gè)觸發(fā)器,只要您的Feed中有新數(shù)據(jù),就會(huì)觸發(fā)該觸發(fā)器。選擇“我的體重”飼料;
現(xiàn)在選擇 +那;
輸入“fitbit”并選擇 Fitbit》記錄您的體重。這為Fitbit節(jié)省了新的重量測(cè)量。點(diǎn)擊添加成分,然后選擇值。
完成小程序并將其打開。
測(cè)試:
在Adafruit.io上,選擇您的Feed,操作》添加數(shù)據(jù);
輸入您當(dāng)前的體重(或任何其他值)。該值將存儲(chǔ)在Adafruit.io數(shù)據(jù)庫(kù)中。 IFTTT將收聽(tīng)并上傳至Fitbit數(shù)據(jù)庫(kù);
登錄您的Fitbit帳戶,驗(yàn)證您當(dāng)前的體重是否已更新。
步驟16:ESP8266代碼
此時(shí)小工具幾乎完成了!
下載Arduino代碼并在Arduino IDE上打開它。必須更新一些參數(shù)(WIFI_SSID,WIFI_PASS,IO_USERNAME,IO_KEY和calibration_factor)。更新它們,并將代碼上傳到ESP8266。代碼將立即開始運(yùn)行。
要校準(zhǔn)比例,請(qǐng)?jiān)诒壤捻敳糠胖靡粋€(gè)已知的重量對(duì)象,并調(diào)整其因子直到它指示正確的值。您可以在您信任的另一個(gè)比例上測(cè)量自己的體重,它們會(huì)在物聯(lián)網(wǎng)等級(jí)上再次測(cè)量您的體重并相應(yīng)地調(diào)整因子。
智能秤將嘗試連接WiFi網(wǎng)絡(luò)并開始采取一些措施。如果測(cè)量的重量超過(guò)給定值(THRESHOLD),它將讀取給定次數(shù)的重量(NUM_MEASUREMENTS)并計(jì)算平均重量。如果兩次連續(xù)測(cè)量之間的重量變化超過(guò)一定值(THRESHOLD1),則重新開始該過(guò)程。
確定平均值后,它將顯示在LED矩陣上并傳輸?shù)紸rdafruit。 IO。比例將等到用戶退出并重新啟動(dòng)。
步驟17:用法
智能秤將嘗試連接WiFi網(wǎng)絡(luò)并開始采取一些措施。如果測(cè)量的重量超過(guò)給定值(THRESHOLD),它將讀取給定次數(shù)的重量(NUM_MEASUREMENTS)并計(jì)算平均重量。如果兩次連續(xù)測(cè)量之間的重量變化超過(guò)一定值(THRESHOLD1),則重新開始該過(guò)程。
確定平均值后,它將顯示在LED矩陣上并傳輸?shù)紸rdafruit。 IO。比例將等到用戶退出并重新啟動(dòng)。
步驟18:最終注意事項(xiàng)
我在此項(xiàng)目中付出了很多努力,使其盡可能清晰和有教育意義。如果你喜歡它,請(qǐng)不要忘記“喜歡”和“分享”它。你的支持對(duì)于我的工作非常重要! :D
責(zé)任編輯:wv
-
wi-fi
+關(guān)注
關(guān)注
14文章
2112瀏覽量
124330 -
智能秤
+關(guān)注
關(guān)注
0文章
4瀏覽量
1911
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論