第1步:
使用了以下工具和材料在此項(xiàng)目中:
工具和材料:
3D打印機(jī)。它用于打印電子設(shè)備封裝的外殼。
焊鐵和焊絲。部分組件(例如ESP8266 Firebeetle和LED矩陣蓋)未附帶焊接端子。我需要焊接一些電線或引腳以連接這些設(shè)備。
收縮管。 l還必須焊接每個(gè)稱重傳感器的導(dǎo)線。可以使用一片收縮管來更好地隔離導(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ā)板上。我用它來顯示微控制器測(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)目(并支持我未來的黑客攻擊)。您可以隨意在其他地方搜索它們并在您最喜歡的商店購(gòu)買。
我使用的是FireBeetle ESP8266開發(fā)板。它完美無缺!
您知道嗎,只需139.99美元即可購(gòu)買Anet A8 3D打印機(jī)?
第2步:3D建模
在這個(gè)項(xiàng)目中,我使用了為我的DIY Wi-Fi Smart Scale項(xiàng)目設(shè)計(jì)的相同3D打印部件。
智能秤使用Fusion 360 CAD軟件進(jìn)行設(shè)計(jì)。該模型由三個(gè)不同的3D打印部分組成:蓋子,盒子和腳。
3D打印機(jī)殼為電子設(shè)備提供外殼,保護(hù)它們免受物理接觸。電子元件安裝在蓋板部分(使用一些螺栓)。這部分有一個(gè)前遮陽板,顯示器附在其上。稱重傳感器適合腳部,允許傳感器連接到底座。
步驟3:3D打印和木工
我在PLA中打印了整個(gè)結(jié)構(gòu),兩個(gè)不同顏色。整個(gè)打印花了我5點(diǎn)30分左右,使用0.2毫米分辨率和10%填充。無需支持。
這是一個(gè)實(shí)驗(yàn)原型。請(qǐng)注意,它是為給定的ESP8266開發(fā)板模型(ESP8266 Firebeetle)設(shè)計(jì)的。
如果您沒有3D打印機(jī),可以執(zhí)行以下操作:
請(qǐng)朋友為您打印;
找到附近的黑客/制造商空間??梢钥焖俅蛴〈四P椭惺褂玫牟考?。一些黑客/制造商空間只會(huì)向您收取使用的材料;
購(gòu)買自己的3D打印機(jī)。您只需$ 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)行的更改,以添加新功能(帶有警報(bào)蜂鳴器的互聯(lián)網(wǎng)同步時(shí)鐘)。我建議你在繼續(xù)之前閱讀我以前的項(xiàng)目,特別是如果你想制作完整的小工具。
長(zhǎng)話短說,我必須做以下事情:
焊接一些組件;
將稱重傳感器安裝在3D打印的腳部件內(nèi),并使用一些螺釘將其連接到第一個(gè)木制面板上;
將顯示器,HX-711模塊和ESP8266 Firebeetle連接到3D打印的蓋子部件;
用一些螺絲將外殼安裝到木板上;
連接電線(稍后會(huì)詳細(xì)介紹);
使用3D打印封面關(guān)閉3D打印的外殼
將第二個(gè)木制底板安裝在第一個(gè)上面;
繪制木板并在箱子上添加一些細(xì)節(jié)以便更好地完成。
步驟5:準(zhǔn)備電子設(shè)備和接線電路
在此階段,規(guī)模已經(jīng)完全組裝和功能。我將在這里描述添加蜂鳴器時(shí)必須做的更改。
首先我必須拆解部分結(jié)構(gòu)。移除前蓋以訪問微控制器的引腳。幾個(gè)跳線連接到數(shù)字引腳D3和D5。其中一個(gè)將提供蜂鳴器的GND參考,而另一個(gè)將提供頻率信號(hào)并產(chǎn)生聲音。
這次不需要焊接。我使用了母 - 母跳線來連接GPIO引腳和蜂鳴器引腳之間的連接。
最后,我有以下連接:
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)
蜂鳴器:(使用女性 - 女性跳線)
蜂鳴器正極引腳=》 ESP8266 GPIO 10(引腳D3)
蜂鳴器負(fù)極引腳=》 ESP8266 GPIO 2(引腳D5)
顯示模塊:
將它連接到Firebeetle ESP8266的頂部
注意我使用針腳D5作為蜂鳴器的GND。一旦我的ESP8266板的所有接地引腳都已被占用,我將此引腳用作輸出,設(shè)置為低電平,以便它可以用作GND引腳。蜂鳴器消耗的電流是有限的,所以沒關(guān)系。
這個(gè)蜂鳴器的聲音并不大。畢竟,它只是一個(gè)廉價(jià)的5V蜂鳴器,由3.3V引腳供電。但這肯定足以喚醒我(考慮到我把它放在我的床邊)。
檢查連接后,案件再次關(guān)閉?,F(xiàn)在讓我們轉(zhuǎn)到Arduino代碼!
步驟6:在Arduino IDE上設(shè)置FireBeetle ESP8266
和以前一樣,我使用Arduino IDE編程我的ESP8266。如果您之前已經(jīng)使用過Arduino,這是更簡(jiǎn)單的方法,而且您不需要學(xué)習(xí)新的編程語言,例如Python或Lua。
如果您以前從未這樣做過,首先,您必須為Arduino軟件添加ESP8266板支持。
免費(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窗口底部的文本框)
如果文本框不是空白,則表示之前已經(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ù)
Arduino http客戶端庫(kù)
Arduino IO庫(kù)
Adafruit MQTT庫(kù)
HX711庫(kù)
Firebeetle LED矩陣庫(kù)
導(dǎo)航到Arduino IDE上的Sketch - 》 Include Library - 》 Manage Libraries 。..并添加上面的庫(kù)。
將ESP8266模塊連接到PC的USB端口,我們已經(jīng)準(zhǔn)備好了一些代碼!
步驟7:Adafruit.IO配置
但首先,讓我們配置我們的Adafruit.io Feed。
有一個(gè)許多數(shù)據(jù)記錄服務(wù)可用于將微控制器傳送到Web。通過這些服務(wù),您可以上傳/下載云中的數(shù)據(jù),并做很多很酷的事情。看一下我的教程,了解如何使用Arduino + ESP8266從迷你氣象站發(fā)送數(shù)據(jù),例如Thinkgspeak。
Adafruit.IO就是其中一項(xiàng)免費(fèi)服務(wù)。它非常容易使用,并承諾為每個(gè)人帶來物聯(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ǔ)從小工具收到的測(cè)量重量。
創(chuàng)建另一個(gè)名為“鬧鐘”的Feed。這個(gè)用于配置鬧鐘;
復(fù)制您的Adafruit.IO密鑰,該密鑰稍后將用于允許您的設(shè)備訪問數(shù)據(jù)庫(kù)。導(dǎo)航設(shè)置》查看AIO密鑰并復(fù)制活動(dòng)密鑰代碼。稍后您將需要它用于您的Arduino(NodeMCU)代碼。
在我之前的項(xiàng)目(鏈接)上,我還介紹了如何為Adafruit之間的通信配置IFTTT服務(wù)。 io和一些健身追蹤平臺(tái)(Fitbit,Strava,iOS Health或Misfit)。這次我將重點(diǎn)關(guān)注代碼的鬧鐘部分,所以我將跳過有關(guān)如何配置IFTTT的詳細(xì)信息。
步驟8:ESP8266代碼
此時(shí)小工具差不多完成了!
下載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 :您居住的時(shí)區(qū)(適用于時(shí)鐘調(diào)整)
bedtimehour 和 睡前時(shí)間 :您平時(shí)睡覺的時(shí)間
配置它們,并將代碼上傳到ESP8266。代碼將立即開始運(yùn)行。
智能秤將嘗試連接WiFi網(wǎng)絡(luò)和Adafruit.io服務(wù)。首次使用時(shí),您必須設(shè)置鬧鐘時(shí)間。轉(zhuǎn)到https://io.adafruit.com/username/feeds/alarm-clock并單擊操作》添加數(shù)據(jù)。輸入鬧鐘使用的時(shí)間(使用 hh:mm 格式)并發(fā)送。該值將由刻度接收并存儲(chǔ)在其EEPROM存儲(chǔ)器中。
每分鐘都會(huì)根據(jù)從Google服務(wù)器收到的值更新時(shí)鐘。您可以在此處找到有關(guān)它的更多詳細(xì)信息。如果達(dá)到就寢時(shí)間,顯示屏將變?yōu)椋ǖ潭葘⒗^續(xù)運(yùn)行)。在鬧鐘時(shí)間,蜂鳴器將開始響鈴,直到有人(或某物)在秤上。
如果測(cè)量的重量超過給定值(THRESHOLD),它將讀取給定次數(shù)的重量( NUM_MEASUREMENTS)并計(jì)算平均重量。如果兩個(gè)連續(xù)測(cè)量之間的重量變化超過某個(gè)值(THRESHOLD1),則重新開始該過程。確定平均值后,它將顯示在LED矩陣上并傳輸?shù)紸rdafruit.io??潭葘⒌鹊接脩敉顺霾⒅匦聠?dòng)。
要校準(zhǔn)刻度,請(qǐng)?jiān)诳潭软敳糠胖靡粋€(gè)已知的重量對(duì)象,并調(diào)整其因子直到它指示正確的值。您可以在您信任的另一個(gè)比例上測(cè)量自己的體重,它們會(huì)在物聯(lián)網(wǎng)量表上再次測(cè)量您的體重并相應(yīng)地調(diào)整因子。
步驟9:用法
一旦電子秤通電,它將自動(dòng)連接Wi-Fi路由器并嘗試聯(lián)系A(chǔ)dafruit。 IO。這樣它就可以發(fā)送一些數(shù)據(jù)(測(cè)量的重量)并接收一些信息(鬧鐘觸發(fā)時(shí)間)。
然后它將連接谷歌服務(wù)器并讀取當(dāng)前時(shí)間。它將被顯示,小工具將定期同步時(shí)間。
從Adafruit.io收到警報(bào)時(shí)間。每當(dāng)更新進(jìn)給時(shí),該值將被發(fā)送到刻度,并將其存儲(chǔ)在EEPROM存儲(chǔ)器中。這樣,如果連接丟失,或者由于某種原因斷電,它將不會(huì)丟失此信息。
當(dāng)達(dá)到鬧鐘時(shí),蜂鳴器將開始振鈴。它會(huì)保持這種狀態(tài),直到有人踩到它進(jìn)行體重測(cè)量。此值將記錄在Adafruit.io上。
顯示將在給定時(shí)間關(guān)閉,因此在睡眠時(shí)間不會(huì)打擾您。一旦觸發(fā)警報(bào)(早上),顯示屏將再次亮起。
-
鬧鐘
+關(guān)注
關(guān)注
0文章
77瀏覽量
27106 -
智能秤
+關(guān)注
關(guān)注
0文章
4瀏覽量
1938
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論