前面我们学了点亮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,准备好相关配件,跟着课件走一遍。

有任何问题或建议,欢迎在评论区留言告诉我们。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐