第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浏览量
27029 -
智能秤
+关注
关注
0文章
4浏览量
1910
发布评论请先 登录
相关推荐
评论