• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
使用Arduino开发板连接HX711称重传感器模块制作数字体重秤

使用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();
}

 

posted on 2020-03-18 13:15  MKT-porter  阅读(3798)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3