目录
简介
我们在做项目之前,首先我们要根据我们项目的功能进行硬件的选择,并且需要对这个硬件如何使用进行了解,我们这里初步给大家讲解一下各个硬件的作用,如果是第一次看到这个项目的话,那么请先看我这篇:LVGL+FreeRTOS实战项目:智能健康助手
1.8寸彩色TFT显示屏
我们选用的是分辨率为128*160的彩色显示屏,采用的SPI接口,通过我们STM32的SPI外设,来和我们的屏幕进行通信,以显示我们需要显示的图片。
MPU6050三轴加速度传感器
MPU6050 三轴加速度传感器简介
-
功能:包含 3 轴加速度计和 3 轴陀螺仪,可测量物体的加速度和角速度。
-
接口:支持 I2C 通信,默认 I2C 地址为
0x68
(AD0 接地)或0x69
(AD0 拉高)。 -
应用:用于姿态检测、倾角测量、运动控制等。
硬件连接
MPU6050 引脚 | 功能 | STM32 连接 |
---|---|---|
VCC | 电源输入 (+3.3V) | 3.3V |
GND | 地 | GND |
SDA | 数据线 | PB9 |
SCL | 时钟线 | PB10 |
我们代码中使用的是软件I2C来和MPU6050通信。
MAX30102 心率血氧模块
MAX30102 心率血氧模块简介
-
功能:用于检测心率和血氧饱和度,集成了红外和红光 LED 以及光电二极管。
-
接口:支持 I2C 通信,默认 I2C 地址为
0x57
。 -
应用:广泛用于健康监测设备中,如智能手环、手表等。
硬件连接
MAX30102 引脚 | 功能 | STM32 连接 |
---|---|---|
VCC | 电源输入 (+3.3V) | 3.3V |
GND | 地 | GND |
INT | 中断输出 | PB8 |
SDA | 数据线 | PB9 |
SCL | 时钟线 | PB7 |
我们代码中使用的是软件I2C来和MAX30102通信。
XGZP6847A 压力传感器
XGZP6847A 压力传感器简介
-
功能:用于测量气压或液压,输出模拟信号,与外部 ADC 结合使用以获取压力值。
-
接口:输出电压与压力成线性关系。
-
应用:广泛用于工业控制、环境监测、医疗设备等领域。
硬件连接
XGZP6847A 引脚 | 功能 | STM32 连接 |
---|---|---|
VCC | 电源输入 (+3.3V) | 3.3V |
GND | 地 | GND |
OUT | 模拟信号输出 | PA0 |
XGZP6847A 输出模拟信号,因此无需通信协议,通过 STM32 内部 ADC 对信号进行采样即可实现数据读取,我们项目会在搭配DMA一起使用。
DHT11 温湿度传感器
DHT11 温湿度传感器简介
-
功能:用于测量环境温度和湿度,输出数字信号。
-
接口:单总线协议(需要软件模拟时序)。
-
应用:广泛用于家庭自动化、环境监测等领域。
硬件连接
DHT11 引脚 | 功能 | STM32 连接 |
---|---|---|
VCC | 电源输入 (+3.3V) | 3.3V |
GND | 地 | GND |
DATA | 数据线 | PC13 |
DHT11 使用单总线通信协议,通过主机控制数据线高低电平时序与 DHT11 交互,实现温湿度数据读取。
无源蜂鸣器模块
无源蜂鸣器模块简介
-
功能:通过输入不同频率的 PWM 信号,产生不同音调的声音。
-
接口:单引脚控制,需外部提供 PWM 信号。
-
应用:报警、提示音等场景。
硬件连接
蜂鸣器引脚 | 功能 | STM32 连接 |
---|---|---|
VCC | 电源输入 (+3.3V) | 3.3V |
GND | 地 | GND |
SIG | 控制信号 | PA1 |
蜂鸣器通过定时器外设生成 PWM 信号控制。我们通过使能定时器来决定是否生成PWM,从而来控制蜂鸣器是否发声,实现我们按键提示音的功能。
HC-05 蓝牙模块
HC-05 蓝牙模块简介
-
功能:支持串口通信的蓝牙模块,广泛应用于无线数据传输。支持 AT 指令配置。
-
接口:UART 通信,默认波特率为 9600bps。
-
应用:无线调试、数据传输、无线控制等。
硬件连接
HC-05 引脚 | 功能 | STM32 连接 |
---|---|---|
VCC | 电源输入 (+3.3V 或 +5V) | 3.3V |
GND | 地 | GND |
TXD | 蓝牙发送端 | PA3 (STM32 RX) |
RXD | 蓝牙接收端 | PA2 (STM32 TX) |
使用 STM32 的串口外设(USART)与 HC-05 进行通信,STM32 的 TX 引脚连接 HC-05 的 RXD,STM32 的 RX 引脚连接 HC-05 的 TXD,我们可以利用蓝牙进行后续模块的扩展以及利用串口进行打印调试。
波轮开关 + 直插开关
波轮开关的话,我们如果滑动到对应的位置之后,对应的引脚会被拉高,独立开关的话,按下之后,引脚就会被拉低,我们通过对GPIO电平的检测,来判断对应按键的按下。
总结
以上就是这个项目所需用到全部模块以及硬件,我们首先大概了解一下各个模块的基本功能以及如何搭配STM32使用即可,之后我会逐个在代码中进行讲解。