HX710B 常用于读取压阻式气压/水压传感器,例如 0–40 kPa、0–100 kPa 一类的压力模块。它本身不是气压探头,而是一个高精度 24 位 ADC(模数转换器),负责把传感器极其微弱的模拟电压变化转换成数字数据,提供给单片机开发板来读取。本教程会以树莓派python和ESP32开发板C++编程来分开演示程序逻辑。
气压通过传感器的气嘴进入到内部的膜片上,膜片发生形变,压阻元件的阻值随之改变。多个压阻元件通常组成惠斯通电桥
压力变化→膜片形变→电桥电阻变化→产生微小电压差→HX710B放大并转换成24位数字值→单片机读取原始值并换算为0~100
压力增大时,原始值通常会增大或减小,取决于传感器接线和模块设计;所以实际使用必须标定最低、最高压力对应的原始值。
工作电压:DC3v~5v
静态电流:<1.5mA
休眠电流:<luA
气压范围:0~40kPa
ADC分辨率:24位(24-bit)
输出采样率:10 Hz ~ 40 Hz
通信方式:双线专用串行OUT/SCK
工作温度:-40°C~+85°C
芯片型号:HX710B
| 以树莓派Pico开发板为例,提醒: 请按下图的引脚标识接线,务必不能接错。如果接错线通电后会导致设备烧毁! |

| HX710B 下载这个源代码上传树莓派Pico文件内,运行查看数据(如下图) 可对着传感器吹气来查看数据的变化 |
如果你还没有搭建好树莓派Python的编程环境可参考这个帖子→:如何搭建Python编程环境
在代码中RAW_MIN为是最低气压时读到的原始值,RAW_MAX是最高气压时读到的原始值,可根据实际情况修改代码中的最小最大值

DOUT 等待 HX710B 数据准备好(变低电平)。
Pico 通过 SCK 连续发送 24 个时钟,读取 24 位原始数值。
多次读取求平均,减少抖动。
用 RAW_MIN 和 RAW_MAX 将原始值线性换算为 0–100。
每秒打印一次原始值和气压百分比。
百分比线性换算:
最低原始值 RAW_MIN → 0
最高原始值 RAW_MAX → 100
中间原始值则按比例自动换算
压力变化 → 电桥电压变化 → HX710B 转数字值 → Pico 读取 → 映射为 0~100百分比显示
| 以ESP32-S3开发板为例,提醒: 请按下图的引脚标识接线,务必不能接错。如果接错线通电后会导致设备烧毁! |

| HX710B 下载这个hx710b源代码直接用Arduino IDE编译上传程序打开串口监视查看(如下图) |
如果你还没有搭建好ESP32的ArduinoIDE的编程环境可参考这个帖子→:搭建ArduinoIDE编程环境
在代码中RAW_MIN为是最低气压时读到的原始值,RAW_MAX是最高气压时读到的原始值,可根据实际情况修改代码中的最小最大值
原理:压力传感器受压后产生微小电压变化,HX710B 将其放大并转换为 24 位数字信号,ESP32-S3 读取后换算成 0–100。
代码逻辑:
等待 DOUT 变低,表示数据准备完成。
通过 SCK 读取 24 位原始数据。
连续读取 10 次并取平均,减少抖动。
根据 RAW_MIN、RAW_MAX 将原始值映射为 0–100。
串口每秒输出一次结果。
联系人:张工
电话:0755-32914578
QQ:2251000002
微信:扫下方二维码添加,请备注来意
提供:人工智能,IOT物联网,工控数显,嵌入式软硬件开发,科创教育,产品定制,生产,方案解决...