首页 动态 版块 商城 我的
 退出
游客  
等级:
金币:
经验值:

气压传感器压力检测HX710B模拟量信号读取Python/C++编程 树莓派与ESP32使用例程

  85 
 0
 3
RASPI   ydxhuo.com 
文章主图

一:气压传感器介绍

HX710B 常用于读取压阻式气压/水压传感器,例如 0–40 kPa、0–100 kPa 一类的压力模块。它本身不是气压探头,而是一个高精度 24 位 ADC(模数转换器),负责把传感器极其微弱的模拟电压变化转换成数字数据,提供给单片机开发板来读取。本教程会以树莓派python和ESP32开发板C++编程来分开演示程序逻辑。

1.工作原理

气压通过传感器的气嘴进入到内部的膜片上,膜片发生形变,压阻元件的阻值随之改变。多个压阻元件通常组成惠斯通电桥

压力变化膜片形变电桥电阻变化产生微小电压差HX710B放大并转换成24位数字值单片机读取原始值并换算为0~100

压力增大时,原始值通常会增大或减小,取决于传感器接线和模块设计;所以实际使用必须标定最低、最高压力对应的原始值。

2.产品参数

工作电压:DC3v~5v

静态电流:<1.5mA

休眠电流:<luA

气压范围:0~40kPa

ADC分辨率:24位(24-bit)

输出采样率:10 Hz ~ 40 Hz

通信方式:双线专用串行OUT/SCK

工作温度:-40°C~+85°C

芯片型号:HX710B

3.原理图介绍

4.引脚定义

二:树莓派例程

1.树莓派接线图

以树莓派Pico开发板为例,提醒: 请按下图的引脚标识接线,务必不能接错。如果接错线通电后会导致设备烧毁!

Image


2.Python程序

HX710B  下载这个源代码上传树莓派Pico文件内,运行查看数据(如下图) 可对着传感器吹气来查看数据的变化

如果你还没有搭建好树莓派Python的编程环境可参考这个帖子→:如何搭建Python编程环境

在代码中RAW_MIN为是最低气压时读到的原始值,RAW_MAX是最高气压时读到的原始值,可根据实际情况修改代码中的最小最大值


Image

3.代码逻辑

DOUT 等待 HX710B 数据准备好(变低电平)。

Pico 通过 SCK 连续发送 24 个时钟,读取 24 位原始数值。

多次读取求平均,减少抖动。

用 RAW_MIN 和 RAW_MAX 将原始值线性换算为 0–100。

每秒打印一次原始值和气压百分比。


百分比线性换算:

最低原始值 RAW_MIN  → 0

最高原始值 RAW_MAX  → 100

中间原始值则按比例自动换算

压力变化 → 电桥电压变化 → HX710B 转数字值 → Pico 读取 → 映射为 0~100百分比显示

三:ESP32/Arduino例程

1.ESP32接线图

以ESP32-S3开发板为例,提醒: 请按下图的引脚标识接线,务必不能接错。如果接错线通电后会导致设备烧毁!


Image

2.C++程序

 HX710B 下载这个hx710b源代码直接用Arduino IDE编译上传程序打开串口监视查看(如下图) 

如果你还没有搭建好ESP32的ArduinoIDE的编程环境可参考这个帖子→:搭建ArduinoIDE编程环境


在代码中RAW_MIN为是最低气压时读到的原始值,RAW_MAX是最高气压时读到的原始值,可根据实际情况修改代码中的最小最大值


3.代码解析

原理:压力传感器受压后产生微小电压变化,HX710B 将其放大并转换为 24 位数字信号,ESP32-S3 读取后换算成 0–100。

代码逻辑:

等待 DOUT 变低,表示数据准备完成。  

通过 SCK 读取 24 位原始数据。  

连续读取 10 次并取平均,减少抖动。  

根据 RAW_MIN、RAW_MAX 将原始值映射为 0–100。  

串口每秒输出一次结果。


技术支持

联系人:张工
电话:0755-32914578
QQ:2251000002
微信:扫下方二维码添加,请备注来意

提供:人工智能,IOT物联网,工控数显,嵌入式软硬件开发,科创教育,产品定制,生产,方案解决...

作者签名: www.ydxhuo.com   楼主  2026-08-04 21:53:38
回复列表
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
您的IP: 216.73.216.31 , 2026-08-12 18:59:36
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
(3) 分享
分享

请保存二维码或复制链接进行分享

取消
免责声明
1、本站资源,均来自网络与个人作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:ydxho@qq.com
已有0次打赏