零基础学ESP32:倾斜传感器——让你的设备能感知“姿势”!
前面我们学了点亮LED、控制电机、驱动继电器——这些都是让ESP32“输出”控制信号。今天这节课反过来,我们来学习如何让ESP32“感知”外部世界。
主角是倾斜传感器。它就像一个灵敏的“姿态探测器”,能感知到设备是否被倾斜、震动或翻转。自动翻盖手机、防盗报警器、智能水杯、电动车倾倒断电保护……这些设备背后,都有倾斜传感器在工作。
学会了这节课,你的ESP32就拥有了感知姿态的能力。
第一步:找到课程,看看成品效果
打开逗脑IDE,点击顶部 “教程”,在 “硬件” → “ESP32 + MicroPython” 分类下,找到倾斜传感器。

打开课件,你会看到本节课的最终效果:传感器水平放置时,LED灯熄灭;将传感器轻轻倾斜,LED灯立刻亮起。像魔法一样灵敏!


第二步:什么是倾斜传感器?
本节课使用的是SW-520D角度倾斜传感器模块,它有3个引脚。

它的内部结构其实非常简单:里面有一个滚珠(或水银球),当传感器水平时,滚珠处于特定位置,导通电路;当传感器倾斜时,滚珠滚动,电路断开。
简单来说:倾斜 → 内部滚珠滚动 → 电路状态改变 → ESP32检测到变化。
第三步:动手接线
倾斜传感器只有3根线,接线非常简单:
| 传感器引脚 | 连接ESP32 | 说明 |
|---|---|---|
| VCC | 3.3V | 供电正极 |
| GND | GND | 供电负极 |
| DO | GPIO13 | 数字信号输出(倾斜时输出0,水平时输出1) |

第四步:代码——读取传感器的“眼睛”
代码比LED控制还简单——只需要不断读取GPIO13的值就行了。
from machine import Pin
import time
# 定义传感器引脚
p13 = Pin(13, Pin.IN)
while True:
print(p13.value()) # 打印当前状态
time.sleep(0.1) # 每0.1秒读一次
代码逻辑:
| 传感器状态 | GPIO13返回值 |
|---|---|
| 水平放置 | 1 |
| 倾斜 | 0 |
💡 小提示: 不同传感器模块可能逻辑相反(有的倾斜输出1,水平输出0),具体以实测为准。课件里也提到了这个型号传感器的特性——倾斜后读到的是0,水平是1。
第五步:保存运行,看数据!
按 Ctrl + S 保存,选择ESP32开发板设备,给文件命名(比如tilt.py),点击保存。

点击运行按钮,底部的终端面板会开始不停打印数字。
试试看:
- 将传感器水平放平 → 终端不断打印 1
- 将传感器轻轻倾斜 → 终端立刻开始打印 0
倾斜传感器能做什么?
倾斜传感器虽然简单,但应用场景非常广泛:
| 应用场景 | 工作原理 |
|---|---|
| 防盗报警器 | 门窗被打开(倾斜)时触发报警 |
| 智能水杯 | 水杯倾斜时提醒“要倒了!” |
| 电动车倾倒保护 | 车辆倾倒时自动断电 |
| 翻转时钟 | 翻转屏幕自动切换横竖屏 |
| 智能停车位地锁 | 车位有车时地锁倾斜锁定 |
| 儿童坐姿矫正器 | 头部倾斜时发出提醒 |
全程回顾
| 步骤 | 操作 | 效果 |
|---|---|---|
| 找到课程 | 教程→硬件→ESP32+MicroPython→倾斜传感器 | 了解倾斜传感器 |
| 认识传感器 | 了解SW-520D的工作原理 | 理解“滚珠滚动改变电路” |
| 动手接线 | VCC→3.3V, GND→GND, DO→GPIO13 | 硬件就位 |
| 打开代码 | 点击“打开”按钮 | 代码进入编辑器 |
| 保存运行 | Ctrl+S → 选择ESP32 → 运行 | 终端打印状态值 |
如果你对本节课感兴趣,去官网(www.dounao.cn)下载逗脑IDE,准备好相关配件,跟着课件走一遍。
有任何问题或建议,欢迎在评论区留言告诉我们。
更多推荐

所有评论(0)