当前位置: 首页 > news >正文

stm32项目(22)——基于stm32的智能病房监护系统

1.实现功能

        检测病房的温度、湿度、光照强度、烟雾浓度;检测病人的体温、心率、血氧;所有数据在OLED显示屏上进行显示,同时各数据也通过WIFI模块发送到机智云APP上进行显示。使用按键对屏幕进行翻页、对各数据的阈值进行加减操作;将实时数据与数据阈值进行对比,超过阈值进行LED闪烁报警(机智云APP上也对应有报警标志)。

2.原理图与PCB

3.功能演示视频

STM32病房检测系统

4.模块介绍

4.1DHT11

1. 基本特性

  • 测量范围

    • 温度:0~50℃(±2℃精度)。

    • 湿度:20%~90%RH(±5%精度)。

  • 分辨率:1℃(温度)、1%RH(湿度)。

  • 采样率1Hz(每秒更新一次数据)。

  • 供电电压3.3V~5V(兼容3.3V和5V单片机)。

  • 输出方式单总线数字信号(节省IO口)。


2. 模块接口(3引脚)

引脚功能连接说明
VCC电源正极接3.3V或5V
GND电源负极接地
DATA数据信号线接单片机GPIO(需上拉电阻4.7kΩ~10kΩ)

📌 注意:DATA 线需要上拉电阻(部分模块已内置)。


3. 通信协议(单总线时序)

DHT11 采用 单总线(1-Wire) 协议,通信过程分为 3 个阶段

(1) 单片机发起通信(Start Signal)

  • 单片机拉低 DATA 线 ≥18ms(启动信号)。

  • 然后拉高 20~40μs,等待 DHT11 响应。

(2) DHT11 响应(Response Signal)

  • DHT11 拉低 80μs(应答信号)。

  • 再拉高 80μs,表示准备发送数据。

(3) 数据传输(40bit 数据包)

  • 40bit = 16bit湿度 + 16bit温度 + 8bit校验和(高位先发)。

  • 每个 bit 的表示方式:

    • 0:低电平 50μs,然后高电平 26~28μs

    • 1:低电平 50μs,然后高电平 70μs

数据格式示例

湿度整数(8bit) + 湿度小数(8bit) + 温度整数(8bit) + 温度小数(8bit) + 校验和(8bit)

校验和 = 湿度高8位 + 湿度低8位 + 温度高8位 + 温度低8位(取最后8位)。

4.2光敏传感器

该模块将光照信号转换位模拟电压并输出,直接用单片机的AD转换功能对其进行读取即可。

4.3 DS18B20

4.4心率血氧模块

1. 基本特性

  • 检测参数

    • 血氧饱和度(SpO₂):70%~100% 精度(±2%)。

    • 心率(HR):30~250 BPM(Beat Per Minute)。

  • 光学检测

    • 红光(660nm):用于血氧检测(HbO₂/Hb吸收率差异)。

    • 红外光(880nm):用于心率检测(血液脉动变化)。

  • 供电电压:1.8V~3.3V(需逻辑电平匹配,部分模块内置稳压)。

  • 通信接口:I²C(地址 0x57,可调)。

  • 采样率:可编程(最高 1kHz)。


2. 模块接口(4/5引脚)

引脚功能连接说明
VCC电源(1.8V~3.3V)接3.3V(注意电平兼容)
GND接地接单片机GND
SCLI²C时钟线接单片机SCL(需上拉电阻4.7kΩ)
SDAI²C数据线接单片机SDA(需上拉电阻4.7kΩ)
INT(可选)中断输出接单片机外部中断引脚(用于数据就绪触发)

📌 注意

  • 若单片机为5V逻辑,需加电平转换电路(如TXB0108)。

  • 部分模块自带稳压,可直接接5V,但I²C信号仍需3.3V。


3. 通信协议(I²C)

  • I²C地址:默认 0x57(可通过ADDR引脚修改)。

  • 关键寄存器

    • 0x00(STATUS):状态标志(数据是否就绪)。

    • 0x07(SPO2_CONFIG):配置血氧模式、采样率等。

    • 0x09(LED_CONFIG):设置红光/红外光电流强度。

    • 0x16(FIFO_DATA):存储ADC采样值(血氧+心率)。

数据读取流程

  1. 初始化:配置采样率、LED电流、工作模式(血氧+心率)。

  2. 轮询/中断:检查STATUS寄存器或INT引脚,判断数据是否就绪。

  3. 读取FIFO:从 0x16 读取3字节数据(红光+红外光ADC值)。

4.5烟雾模块

该模块也是直接将烟雾信号转换位模拟电压并输出,直接用单片机的AD转换功能对其进行读取即可

4.6 OLED屏幕

本次使用7针的SPI协议的屏幕。

http://www.dtcms.com/a/317669.html

相关文章:

  • Python面试题及详细答案150道(01-15) -- 基础语法篇
  • 代数——第6章——对称性(Michael Artin)
  • vue3 find 数组查找方法
  • CPP网络编程-异步sever
  • FPGA学习笔记——VGA彩条显示
  • python:非常流行和重要的Python机器学习库scikit-learn 介绍
  • STM32学习笔记3-GPIO输入部分
  • WMS及UI渲染底层原理学习
  • 【STM32 LWIP配置】STM32H723ZG + Ethernet +LWIP 配置 cubemx
  • 无人机图传的得力助手:5G 便携式多卡高清视频融合终端的协同应用
  • 中宇联5G云宽带+4G路由器:解锁企业办公高效协同与门店体验升级
  • 图解 Claude Code 子智能体 Sub-agent
  • [ java GUI ] 图形用户界面
  • 【软考系统架构设计师备考笔记4】 - 英语语法一篇通
  • ctfshow_vip题目限免-----SVN漏洞,git泄露
  • Git Cherry-Pick 指南
  • Leetcode——菜鸟笔记1
  • Git 分支管理:从新开发分支迁移为主分支的完整指南
  • 鸿蒙app 开发中 全局弹窗类的封装 基于PromptAction
  • C#之基础语法
  • 机器学习之朴素贝叶斯
  • Suno API V5模型 php源码 —— 使用灵感模式进行出创作
  • 基于PHP的论坛社交网站系统开发与设计
  • 排序算法详解
  • 媒体资产管理系统和OCR文字识别的结合
  • Ethereum: L1 与 L2 的安全纽带, Rollups 技术下的协作与区别全解析
  • 解决启动docker报错Cannot connect to the Docker daemon问题
  • 阿里 Qwen-Image:开源 20B 模型引领图像生成新纪元,中文渲染超越 GPT-4o!
  • 数据结构与算法的认识
  • 手动开发一个TCP服务器调试工具(二):无界面 TCP 通信服最小实现