Wi-Fi智能秤的制作图解

电子说

1.3w人已加入

描述

步骤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建模

wi-fi

wi-fi

智能秤使用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:连接电路

wi-fi

wi-fi

根据原理图连接每个设备。

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板支持。

1。下载并安装Arduino IDE最新版本

您可以在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代码

wi-fi

此时小工具几乎完成了!

下载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 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分