

1、称重模块采用HX711芯片。
2、代码。
#include "HX711.h" //调用24bitAD HX711库
HX711 HX711_CH0(2, 3, 345); //SCK,DT,GapValue
//SCK引脚用于arduino和HX711模块通讯的时序提供
//DT引脚用于从HX711读取AD的数据
//GapValue用于校准输出的重量值,如果数值偏大就加大该值,如果数据偏小就减小该值
int LED = 13;
long Weight = 0;		//定义一个变量用于存放承重的重量,单位为g
void setup()
{
  Serial.begin(9600);						//设定串口输出波特率
  Serial.println("Welcome to use!");
  Serial.println("Init...");
  HX711_CH0.begin();					//读取传感器支架毛重
  delay(3000);						//延时3s用于传感器稳定
  HX711_CH0.begin();					//重新读取传感器支架毛重用于后续计算
  Serial.println("Init OK!!!");
}
void loop()
{
  Weight = HX711_CH0.Get_Weight();		//采样当前传感器重量,该重量已经自动去皮,去皮值根据初始化程序中采样的值计算。
  Serial.print(Weight);			//串口输出当前重量
  Serial.println(" g");			//单位为g
  delay(1000);
}
【2023-04-02 更新】
有多位同学咨询HX711库文件,因此将库文件上传。HX711库文件下载
①HX711.h
#ifndef __HX711__H__
#define __HX711__H__
#include <Arduino.h>
class HX711
{
public:
    HX711(int SCK_PIN,int DT_PIN,float GapValueIn=44);
    long Get_Weight();
    void begin();
    int Pressed(int AlarmValue);
    int HX711_SCK;
    int HX711_DT;
    float ValueGap;
    long HX711_Buffer;
    long Weight_Maopi;
    long Weight_Shiwu;
    int CurrentAlarm;
private:	
    void Get_Maopi();
    unsigned long HX711_Read();
};
#endif
②HX711.cpp
#include "hx711.h"
HX711::HX711(int SCK_PIN,int DT_PIN,float GapValueIn)
{
    HX711_SCK = SCK_PIN;
    HX711_DT = DT_PIN;
    ValueGap = GapValueIn;
}
//****************************************************
//初始化HX711
//****************************************************
void HX711::begin()
{
    pinMode(HX711_SCK, OUTPUT);	
    pinMode(HX711_DT, INPUT);
    Get_Maopi();
}
int HX711::Pressed(int AlarmValue)
{
    if(Get_Weight() >= AlarmValue && CurrentAlarm == 0)
    {
        CurrentAlarm = 1;
        return 1;
    }
    else if(Get_Weight() < AlarmValue)
    {
        CurrentAlarm = 0;
        return 0;
    }
    return 0;
}
//****************************************************
//获取毛皮重量
//****************************************************
void HX711::Get_Maopi()
{
    Weight_Maopi = HX711_Read();		
} 
//****************************************************
//称重
//****************************************************
long HX711::Get_Weight()
{
    HX711_Buffer = HX711_Read();
    Weight_Shiwu = HX711_Buffer;
    Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //获取实物的AD采样数值。
    
    Weight_Shiwu = (long)((float)Weight_Shiwu/ValueGap+0.05); 	
    return Weight_Shiwu;
}
//****************************************************
//读取HX711
//****************************************************
unsigned long HX711::HX711_Read()	//增益128
{
    unsigned long count; 
    unsigned char i;
    bool Flag = 0;
    digitalWrite(HX711_DT, HIGH);
    delayMicroseconds(1);
    digitalWrite(HX711_SCK, LOW);
    delayMicroseconds(1);
  	count=0; 
  	while(digitalRead(HX711_DT)); 
  	for(i=0;i<24;i++)
    { 
      	digitalWrite(HX711_SCK, HIGH); 
        delayMicroseconds(1);
      	count=count<<1; 
        digitalWrite(HX711_SCK, LOW); 
        delayMicroseconds(1);
      	if(digitalRead(HX711_DT))
            count++; 
    } 
 	digitalWrite(HX711_SCK, HIGH); 
    delayMicroseconds(1);
    digitalWrite(HX711_SCK, LOW); 
    delayMicroseconds(1);
    count ^= 0x800000;
    return(count);
}
				    
用的是aiduion自己的库文件吗。HX711_CH0是库文件自己定义的吗(小白不懂)
用的是 #include “HX711.h” 电子秤的库文件。
HX711 HX711_CH0(2, 3, 345); 是电子秤的标准定义。根据接线图设置。
https://github.com/RobTillaart/HX711
库里没有定义HX711_CH0的参数呢
HX711 library version 0.3.5.
不是同一个版本库。RobTillaart的例子可以查看RobTillaart/HX711/examples。
另外本文的HX711库文件已经上传。