零基础学ESP32:震动报警器——轻轻一碰,立刻响应!
·
上一节课我们学了倾斜传感器,让ESP32能感知“姿势”的变化。今天再给它加一项新能力——感知震动。
想象一下:你不在家的时候,有人碰了你的门,ESP32立刻检测到震动,LED闪烁报警——这就是震动报警器。电动车防盗锁、智能门磁、快递包裹防摔监测……这些应用的背后,都是震动传感器在工作。
今天这节课,我们就用震动传感器 + ESP32 + LED,做一个简单的震动报警器。
第一步:找到课程,看看成品效果
打开逗脑IDE,点击顶部 “教程”,在 “硬件” → “ESP32 + MicroPython” 分类下,找到震动报警器。

打开课件,你会看到本节课的最终效果:轻轻敲击或震动传感器,板载LED立刻开始快速闪烁报警,像警灯一样!

第二步:什么是震动传感器?
本节课使用的是震动传感器模块,它是一种高灵敏度无方向性震动传感器。

工作原理:
- 传感器内部有一个弹簧结构,静止时电路处于断开状态
- 当受到震动或敲击时,弹簧晃动,电路瞬间导通
- 传感器向ESP32输出一个短暂的低电平或高电平信号(取决于模块类型)
简单来说:震动 → 内部弹簧晃动 → 电路瞬间接通 → ESP32检测到变化。
第三步:动手接线——就3根线
震动传感器和倾斜传感器一样,只有3根线,接线非常简单:
| 传感器引脚 | 连接ESP32 | 说明 |
|---|---|---|
| VCC | 3.3V | 供电正极 |
| GND | GND | 供电负极 |
| DO | GPIO13 | 数字信号输出 |

第四步:代码——震动触发,LED闪烁报警!
代码逻辑分为两部分:
- 读取传感器:不断检测GPIO13是否有震动信号
- 报警响应:检测到震动时,LED快速闪烁报警
from machine import Pin
import time
# 引脚配置
sensor = Pin(13, Pin.IN) # 震动传感器
led = Pin(2, Pin.OUT) # 板载LED
while True:
ret = sensor.value() # 读取传感器数据(1表示震动,0表示静止)
print(ret) # 打印状态
if ret: # 检测到震动!
for i in range(100): # 闪烁100次报警
led.value(1)
time.sleep(0.1)
led.value(0)
time.sleep(0.1)
time.sleep(0.1) # 每0.1秒检测一次
代码逻辑:
| 传感器状态 | ret值 | 执行动作 |
|---|---|---|
| 静止 | 0 | LED灭,不报警 |
| 震动触发 | 1 | LED闪烁100次! |
关键参数:
for i in range(100):闪烁100次,持续约20秒time.sleep(0.1):亮灭各0.1秒,闪烁频率5Hztime.sleep(0.1):每0.1秒检测一次,响应灵敏
第五步:保存运行,敲一下试试!
按 Ctrl + S 保存,选择ESP32开发板设备,给文件命名(比如shake_alarm.py),点击保存。

点击运行按钮。
试试看:
- 传感器静止不动 → LED熄灭,终端打印
0 - 用手指轻轻敲击传感器 → LED瞬间开始快速闪烁!终端打印
1
震动报警器能做什么?
| 应用场景 | 工作原理 |
|---|---|
| 门窗防盗报警 | 门被撞击时触发报警 |
| 电动车防盗锁 | 车辆被碰触时声光报警 |
| 快递包裹防摔监测 | 摔落时记录震动事件 |
| 智能家居安防 | 窗户被敲击时推送通知 |
| 振动台测试 | 检测设备是否在振动 |
更重要的是: 如果把LED换成继电器(上一节课内容),再外接一个大功率报警器或喇叭,就能做一个真正的声光防盗报警器了!
全程回顾
| 步骤 | 操作 | 效果 |
|---|---|---|
| 找到课程 | 教程→硬件→ESP32+MicroPython→震动报警器 | 了解震动报警器效果 |
| 认识传感器 | 了解震动传感器的工作原理 | 理解“弹簧晃动→电路导通” |
| 动手接线 | VCC→3.3V, GND→GND, DO→GPIO13 | 硬件就位 |
| 打开代码 | 点击“打开”按钮 | 代码进入编辑器 |
| 保存运行 | Ctrl+S → 选择ESP32 → 运行 | 系统开始监测 |
| 测试报警 | 轻轻敲击传感器 | LED闪烁报警! |
如果你对本节课感兴趣,去官网(www.dounao.cn)下载逗脑IDE,准备好相关配件,跟着课件走一遍。
有任何问题或建议,欢迎在评论区留言告诉我们。
更多推荐



所有评论(0)