HX711压力传感器+树莓派python驱动程序

前言

参考C语言代码写的,链接https://blog.csdn.net/weixin_43242242/article/details/103334639

一、HX711压力传感器+树莓派python驱动程序

本次HX711模块与树莓派的接线为:VCC接1号针脚,GND接6号针脚,SCK接11号针脚,DT接13号针脚

具体代码如下:

# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time

class Hx711():
    def setup(self):
        self.SCK = 11    # 物理引脚第11号,时钟
        self.DT = 13     #物理引脚第13号,数据
        self.flag=1      #用于首次读数校准
        self.initweight=0	#毛皮
        self.weight=0		#测重
        self.delay=0.09		#延迟时间
        GPIO.setwarnings(False)
        GPIO.setmode(GPIO.BOARD)       # Numbers GPIOs by physical location
        GPIO.setup(self.SCK, GPIO.OUT)      # Set pin's mode is output
        GPIO.setup(self.DT, GPIO.IN)
        GPIO.setup(self.DT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
            
    def start(self):
        GPIO.output(self.SCK,0)
        if GPIO.input(self.SCK):
            time.sleep(self.delay)
        value=0
        while GPIO.input(self.DT):
            time.sleep(self.delay)
        #循环24次读取数据
        for i in range(24):
            GPIO.output(self.SCK,1)
            if(0==GPIO.input(self.SCK)):
                time.sleep(self.delay)
            value=value<<1		#左移一位,相当于乘2,二进制转十进制
            GPIO.output(self.SCK,0)
            if GPIO.input(self.SCK):
                time.sleep(self.delay)
            if GPIO.input(self.DT)==1:
                value+=1
        GPIO.output(self.SCK,1)
        GPIO.output(self.SCK,0)
        value=int(value/1905)		#1905为我传感器的特性值,不同传感器值不同。可先注释此步骤,再去测一物体A得到一个值X,而后用X除以A的真实值即可确定特性值
        if self.flag==1:			#第一次读数为毛皮
            self.flag=0
            self.initweight=value        #初始值
        else:
            self.weight=abs(value-self.initweight)	#当前值减毛皮得测量到的重量
            print(self.weight)


if __name__=='__main__':
    send=Hx711()
    send.setup()
    while True:
        send.start()

好像用的是A通道,具体不清楚了,反正是可以用。

  • 19
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值