• 使用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库

    /**
     *
     * 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: 		");
      Serial.println(scale.read());			// print a raw reading from the ADC
    
      Serial.print("read average: 		");
      Serial.println(scale.read_average(20));  	// print the average of 20 readings from the ADC
    
      Serial.print("get value: 		");
      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: 		");
      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: 		");
      Serial.println(scale.read());                 // print a raw reading from the ADC
    
      Serial.print("read average: 		");
      Serial.println(scale.read_average(20));       // print the average of 20 readings from the ADC
    
      Serial.print("get value: 		");
      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: 		");
      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:	");
      Serial.print(scale.get_units(), 1);
      Serial.print("	| average:	");
      Serial.println(scale.get_units(10), 1);
    
     // scale.power_down();			        // put the ADC in sleep mode
      delay(20);
     // scale.power_up();
    }
    

  • 相关阅读:
    C语言高效编程的几招
    部分功能函数命名总结(补充中)
    Linux的多线程编程的高效开发经验
    生成PDF下载 HTTP或FTP远程获取PDF
    .dnn文件 xml 配置
    有身体 有钱 还要有什么能进太空?
    dnn 4.8.2 RegisterStartupScript 函数失效 解决方案
    字符串 分隔符 逗号行吗? JAVASCRIPT 函数参数中有单双引号
    2007年的最后一天,最后一个小时。
    标题中有单引号',怎么查询?
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/12516821.html
Copyright © 2020-2023  润新知