参考文档为极客工坊大神记录

http://www.geek-workshop.com/forum.php?mod=viewthread&tid=2315&highlight=hx711

hx711的库文件

库文件注释:

 HX711(byte sck, byte dout, byte amp = , double co = ); // 定义 sck、dout 接脚,增益倍数(默认128)和修正系数(默认1)
void set_amp(byte amp); // 改变增益倍数和对应的通道,至少调用一次 read() 后起作用
bool is_ready(); // 返回 hx711 是否可用,在 read() 函数中会被调用
long read(); // 返回传感器电压值,如果 hx711 不可用则程序会暂停在此函数
double bias_read(); // 返回:(read() - 偏移值) * 修正系数
void tare(int t = ); // 将皮重添加到偏移值,影响每次 read(); 的调用
void set_co(double co = ); // 修改修正系数(默认为1)
void set_offset(long offset = ); // 修改偏移值(默认为0)

手动矫正的代码:

 #include <HX711.h> // 包含库的头文件

 HX711 hx(, ); // 数据接脚定义

 void setup() {
Serial.begin();
} void loop()
{
double sum = ; // 为了减小误差,一次取出10个值后求平均值。
for (int i = ; i < ; i++) // 循环的越多精度越高,当然耗费的时间也越多
sum += hx.read(); // 累加
Serial.println(sum/); // 求平均值进行均差
}

以此代码空载测试输出一次,负重测试输出一次即A和B!

实际值/B-A=误差系数

输出校准后的数据做对比参考

#include <HX711.h>
HX711 hx(, , ,0.009375 );//误差系数
void setup() {
Serial.begin();
hx.set_offset();//偏移值 }
void loop() {
delay();
double sum0 = ;
double sum1 = ;
for (int i = ; i < ; i++) {
sum0 += hx.read();
sum1 += hx.bias_read();
}
Serial.print(sum0/);
Serial.print(" ");
Serial.println(sum1/);
}

输出结果如下

 81613.21 166.37  实际物体重量165
81636.21 166.74
81576.40 165.88
81598.40 166.57
81604.30 166.33
81546.60 165.67
81545.80 165.94
81594.80 166.27
81600.00 166.34
81580.90 166.05
81604.60 166.25
81592.10 165.60
81626.00 166.26
81667.00 166.47
81591.50 166.45
81589.71 166.43
81568.40 165.95
81587.60 166.18

自动除皮重

#include <HX711.h>
HX711 hx(, ,,0.009375);
void setup() {
Serial.begin();
hx.set_offset(); }
void loop() {
if(digitalRead() == LOW) hx.tare();//按下按钮即可去皮
delay();
double sum0 = ;
double sum1 = ;
for (int i = ; i < ; i++) {
sum0 += hx.read();
sum1 += hx.bias_read();
}
Serial.print(sum0/);
Serial.print(" ");
Serial.println(sum1/);
}

下一步进行自动校正功能的添加

HX711初步处理记录的更多相关文章

  1. 论文系统Step1:从日志记录中提取特定信息

    论文系统Step1:从日志记录中提取特定信息 前言 论文数据需要,需要实现从服务器日志中提取出用户的特定交互行为信息.日志内容如下: 自己需要获取"请求数据包一行的信息"及&quo ...

  2. 树莓派进阶之路 (020) - 基于24位AD转换模块HX711的重量称量实验

    参考文档:http://www.geek-workshop.com/thread-2315-1-1.html 参考文档:https://wenku.baidu.com/view/e5d5e4e2652 ...

  3. 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL

    在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...

  4. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  5. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  6. 2015 西雅图微软总部MVP峰会记录

    2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...

  7. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  8. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  9. 前端学HTTP之日志记录

    前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

随机推荐

  1. js 错误Error对象详解

    一.概念 error,指程序中的非正常运行状态,在其他编程语言中称为"异常"或"错误".解释器会为每个错误情形创建并抛出一个Error对象,其中包含错误的描述信 ...

  2. 第九章:Python の 网络编程基础(一)

    本課主題 何为TCP/IP协议 初认识什么是网络编程 网络编程中的 "粘包" 自定义 MySocket 类 本周作业 何为TCP/IP 协议 TCP/IP协议是主机接入互网以及接入 ...

  3. KMP算法讲解

    老规矩,讲算法前,先说一道小问题吧 给你一个长串和短串,求短串在长串中出现的次数和位置. 设长串长度为len1,短串长度为len2. 如果len1*len2<=108,那就很简单了,直接暴力枚举 ...

  4. rtx web 分级管理系统 二次开发

    fineui + ASP.NET+rtx server sdk 修正 rtx管理器 修改用户后分级目录出错问题. 加入 单用户多个部门 添加授权关闭部分采用 rsa加密.

  5. duilib基本框架

    最近我一个同学在项目中使用到了duilib框架,但是之前并没有接触过,他与我讨论这方面的内容,看着官方给出的精美的例子,我对这个库有了很大的兴趣,我自己也是初学这个东东,我在网上花了不少时间来找相关的 ...

  6. java 重定向和转发的区别

    注:原创链接  http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect(&q ...

  7. PostgreSQL查询优化之子查询优化

    子查询优化 上拉子连接 上拉子连接主要是把ANY和EXIST子句转换为半连接 void pull_up_sublinks(PlannerInfo *root) { Node *jtnode; //子连 ...

  8. 获取 JavaScript 异步函数返回值的笔记

    wrong action function asyncfunc() { let ret = 100; setTimeout(() => { return ret; }, 1000) } let ...

  9. SharePoint客户端js对象模型

    'use strict'; var context = SP.ClientContext.get_current(); var user = context.get_web().get_current ...

  10. WPF Binding学习(二)

    Binding作为数据的桥梁,连通业务逻辑层的对象(源对象)和UI的控件对象(目标对象).在这座桥梁上,我们不仅可以控制在源对象与目标对象是双向通行还是单向通行.还可以控制数据的放行时机,甚至可以在这 ...