步骤1:工具和材料
此项目中使用了以下工具和材料:
工具和材料:
3D打印机(链接/链接/链接)。它用于打印电子设备封装的外壳。
焊铁和焊丝。部分组件(例如ESP8266 Firebeetle和LED矩阵盖)未附带焊接端子。我需要焊接一些电线或引脚以连接这些设备。
收缩管。 还必须焊接每个称重传感器的导线。可以使用一片收缩管来更好地隔离导体。
螺丝刀。使用一些螺丝安装结构。使用一套螺丝刀。
螺丝。 我用了一些螺丝将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开发板,由DFRobot友情提供。它工作得很好!我还用NodeMCU板测试了代码。它也工作得很好(虽然连接的时间明显更长。..。..我仍然不知道为什么。..。..)。
你知道你能以169.99美元的价格买到一台Creality Ender 3D打印机吗?拿你的! https://rebrand.ly/3Dprinter-GB
第2步:3D建模
智能秤使用Fusion 360 CAD软件进行设计。该模型由三个不同的3D打印部件组成:盖子,外壳和底座。
外壳为电子设备提供外壳,保护它们免受物理接触。电子元件安装在盖板部分(使用一些螺栓)。这部分有一个前遮阳板,显示器安装在那里。称重传感器适合脚部,允许传感器连接到底座。
步骤3:3D打印
你可以在以下网站上下载所有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中打印了整个结构,使用了两种不同的颜色。整个打印花了我5点30分左右,使用0.2毫米分辨率和10%填充。无需支持。
这是一个实验原型。请注意,它是为给定的ESP8266开发板模型(ESP8266 Firebeetle)设计的。
如果您没有3D打印机,可以执行以下操作:
请朋友为您打印;
找到附近的黑客/制造商空间。可以快速打印此模型中使用的部件。一些黑客/制造商空间只会向您收取使用的材料;
购买自己的3D打印机。您只需$ 169.99即可找到Creality Ender 3!来自https://rebrand.ly/3Dprinter-GB
改进!您可以尝试组装没有3D打印部件的结构。
步骤4:木工
我的秤的基础是两块15毫米30 x 30厘米的胶合板。
我用一把螺丝刀做了一些整体来传递称重传感器的导线,
步骤5:准备电子设备:ESP32 Firebeetle和LED矩阵
某些组件在安装前必须焊接在这个案子上。
我将一个公母针杆焊接到ESP8266模块上。通过这种方式,我可以在其顶部,阴性连接器上连接LED矩阵屏蔽,并使用公引脚连接到HX-711模块(用于传感器)。
我还需要焊接LED矩阵上的公针杆,以便它可以连接到ESP8266模块。
步骤6:准备电子设备:HX711和称重传感器
焊接HX711端子
大多数HX711电路板没有焊接引脚在他们的终端上。我焊接了一个公引脚条,后来用于连接ESP8266开发板和称重传感器。
焊料称重传感器信号端子
称重传感器通常有三根电线(黑色,白色和红色)。红线是信号线,我连接到HX711模块。为此,我使用了两个女性 - 女性跳线。我切断了跳线的一侧,并将它的电线焊接到称重传感器的红线上。我在焊料周围使用了一个收缩管,以便更好地隔离。
我还必须焊接白色和黑色称重传感器电线,但只有在传感器定位并连接到结构后才能完成。
步骤7:组装比例 - Pt1
首先,我必须将传感器安装在3D打印的脚部件内。它们被锁定在这个名声中,然后使用一些螺丝固定在结构上。
我使用了四个M2x1.6mm将显示器连接到3D打印的封面部分。另外两个螺栓用于HX-711模块。 ESP8266使用内螺纹杆连接到显示模块。四线跳线将HX-711连接到ESP8266模块。有关后续步骤的更多信息。
封面部分适合3D打印机壳内部。外壳有另外两个矩形孔:一个用于HX-711模块和负载传感器之间的电缆,另一个用于USB电缆,用于为电路供电和上传代码。只有在连接传感器后才会关闭案例(如下一步所示)。
步骤8:组装比例 - Pt2
一旦3D打印零件和木板准备就绪,是时候组装结构了。采取了以下步骤:
1。将称重传感器安装在第一个木制面板上。我用过各自的螺丝。
2。在每个传感器正上方的木板上制作一个孔。电缆穿过这些孔到达面板的另一侧。
3。根据下一步所示的图像焊接电线。
左上白线《=》右上白线
左下白线《=》右下白电线
左上黑线《=》左下黑线
右上黑线《=》右下黑线
使用一些收缩管以隔离电线。
4。附3D打印的外壳。将红线穿过其中一个孔并将它们连接到HX711模块。
5。使用四个螺钉将第二个面板安装在第一个面板的顶部。
步骤9:最终触摸
我画了木板并在表壳上添加了一些细节,以便更好地完成。
您可以选择不同的颜色,甚至可以在表面添加不同的材料。
步骤10:连接电路
根据原理图连接每个设备。
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)
显示模块:
将它连接到Firebeetle ESP8266的顶部
当所有设备都已接线时,关闭机箱,在ESP8266上插入USB机箱并准备上传代码。
步骤11:在Arduino IDE上设置FireBeetle ESP8266
对于这个项目,我使用了Arduino IDE用于编程我的ESP8266。如果您之前已经使用过Arduino,这是更简单的方法,而且您不需要学习新的编程语言,例如Python或Lua。
如果您以前从未这样做过,那么首先你会必须为Arduino软件添加ESP8266板支持。
您可以在Arduino的网站上找到适用于Windows,Linux或MAC OSX的最新版本:https://www.arduino.cc/en/main/software
免费下载,将其安装到您的计算机上并启动它。
2。添加ESP8266主板
Arduino IDE已经支持很多不同的主板:Arduino Nano,Mine,Uno,Mega,Yún等。不幸的是ESP8266默认不支持开发板。因此,为了将您的代码上传到ESP8266基板,您必须首先将其属性添加到Arduino的软件中。
导航到文件》首选项(在Windows操作系统上为Ctrl +);
将以下URL添加到Additional Boards Manager文本框(Preferences窗口底部的文本框):https://raw.githubusercontent.com/DFRobot/FireBeetle-ESP8266/master/package_firebeetle8266_index.json
如果文本框不是空白,则表示之前已经在Arduino IDE上添加了其他板。在上一个URL和上面的URL末尾添加一个逗号。
点击“确定”按钮并关闭“首选项”窗口。
导航工具》板》板卡管理器,添加您的Firebeetle ESP8266板。
在搜索文本框中键入“Firebeetle-ESP8266”,选择“DFRobot的FireBeetle-ESP8266”并安装它。
现在您的Arduino IDE已准备就绪使用Firebeetle ESP8266开发板。
3。添加库
以下库将用于我们的Arduino代码。下载以下库:
Adafruit NeoPixel库(https://github.com/adafruit/Adafruit_NeoPixel)
Arduino http客户端库(https://github.com)/arduino-libraries/ArduinoHttpClient)
Arduino IO库(https://github.com/adafruit/Adafruit_IO_Arduino)
Adafruit MQTT库(https://github.com/adafruit/Adafruit_MQTT_Library)
HX711库(https://github.com/bogde/HX711)
Firebeetle LED矩阵库(https://github.com/Chocho2017/FireBeetleLEDMatrix)
导航到Arduino IDE上的Sketch - 》 Include Library - 》 Manage Libraries 。..并添加上面的库。
第12步:Adafruit.IO配置
有许多数据记录服务可用于将微控制器与网络通信。通过这些服务,您可以上传/下载云中的数据,并做很多很酷的事情。看一下我的教程,了解如何使用Arduino + ESP8266从迷你气象站发送数据,例如Thinkgspeak。
Adafruit.IO就是其中一项免费服务。它非常容易使用,并承诺为每个人带来物联网!
创建Adafruit IO网络直播
以https:/登录/io.adafruit.com/
在 Feed》创建新Feed 添加名为“my weight”的新Feed。它将创建一个数据库,我们将使用它存储小工具收到的命令。
复制您的Adafruit.IO密钥,该密钥稍后将用于允许您的设备访问数据库。导航设置》查看AIO密钥并复制活动密钥代码。稍后您将需要它用于Arduino(NodeMCU)代码。
在下一步中,我将向您展示如何配置IFTTT,这是我在此项目中使用的另一个平台。每当NodeMCU测量您的体重时,它都会将此值保存在Adafruit.IO数据库中。然后IFTTT平台将该值发送到健身追踪平台(Fitbit,Strava,iOS Health或Misfit)。
步骤13:IFTTT配置
IFTTT是一个免费的平台,可以帮助您连接应用和设备。您可以使用它将智能手机与其他小工具连接,或者在您喜爱的网络服务(如Google,Facebook,Twitter,Instragram等)和其他物理设备之间共享数据。最好的部分是它真的很容易使用!
IFTTT使用“if this then that”逻辑,其中“this”表示将触发由“that”给出的给定动作的服务。通过这种方式,您可以创建连接Web服务和设备的小程序。
对于这个项目,我使用IFTTT从Fitaf的Adafruit.io数据库推送测量的重量。
首先,你需要登录:
https://ifttt.com/
然后在智能手机上安装IFTTT应用程序。您可以在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
在网站上,浏览到New Applet(单击登录旁边的箭头按钮以访问菜单)。我下一步我会告诉你我是如何创建我的applet的。
第14步:IFTTT Applet - IOS健康
在网站上创建小程序:
点击 +此;在 Seach service 文本框中输入“adafruit”并选择 Adafruit.IO》任何新数据的。正如它在IFTTT网站上所描述的那样,它会创建一个触发器,只要您的Feed中有新数据,就会触发该触发器。选择“我的体重”饲料;
现在选择 +那;
输入“ios health”并选择 iOS Health》记录您的体重。这样可以为 iOS Health 保存新的重量测量值。点击添加成分,然后选择值。
完成小程序并将其打开。
测试:
在Adafruit.io上,选择您的Feed,操作》添加数据;
输入您当前的体重(或任何其他值)。该值将存储在Adafruit.io数据库中。 IFTTT将收听并上传至Fitbit数据库;
登录您的Fitbit帐户,验证您当前的体重是否已更新。
步骤15:IFTTT Applet - Fitbit
在网站上创建小程序:
点击 +此;输入“ adafruit“在 Seach服务文本框中选择 Adafruit.IO》任何新数据。正如它在IFTTT网站上所描述的那样,它会创建一个触发器,只要您的Feed中有新数据,就会触发该触发器。选择“我的体重”饲料;
现在选择 +那;
输入“fitbit”并选择 Fitbit》记录您的体重。这为Fitbit节省了新的重量测量。点击添加成分,然后选择值。
完成小程序并将其打开。
测试:
在Adafruit.io上,选择您的Feed,操作》添加数据;
输入您当前的体重(或任何其他值)。该值将存储在Adafruit.io数据库中。 IFTTT将收听并上传至Fitbit数据库;
登录您的Fitbit帐户,验证您当前的体重是否已更新。
步骤16:ESP8266代码
此时小工具几乎完成了!
下载Arduino代码并在Arduino IDE上打开它。必须更新一些参数(WIFI_SSID,WIFI_PASS,IO_USERNAME,IO_KEY和calibration_factor)。更新它们,并将代码上传到ESP8266。代码将立即开始运行。
要校准比例,请在比例的顶部放置一个已知的重量对象,并调整其因子直到它指示正确的值。您可以在您信任的另一个比例上测量自己的体重,它们会在物联网等级上再次测量您的体重并相应地调整因子。
智能秤将尝试连接WiFi网络并开始采取一些措施。如果测量的重量超过给定值(THRESHOLD),它将读取给定次数的重量(NUM_MEASUREMENTS)并计算平均重量。如果两次连续测量之间的重量变化超过一定值(THRESHOLD1),则重新开始该过程。
确定平均值后,它将显示在LED矩阵上并传输到Ardafruit。 IO。比例将等到用户退出并重新启动。
步骤17:用法
智能秤将尝试连接WiFi网络并开始采取一些措施。如果测量的重量超过给定值(THRESHOLD),它将读取给定次数的重量(NUM_MEASUREMENTS)并计算平均重量。如果两次连续测量之间的重量变化超过一定值(THRESHOLD1),则重新开始该过程。
确定平均值后,它将显示在LED矩阵上并传输到Ardafruit。 IO。比例将等到用户退出并重新启动。
步骤18:最终注意事项
我在此项目中付出了很多努力,使其尽可能清晰和有教育意义。如果你喜欢它,请不要忘记“喜欢”和“分享”它。你的支持对于我的工作非常重要! :D
责任编辑:wv
-
wi-fi
+关注
关注
14文章
2135浏览量
124431 -
智能秤
+关注
关注
0文章
4浏览量
1923
发布评论请先 登录
相关推荐
评论