首页 > 编程语言 >HX711压力传感器+树莓派python驱动程序

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

时间:2024-04-12 23:56:39浏览次数:39  
标签:树莓 驱动程序 SCK HX711 self delay GPIO DT setup

# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
#VCC接1号针脚,GND接6号针脚,SCK接11号针脚,DT接13号针脚
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()

  

标签:树莓,驱动程序,SCK,HX711,self,delay,GPIO,DT,setup
From: https://www.cnblogs.com/gooutlook/p/18132356

相关文章

  • 树莓派(Raspberry Pi OS)操作系统的选择
    树莓派官方下载:https://www.raspberrypi.com/software/  第一个版本:RaspberryPiOSwithdesktopandrecommendedsoftware带图形化桌面系统和常用的推荐软件的版本。 第二个版本:RaspberryPiOSwithdesktop带图形化桌面系统,但没有常用的推荐软件,内存占用较小。......
  • 驱动程序进程[chatgpt]
    在Windows操作系统中,驱动程序本身并没有进程号。进程号是与用户空间进程相关的标识符,用于标识正在运行的进程。然而,在驱动程序与进程之间可能存在一些关联。例如,驱动程序可能与特定的进程通信,或者驱动程序可能被特定的进程加载和使用。从驱动程序的角度来看,可以通过与用户空间......
  • 在树莓派中下载ntfs-3g,编译,安装
    1、加源wget-O/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo2、安装yumupdate;yuminstallntfs3g首先,在你的Linux上安装一个NTFS-3G工具,下载地址:http://www.tuxera.com/community/ntfs-3g-download/ ;tar-xzfxxx.tar.gz    //......
  • 在Linux中,什么是设备驱动程序?如何安装和卸载设备驱动程序?
    在Linux中,设备驱动程序(DeviceDriver)是一种特殊的软件模块,它的主要职责是作为操作系统和硬件设备之间的中介,负责管理和控制硬件设备,使其能够与操作系统进行有效的通信和交互。设备驱动程序允许操作系统及其他上层软件通过统一且标准化的接口访问和控制硬件设备,如打印机、显卡、声......
  • 树莓派设置为竖屏显示
    需要修改启动配置文件config.txtsudovim/boot/config.txt这里我使用的是vim编辑器修改可以根据自己习惯使用nano等也是可以的config.txt在boot目录下在config.txt文件中添加以下内容(按i进入输入模式)display_rotate=3这样就成竖屏显示了3代表旋转270度2代表旋转180度1代......
  • 树莓派 —— 关闭安装软件包时ubuntu对内核版本等的检查
    参考https://serverfault.com/questions/1101391/disable-ubuntu-22-04s-scaning-processes-candidates-after-package-upgrades现象树莓派上装了ubuntuserver版,每次装完软件都会看到下面的日志:Processingtriggersfordbus(1.14.10-1ubuntu1)...Scanningprocesses...S......
  • 嵌入式Linux驱动开发-第一个驱动程序hello
    前言,没事就碎碎念以前跟着正点原子的文档做过一两个简单驱动程序实验,但是总感觉思路不够清晰,后面看韦东山的视频,发现二者结合起来刚好合适,其中韦东山视频理论和框架讲的清楚,正点原子的更像是他们开发板的使用手册。一开始学习驱动,我感觉比较合适的路线是先简单过一遍裸机,跟着正......
  • 树莓派无桌面系统(RaspberryPI Lite)启动自动打开Chromium-Browser的具体方法
    https://blog.csdn.net/sinat_36939362/article/details/95391676RaspberryPILite自动打开Chromium-Browser情景:需要用电视机通过网页显示一些数据需要到的工具:前期准备步骤:在RPILite安装相应的Package完善功能解决Chromium中文乱码的问题光标隐藏代码Lite需要满屏显示写批处......
  • kali linux 解决无线驱动程序问题
    TroubleshootingwirelessdriverissuesinLinuxcanbeafrustratingexperienceifyoudon’tknowwhattolookfor。Thisarticleismeanttobeusedasageneralguidelinetobetterhelpyoufindtheinformationyouneedtosolveyourwirelessissues。C......
  • 玩转树莓派之配置源
    查看系统架构使用putty连接树莓派(ssh登录的界面)输入uname-m,确定自己安装的树莓派的操作系统的架构。 配置apt源打开sources.list文件sudovi/etc/apt/sources.list或者sudonano/etc/apt/sources.list如果是使用的vi编辑器,按d键将内容全部删除,将下面的内容复制,然......