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