1. 震动传感器项目概述
震动传感器作为嵌入式系统中常见的外设模块,在安防监控、工业设备状态监测、智能家居等领域有着广泛应用。这次我们要在STM32平台上实现一个基础的震动传感器应用,通过这个项目可以掌握数字信号采集、中断处理以及简单的阈值判断等嵌入式开发核心技能。
我选择使用常见的SW-420震动传感器模块,这款模块价格低廉(约5-10元)、灵敏度可调,输出标准的数字信号,特别适合STM32初学者练手。实际测试中,当模块检测到震动时,输出引脚会从高电平变为低电平,我们可以通过GPIO中断或轮询方式捕获这个状态变化。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件准备与电路连接
2.1 所需材料清单
- STM32开发板(以STM32F103C8T6最小系统板为例)
- SW-420震动传感器模块
- 杜邦线若干
- USB转TTL串口模块(用于调试输出)
- 面包板(可选,方便接线)
2.2 传感器模块详解
SW-420模块的核心是一个弹簧结构的机械开关,震动会导致弹簧接触点通断变化。模块上有一个LM393比较器芯片,将机械信号转换为干净的方波输出。蓝色电位器可以调节灵敏度(顺时针旋转提高灵敏度),实测调整到中间位置时,轻轻敲击桌面就能触发。
模块引脚说明:
- VCC:3.3V-5V供电
- GND:地线
- DO:数字信号输出(有震动时输出低电平)
- AO:模拟信号输出(本项目中不使用)
2.3 接线示意图
code复制SW-420模块 STM32开发板
VCC → 3.3V
GND → GND
DO → PA0(或其他支持外部中断的引脚)
注意:虽然模块支持5V供电,但DO输出信号已经是3.3V电平,可以直接连接STM32的IO口,无需电平转换。
3. 软件开发环境配置
3.1 开发工具链
推荐使用STM32CubeIDE(免费)作为开发环境,它集成了:
- STM32CubeMX(图形化配置工具)
- ARM GCC编译器
- 调试工具
安装步骤:
- 从ST官网下载对应系统版本的IDE
- 默认安装路径,勾选所有组件
- 安装完成后启动,选择工作空间目录
3.2 新建工程步骤
- File → New → STM32 Project
- 在MCU选
