| 在本篇文章中,我们将主要介绍如何使用Arduino Uno开发板、HX711分线板和称重传感器来测量重量。此外,使用LCD模块LCM1602 IIC显示测量的重量值。 
 所需的材料清单: –  Arduino Uno开发板 –  跳线 –  HX711称重传感器 –  称重传感器 –  LCM1602 IIC V1(LCD) –  小方木和螺钉 
  称重传感器(左侧)和HX711分线板(右侧)。 
 HX711是一款24位模数转换器,非常适合体重秤应用。幸运的是,HX711有许多分线板。因此,与称重传感器结合使用非常容易。称重传感器是将压力/力转换为电信号的传感器。由于电信号通常只有几毫伏,因此必须对其进行放大。这就是HX711分线板的作用:将弱信号放大到几伏,以便我们可以在Arduino Uno读取信号。 
 接线准备: 为了轻松将称重传感器连接到HX711模块的引脚,您可以在电线上添加杜邦连接器。您可以使用任何将导线连接到模块引脚的方法。如果使用杜邦连接器,请记住,此类称重传感器通常具有较细的单股线。 
  准备压接工具、连接器和外壳,以便将杜邦连接器添加到称重传感器的导线中。这样,称重传感器可以轻松连接到HX711分线板上。
 
 如果将称重传感器安装在坚固且重的物体上,则将从称重传感器中获取一致的压力值。我用一块旧的方木来完成这项任务: 
  称重传感器安装在方形木材上。 
 连接方式: 首先,称重传感器连接到HX711模块。称重传感器有四根线,将其连接到HX711模块的前四个引脚:红线到E、黑线到E-、白线到A-、绿线到A。如果需要将第二个称重传感器连接到HX711模块,则可以使用升序的引脚B-和B。 接下来,将HX711模块连接到Arduino Uno。模块的GND引脚连接到Arduino的GND引脚。 DT和SCK必须连接到Arduino的数字引脚。在本文中,DT连接到数字引脚4,SCK连接到数字引脚5。引脚VCC必须连接到Arduino的5V引脚。由于LCM1602模块还需要连接到5V引脚,因此在中间使用一块面包板来分割Arduino的5V信号。 最后一步,将LCM1602模块的SDA和SCL引脚连接到Arduino Uno的相应SDA和SCL引脚。此外,GND引脚必须连接到Arduino的其中一个GND引脚,而VCC引脚需要连接到面包板的5V信号。 
  将称重传感器连接到HX711模块。 
 示例源代码: 复制代码#include <HX711_ADC.h> // https://github.com/olkal/HX711_ADC
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // LiquidCrystal_I2C library
HX711_ADC LoadCell(4, 5); // parameters: dt pin, sck pin<span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"></span>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // 0x27 is the i2c address of the LCM1602 IIC v1 module (might differ)
void setup() {
  LoadCell.begin(); // start connection to HX711
  LoadCell.start(2000); // load cells gets 2000ms of time to stabilize
  LoadCell.setCalFactor(999.0); // calibration factor for load cell => strongly dependent on your individual setup
  lcd.begin(16, 2); // begins connection to the LCD module
  lcd.backlight(); // turns on the backlight
}
void loop() {
  LoadCell.update(); // retrieves data from the load cell
  float i = LoadCell.getData(); // get output value
  lcd.setCursor(0, 0); // set cursor to first row
  lcd.print("Weight[g]:"); // print out to LCD
  lcd.setCursor(0, 1); // set cursor to secon row
  lcd.print(i); // print out the retrieved value to the second row
}
 校准 最后一步是校准秤。 如果您有一些校准砝码,此步将变得非常容易。 不幸的是,我没有砝码。 因此,我使用了另一种方法来校准。 首先,我在另一个秤上面放置了一个直流电机: 
  然后,将直流电机放在称重传感器上。 接下来,调整了setCalFactor函数的参数,直到显示正确的重量值。 请注意,每个称重传感器和设置可能需要不同的校准系数。 
  为了检查校准系数是否正常工作,我用其他东西(螺丝刀)再次做了同样的事情: 
  总体而言,我对准确性感到很满意: 
  
 |