第1步:
使用了以下工具和材料在此項目中:
工具和材料:
3D打印機。它用于打印電子設(shè)備封裝的外殼。
焊鐵和焊絲。部分組件(例如ESP8266 Firebeetle和LED矩陣蓋)未附帶焊接端子。我需要焊接一些電線或引腳以連接這些設(shè)備。
收縮管。 l還必須焊接每個稱重傳感器的導(dǎo)線。可以使用一片收縮管來更好地隔離導(dǎo)體。
螺絲刀。使用一些螺絲安裝結(jié)構(gòu)。使用一套螺絲刀。
螺絲。 我用了一些螺絲將3D打印部件固定在秤的底座上。
M2x6mm螺栓。它們用于將電子元件安裝在外殼內(nèi)。
1.75mm PLA 您想要的任何顏色。
FireBeetle ESP8266開發(fā)板。使用Arduino IDE非常容易使用和編程。它具有內(nèi)置的Wi-Fi模塊,因此您可以在各種項目中使用它。它有一個3.7V電池的連接器,這對組裝這個項目非常有用。我還有一個內(nèi)置電池充電器。當(dāng)連接到USB插頭時,它將為電池充電。如果您愿意,也可以使用其他基于ESP8266的電纜。在您選擇的電路板上下降,連接和充電電池或連接LED矩陣會更困難一些。案件的尺寸也需要驗證。
Firebeetle覆蓋 - 24x8 LED矩陣。該模塊易于安裝在Firebeetle ESP8266開發(fā)板上。我用它來顯示微控制器測量的值,顯示一些狀態(tài)等。如果你愿意,你也可以使用其他類型的顯示器,如普通的LCD顯示器(鏈接/鏈接)或OLED顯示器(鏈接/鏈接)。
HX711模塊。這用作稱重傳感器放大器。四個應(yīng)變式稱重傳感器連接到該模塊,它與ESP8266微控制器進(jìn)行串行通信。
50kg稱重傳感器(x4); 。它們用于衡量用戶的體重。其中四個用于最大重量200公斤。
蜂鳴器。這用于制造惱人的噪音并喚醒我!
Micro USB線;
6根母女跳線
2 x 15 mm膠合板(30 x 30 cm)。它被用作規(guī)模的基礎(chǔ)。
上面描述的鏈接只是建議你在哪里可以找到本教程中使用的項目(并支持我未來的黑客攻擊)。您可以隨意在其他地方搜索它們并在您最喜歡的商店購買。
我使用的是FireBeetle ESP8266開發(fā)板。它完美無缺!
您知道嗎,只需139.99美元即可購買Anet A8 3D打印機?
第2步:3D建模
在這個項目中,我使用了為我的DIY Wi-Fi Smart Scale項目設(shè)計的相同3D打印部件。
智能秤使用Fusion 360 CAD軟件進(jìn)行設(shè)計。該模型由三個不同的3D打印部分組成:蓋子,盒子和腳。
3D打印機殼為電子設(shè)備提供外殼,保護(hù)它們免受物理接觸。電子元件安裝在蓋板部分(使用一些螺栓)。這部分有一個前遮陽板,顯示器附在其上。稱重傳感器適合腳部,允許傳感器連接到底座。
步驟3:3D打印和木工
我在PLA中打印了整個結(jié)構(gòu),兩個不同顏色。整個打印花了我5點30分左右,使用0.2毫米分辨率和10%填充。無需支持。
這是一個實驗原型。請注意,它是為給定的ESP8266開發(fā)板模型(ESP8266 Firebeetle)設(shè)計的。
如果您沒有3D打印機,可以執(zhí)行以下操作:
請朋友為您打印;
找到附近的黑客/制造商空間。可以快速打印此模型中使用的部件。一些黑客/制造商空間只會向您收取使用的材料;
購買自己的3D打印機。您只需$ 389.99即可找到Creality3D CR10!來自http://bit.ly/2JIUVrf
隱私!您可以嘗試組裝沒有3D打印部件的結(jié)構(gòu)。
我的秤的基礎(chǔ)是兩塊15毫米30 x 30厘米的膠合板。
我使用螺絲刀做了一些整體,用于傳遞稱重傳感器的導(dǎo)線,以及用于連接3D打印部件。
步驟4:組裝秤
您可以找到有關(guān)如何的詳細(xì)說明在我之前的教程(鏈接)上組裝比例。這一次,我將專注于我必須在硬件和軟件上進(jìn)行的更改,以添加新功能(帶有警報蜂鳴器的互聯(lián)網(wǎng)同步時鐘)。我建議你在繼續(xù)之前閱讀我以前的項目,特別是如果你想制作完整的小工具。
長話短說,我必須做以下事情:
焊接一些組件;
將稱重傳感器安裝在3D打印的腳部件內(nèi),并使用一些螺釘將其連接到第一個木制面板上;
將顯示器,HX-711模塊和ESP8266 Firebeetle連接到3D打印的蓋子部件;
用一些螺絲將外殼安裝到木板上;
連接電線(稍后會詳細(xì)介紹);
使用3D打印封面關(guān)閉3D打印的外殼
將第二個木制底板安裝在第一個上面;
繪制木板并在箱子上添加一些細(xì)節(jié)以便更好地完成。
步驟5:準(zhǔn)備電子設(shè)備和接線電路
在此階段,規(guī)模已經(jīng)完全組裝和功能。我將在這里描述添加蜂鳴器時必須做的更改。
首先我必須拆解部分結(jié)構(gòu)。移除前蓋以訪問微控制器的引腳。幾個跳線連接到數(shù)字引腳D3和D5。其中一個將提供蜂鳴器的GND參考,而另一個將提供頻率信號并產(chǎn)生聲音。
這次不需要焊接。我使用了母 - 母跳線來連接GPIO引腳和蜂鳴器引腳之間的連接。
最后,我有以下連接:
HX711 - 輸入:
左上傳感器信號(紅線)=》 HX711 E-引腳
左下傳感器信號(紅線)=》 HX711 A +引腳
右上方稱重傳感器信號(紅線)=》 HX711 A-針
右下方稱重傳感器信號(紅線)=》 HX711 E +針
HX711-輸出:(使用母 - 母跳線)
HX711 Vcc引腳=》 ESP8266 3.3V引腳
HX711 GND引腳=》 ESP8266 GND引腳
HX711 SCK引腳=》 ESP8266 GPIO 12(引腳D9)
HX711 DT引腳=》 ESP8266 GPIO 0(引腳D8)
蜂鳴器:(使用女性 - 女性跳線)
蜂鳴器正極引腳=》 ESP8266 GPIO 10(引腳D3)
蜂鳴器負(fù)極引腳=》 ESP8266 GPIO 2(引腳D5)
顯示模塊:
將它連接到Firebeetle ESP8266的頂部
注意我使用針腳D5作為蜂鳴器的GND。一旦我的ESP8266板的所有接地引腳都已被占用,我將此引腳用作輸出,設(shè)置為低電平,以便它可以用作GND引腳。蜂鳴器消耗的電流是有限的,所以沒關(guān)系。
這個蜂鳴器的聲音并不大。畢竟,它只是一個廉價的5V蜂鳴器,由3.3V引腳供電。但這肯定足以喚醒我(考慮到我把它放在我的床邊)。
檢查連接后,案件再次關(guān)閉。現(xiàn)在讓我們轉(zhuǎn)到Arduino代碼!
步驟6:在Arduino IDE上設(shè)置FireBeetle ESP8266
和以前一樣,我使用Arduino IDE編程我的ESP8266。如果您之前已經(jīng)使用過Arduino,這是更簡單的方法,而且您不需要學(xué)習(xí)新的編程語言,例如Python或Lua。
如果您以前從未這樣做過,首先,您必須為Arduino軟件添加ESP8266板支持。
免費下載,將其安裝到您的計算機上并啟動它。
2。添加ESP8266主板
Arduino IDE已經(jīng)支持很多不同的主板:Arduino Nano,Mine,Uno,Mega,Yún等。不幸的是ESP8266默認(rèn)不支持那些被支持的人開發(fā)板。因此,為了將您的代碼上傳到ESP8266基板,您必須首先將其屬性添加到Arduino的軟件中。
導(dǎo)航到文件》首選項(在Windows操作系統(tǒng)上為Ctrl +);
將以下URL添加到Additional Boards Manager文本框(Preferences窗口底部的文本框)
如果文本框不是空白,則表示之前已經(jīng)在Arduino IDE上添加了其他板。在上一個URL和上面的URL末尾添加一個逗號。
點擊“確定”按鈕并關(guān)閉“首選項”窗口。
導(dǎo)航工具》板》板卡管理器,添加您的Firebeetle ESP8266板。
在搜索文本框中鍵入“Firebeetle-ESP8266”,選擇“DFRobot的FireBeetle-ESP8266”并安裝它。
現(xiàn)在您的Arduino IDE已準(zhǔn)備就緒使用Firebeetle ESP8266開發(fā)板。
第3。添加庫
以下庫將用于我們的Arduino代碼。下載以下庫:
Adafruit NeoPixel庫
Arduino http客戶端庫
Arduino IO庫
Adafruit MQTT庫
HX711庫
Firebeetle LED矩陣庫
導(dǎo)航到Arduino IDE上的Sketch - 》 Include Library - 》 Manage Libraries 。..并添加上面的庫。
將ESP8266模塊連接到PC的USB端口,我們已經(jīng)準(zhǔn)備好了一些代碼!
步驟7:Adafruit.IO配置
但首先,讓我們配置我們的Adafruit.io Feed。
有一個許多數(shù)據(jù)記錄服務(wù)可用于將微控制器傳送到Web。通過這些服務(wù),您可以上傳/下載云中的數(shù)據(jù),并做很多很酷的事情。看一下我的教程,了解如何使用Arduino + ESP8266從迷你氣象站發(fā)送數(shù)據(jù),例如Thinkgspeak。
Adafruit.IO就是其中一項免費服務(wù)。它非常容易使用,并承諾為每個人帶來物聯(lián)網(wǎng)!
創(chuàng)建Adafruit IO網(wǎng)絡(luò)直播
以https:/登錄/io.adafruit.com/
在 Feed》創(chuàng)建新Feed 添加名為“my weight”的新Feed。它將創(chuàng)建一個數(shù)據(jù)庫,我們將使用它存儲從小工具收到的測量重量。
創(chuàng)建另一個名為“鬧鐘”的Feed。這個用于配置鬧鐘;
復(fù)制您的Adafruit.IO密鑰,該密鑰稍后將用于允許您的設(shè)備訪問數(shù)據(jù)庫。導(dǎo)航設(shè)置》查看AIO密鑰并復(fù)制活動密鑰代碼。稍后您將需要它用于您的Arduino(NodeMCU)代碼。
在我之前的項目(鏈接)上,我還介紹了如何為Adafruit之間的通信配置IFTTT服務(wù)。 io和一些健身追蹤平臺(Fitbit,Strava,iOS Health或Misfit)。這次我將重點關(guān)注代碼的鬧鐘部分,所以我將跳過有關(guān)如何配置IFTTT的詳細(xì)信息。
步驟8:ESP8266代碼
此時小工具差不多完成了!
下載Arduino代碼并在Arduino IDE上打開它。必須更新以下參數(shù):
WIFI_SSID :在此輸入您的Wi-Fi路由器SSID
WIFI_PASS :在此輸入您的Wi-Fi網(wǎng)絡(luò)密碼
IO_USERNAME :這是您的Adafruit.io用戶名
IO_KEY :應(yīng)在此處輸入Adafruit.io密鑰
calibration_factor :此constal用于比例的校準(zhǔn)
TIMEZONE :您居住的時區(qū)(適用于時鐘調(diào)整)
bedtimehour 和 睡前時間 :您平時睡覺的時間
配置它們,并將代碼上傳到ESP8266。代碼將立即開始運行。
智能秤將嘗試連接WiFi網(wǎng)絡(luò)和Adafruit.io服務(wù)。首次使用時,您必須設(shè)置鬧鐘時間。轉(zhuǎn)到https://io.adafruit.com/username/feeds/alarm-clock并單擊操作》添加數(shù)據(jù)。輸入鬧鐘使用的時間(使用 hh:mm 格式)并發(fā)送。該值將由刻度接收并存儲在其EEPROM存儲器中。
每分鐘都會根據(jù)從Google服務(wù)器收到的值更新時鐘。您可以在此處找到有關(guān)它的更多詳細(xì)信息。如果達(dá)到就寢時間,顯示屏將變?yōu)椋ǖ潭葘⒗^續(xù)運行)。在鬧鐘時間,蜂鳴器將開始響鈴,直到有人(或某物)在秤上。
如果測量的重量超過給定值(THRESHOLD),它將讀取給定次數(shù)的重量( NUM_MEASUREMENTS)并計算平均重量。如果兩個連續(xù)測量之間的重量變化超過某個值(THRESHOLD1),則重新開始該過程。確定平均值后,它將顯示在LED矩陣上并傳輸?shù)紸rdafruit.io。刻度將等到用戶退出并重新啟動。
要校準(zhǔn)刻度,請在刻度頂部放置一個已知的重量對象,并調(diào)整其因子直到它指示正確的值。您可以在您信任的另一個比例上測量自己的體重,它們會在物聯(lián)網(wǎng)量表上再次測量您的體重并相應(yīng)地調(diào)整因子。
步驟9:用法
一旦電子秤通電,它將自動連接Wi-Fi路由器并嘗試聯(lián)系A(chǔ)dafruit。 IO。這樣它就可以發(fā)送一些數(shù)據(jù)(測量的重量)并接收一些信息(鬧鐘觸發(fā)時間)。
然后它將連接谷歌服務(wù)器并讀取當(dāng)前時間。它將被顯示,小工具將定期同步時間。
從Adafruit.io收到警報時間。每當(dāng)更新進(jìn)給時,該值將被發(fā)送到刻度,并將其存儲在EEPROM存儲器中。這樣,如果連接丟失,或者由于某種原因斷電,它將不會丟失此信息。
當(dāng)達(dá)到鬧鐘時,蜂鳴器將開始振鈴。它會保持這種狀態(tài),直到有人踩到它進(jìn)行體重測量。此值將記錄在Adafruit.io上。
顯示將在給定時間關(guān)閉,因此在睡眠時間不會打擾您。一旦觸發(fā)警報(早上),顯示屏將再次亮起。
-
鬧鐘
+關(guān)注
關(guān)注
0文章
77瀏覽量
27095 -
智能秤
+關(guān)注
關(guān)注
0文章
4瀏覽量
1938
發(fā)布評論請先 登錄
相關(guān)推薦
評論