使用Arduino开发板连接HX711称重传感器模块制作数字体重秤 [复制链接]
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.4c992e8deJNp96&id=575012000301&_u=i1qf7bf58a90


https://www.yiboard.com/thread-1241-1-1.html
、


称重传感器校准
要使用称重传感器,首先需要校准它。为此,请在Arduino开发板上上传以下代码。等到读取消息显示在串行监视器上,然后在称重传感器上放置指定的重量物体。使用A键,您可以将calibration_factor增加一个单位,您可以使用Z键减小它以获得正确的重量。
代码
本篇文章的代码使用的是HX711库:



#include "HX711.h"
// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 6;
const int LOADCELL_SCK_PIN = 7;
HX711 scale;
void setup() {
Serial.begin(9600);
scale.begin(LOADCELL_DOUT_PIN,LOADCELL_SCK_PIN);
scale.set_scale( 2280.f );
scale.tare();
}
void loop() {
Serial.print("\t| average:\t");
Serial.println(scale.get_units(10), 1);
delay(20);
}
/ * *
*
* HX711 library for Arduino - example file
* https: / / github.com / bogde / HX711
*
* MIT License
* (c) 2018 Bogdan Necula
*
* * /
#include "HX711.h"
/ / HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 4 ;
const int LOADCELL_SCK_PIN = 5 ;
HX711 scale;
void setup() {
Serial.begin( 38400 );
Serial.println( "HX711 Demo" );
Serial.println( "Initializing the scale" );
/ / Initialize library with data output pin, clock input pin and gain factor.
/ / Channel selection is made by passing the appropriate gain:
/ / - With a gain factor of 64 or 128 , channel A is selected
/ / - With a gain factor of 32 , channel B is selected
/ / By omitting the gain factor parameter, the library
/ / default "128" (Channel A) is used here.
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
Serial.println( "Before setting up the scale:" );
Serial. print ( "read: \t\t" );
Serial.println(scale.read()); / / print a raw reading from the ADC
Serial. print ( "read average: \t\t" );
Serial.println(scale.read_average( 20 )); / / print the average of 20 readings from the ADC
Serial. print ( "get value: \t\t" );
Serial.println(scale.get_value( 5 )); / / print the average of 5 readings from the ADC minus the tare weight ( not set yet)
Serial. print ( "get units: \t\t" );
Serial.println(scale.get_units( 5 ), 1 ); / / print the average of 5 readings from the ADC minus tare weight ( not set ) divided
/ / by the SCALE parameter ( not set yet)
scale.set_scale( 2280.f ); / / this value is obtained by calibrating the scale with known weights; see the README for details
scale.tare(); / / reset the scale to 0
Serial.println( "After setting up the scale:" );
Serial. print ( "read: \t\t" );
Serial.println(scale.read()); / / print a raw reading from the ADC
Serial. print ( "read average: \t\t" );
Serial.println(scale.read_average( 20 )); / / print the average of 20 readings from the ADC
Serial. print ( "get value: \t\t" );
Serial.println(scale.get_value( 5 )); / / print the average of 5 readings from the ADC minus the tare weight, set with tare()
Serial. print ( "get units: \t\t" );
Serial.println(scale.get_units( 5 ), 1 ); / / print the average of 5 readings from the ADC minus tare weight, divided
/ / by the SCALE parameter set with set_scale
Serial.println( "Readings:" );
}
void loop() {
Serial. print ( "one reading:\t" );
Serial. print (scale.get_units(), 1 );
Serial. print ( "\t| average:\t" );
Serial.println(scale.get_units( 10 ), 1 );
/ / scale.power_down(); / / put the ADC in sleep mode
delay( 20 );
/ / scale.power_up();
}

浙公网安备 33010602011771号