用于远程称重和监控的智能称重机
扫描二维码
随时随地手机看文章
从当地的超市到工厂和工业,我们都可以注意到称重秤被用来测量货物和产品的重量。这种做法通常有助于在化学或食品工业中保持标准和所需的比例。在某些情况下,正在测量的货物可能非常有价值,应该远程监控,以确保每件物品都按正确的比例交付。
这些测量重量的仪器大多有一个称为称重传感器的传感器。测压元件实际上把物理力转换成电信号。通过使用IOT(物联网)的概念,我们可以通过从世界任何地方监控体重来自动化这一过程。在本教程中,我们将使用负载传感器和HX711与NodeMCU ESP8266测量重量,并使用ThingSpeak服务器通过互联网发送这些重量数据,以构建我们自己的智能称重机。由于NodeMCU内置了ESP8266 Wi-Fi,这使得我们的物联网项目非常简单。现在让我们看看ThingSpeak并进入我们的项目。
组件要求:
•称重称重传感器1Kg
•负载传感器24位ADC - HX711
•NodeMCU
•5V直流电源适配器
•I2C 16x2 LCD显示屏
•电路试验板
•连接电线
如何与HX711一起使用传感器:
在我们深入研究项目的物联网部分之前,重要的是要知道我们的重量传感器是如何工作的,即称重传感器是如何工作的,以及如何使用HX711设置称重传感器来测量重量。然后我们将其与NodeMCU连接,将其用作物联网重量传感器。
测压元件工作:
测压元件能够测量随施加在测压元件上的应变(例如压力或力)而变化的电阻。称重传感器用于快速和精确的测量。与其他传感器相比,称重传感器相对便宜,寿命更长。我在这个项目中使用的是一个直杆测压元件。这种直杆式测压元件由铝合金制成,能够读取1KG重量的容量。它有四根引线,可以连接到HX711 A/D压力传感器。
设置称重传感器:
现在让我们看看称重传感器的安装。这是非常简单的称重传感器需要固定在一端通过螺丝孔和另一端保持浮动状态。标签(带箭头)表示重力的方向。看到下面的图像,我已经安装在塑料材料上的测压元件。你可以用木板来获得高精度。
HX711模块:
HX711称重传感器放大器采用24高精度A/D转换芯片HX711。它是一款专门为高精度电子秤设计的,具有两个模拟输入通道,内部集成了128倍可编程增益放大器。HX711电路可配置为桥式压力桥接(如压力、称重传感器模式),精度高,成本低。
HX711规格
•差分输入电压:±40mV(满量程差分输入电压为±40mV)
•数据精度:24位(24位A / D转换芯片)
•刷新频率:10/ 80hz
•工作电压:2.7V至5VDC
•工作电流:< 10ma
•尺寸:24 x16mm
现在让我们看看电路的连接细节:
线路图:
负载传感器与NodeMCU接口的电路图如下所示。I2C显示单元显示在LCD的位置,您可以按照相同的步骤(见下表)将I2C LCD模块与NodeMCU连接。
传感器与HX711的连接:
HX711与NodeMCU及5V直流电源适配器的连接:
16x2 I2C显示与NodeMCU;
这是这款智能称重机的完整设置:
现在让我们设置ThingSpeak帐户,然后继续编程。
ThingSpeak:
ThingSpeak是一个基于云的数据平台,使用HTTP协议实时发送和接收数据。它用于物联网应用程序,通过互联网存储和监控来自世界任何地方的数据。在本教程中,我们不会告诉你如何开始使用ThingSpeak的基础知识,因为我们已经围绕它建立了很多项目,以下是一些物联网项目,其中ThingSpeak被用作物联网云:
•物联网无线气象站使用Arduino, ESP8266和ThingSpeak
•基于物联网的温湿度监测,使用Arduino UNO和ESP8266
•基于物联网的树莓派气象站,使用DHT11和BMP180传感器
•基于物联网的温湿度监测使用ThingSpeak和ESP8266
编程NodeMCU用于测量重量并将数据上传到ThingSpeak
对于这台物联网称重机,我们将连接NodeMCU,然后通过HX711与NodeMCU接口测量称重传感器的重量,然后在16x2液晶显示器上显示测量的重量,并将这些值上传到ThingSpeak服务器。
在这个项目中,我们使用了很少的库。为了将I2C 16X2 LCD显示器与NodeMCU连接,使用了一个名为LiquidCrystal.h的库与Wire.h库一起使用I2C总线。确保您下载并将此I2C LCD显示库添加到Arduino IDE中。
为了测量HX711的重量,我们使用了一个名为HX711库的库,下载并将其添加到您的IDE中。在此库的帮助下,只需使用一行,我们就可以确定重量,并且我们可以校准物联网称重传感器以获得准确的结果。请记住HX711校准在确定结果的准确性方面起着至关重要的作用。
为了使用ThingSpeak和NodeMCU,我们需要ThingSpeak库,它可以在Arduino IDE中通过打开Sketch- b> Include library -> Manage Libraries下载并搜索ThingSpeak库然后安装。
教程最后给出了完整的代码和工作视频,在这里我们将详细解释代码。
现在程序中包含了以下库
接下来为LiquidCrystal_I2C创建lcd对象,参数如0x27是I2C地址,16,2是lcd显示类型
接下来为wiificlient创建客户端对象。
接下来,您的Wi-Fi详细信息,如SSID和密码包括在内。
Const char* ssid = "";//你的网络SSID const char* password = "!";//你的网络密码
下一个通道号码和写API根据您的ThingSpeak帐户给出。将XXXXX替换为通道号,然后是Write API键。
接下来,使用连接到NodeMCU的HX711引脚(DT,SCK)的参数创建HX711库的对象比例。
接下来,根据我的称重传感器的校准系数是(888)。您可以根据您的称重传感器进行更改。
定义一个变量来存储测量的权重。我已经使用整数变量有没有小数点的权重值。(你也可以用float代替)
接下来,在void setup()中,LCD显示屏上显示欢迎信息,然后将NodeMCU连接到Wi-Fi网络(连接到您提供的用户名和密码的热点)。之后,NodeMCU与ThingSpeak Server连接。
接下来,在void循环()中,从HX711获得重量并使用行存储在可变单位中
并且该值使用以下行更新到ThingSpeak服务器。
这个值每15秒更新一次到ThingSpeak,因为ThingSpeak免费帐户每15秒更新一次值。
此功能是通过与已知重量的比较来设置校准因子,以达到良好的重量测量精度。因此,这可以在串行监视器(工具->串行监视器)中完成。通过发送(+或a),校准因子增加,通过按(-或z)减小校准因子。
物联网称重机工作原理:
上传代码并登录你的ThingSpeak账户后。将待测重量的物体放在称重传感器上。该值显示在LCD显示屏上,也显示在ThingSpeak仪表小部件上。当没有砝码放置时,压力表显示为零,如下图所示。
当已知重量的肥皂(150g)放置时,LCD显示为148kg,压力表也显示相同。如你所见,测量的重量比实际重量小2克。
当两个肥皂块(150g + 150g)放置。由于我使用了塑料安装的测压元件,因此295g的值略有不准确,但仍然接近原始值300g。
本文编译自iotdesignpro