零基础学ESP32:光敏传感器——让ESP32拥有“感光”能力!

前面我们学了温度传感器(感知冷热)、倾斜传感器(感知姿态)、震动传感器(感知震动)------今天再给ESP32加上一项新感官:感光能力。

手机屏幕根据环境亮度自动调节亮度、路灯天黑自动亮起、楼道声控灯白天不工作......这些功能的背后,都是光敏传感器在工作。

今天这节课,我们就用光敏传感器,让ESP32能"看见"光的强弱!

第一步:找到课程,看看成品效果

打开逗脑IDE,点击顶部 "文档" ,在 "课程" → "ESP32 + MicroPython" 分类下,找到光敏传感器。

打开课件,你会看到本节课的最终效果:终端实时打印光线数据------用手遮住传感器,数值变大;移开手,数值变小。

第二步:什么是光敏传感器?

本节课使用的是光敏电阻模块,它包含一个光敏电阻和一个比较器电路。

光敏电阻的原理:

光敏电阻的阻值随光照强度变化而变化。

  • 光线越强 → 电阻越小
  • 光线越弱 → 电阻越大

这个模块非常贴心地提供了两路信号输出,可以满足不同场景的需求:

引脚 信号类型 输出值 说明
AO 模拟输出 0~4095 数值越小 ,光线越强 ;数值越大 ,光线越弱
DO 数字输出 0 或 1 光线充足时输出0 ,光线暗时输出1(阈值可调)

第三步:动手接线

光敏传感器模块有4个引脚:

传感器引脚 连接ESP32 说明
VCC 3.3V 电源正极
GND GND 电源地
AO GPIO33 模拟输出(接ADC引脚)
DO GPIO15 数字输出(阈值触发)

第四步:代码------同时读取模拟量和数字量

python 复制代码
from machine import Pin, ADC
import time


# 模拟量
ps2_y = ADC(Pin(33))
ps2_y.atten(ADC.ATTN_11DB)  # 这里配置测量量程为3.3V

# 数字量
p15 = Pin(15, Pin.IN)

# 循环检测
while True:
    val_y = ps2_y.read()  # 0-4095
    light = p15.value()
    print(val_y, light)
    time.sleep(0.1)

两路信号的解读:

信号 取值 含义
AO(模拟量) 数值越小 光线越亮 ☀️
数值越大 光线越暗 🌑
DO(数字量) 0 光线充足(有光) ☀️
1 光线不足(无光) 🌑

第五步:保存运行,看光线变化!

按 Ctrl + S 保存,选择ESP32开发板设备 ,给文件命名(比如light.py),点击保存。

点击运行按钮,终端开始打印数据。

试试看:

  • 传感器对着光源(光线充足)→ 数值小,数字量输出0
  • 用手遮住传感器(光线变暗)→ 数值变大,数字量输出1

光敏传感器能做什么?

应用场景 原理
自动照明 环境变暗时自动开灯
智能窗帘 光线过强时自动拉上窗帘
手机/屏幕亮度调节 根据环境光自动调节屏幕亮度
路灯控制 天黑自动亮起,天亮自动熄灭
温室补光 光线不足时自动开启补光灯
相机测光 检测环境光线,提示曝光参数

结合继电器: 光敏传感器 + 继电器 = 天黑自动开灯的智能路灯!

全程回顾

步骤 操作 效果
找到课程 文档→课程→ESP32+MicroPython→光敏传感器 了解光敏传感器
认识原理 光线强→电阻小,光线弱→电阻大 理解AO和DO两种输出
动手接线 VCC→3.3V, GND→GND, AO→GPIO33, DO→GPIO15 硬件就位
打开代码 点击"打开"按钮 代码进入编辑器
保存运行 Ctrl+S → 选择ESP32 → 运行 终端打印数据
遮住传感器 用手遮住光敏电阻 数值变化!

如果你对本节课感兴趣,去官网(www.dounao.cn)下载逗脑IDE,准备好相关配件,跟着课件走一遍。

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

相关推荐
Python图像识别5 小时前
46-【2027毕设】YOLO11田间杂草检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·qt·课程设计
计算机编程指导师5 小时前
计算机毕设选题:基于Spark+Django的水质多指标关联分析与可视化系统源码 毕业设计 选题推荐 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·水质
小白快快跑哦6 小时前
python-字符串全解(六):正则表达式-分组
python·mysql·正则表达式·分组
计算机编程指导师6 小时前
【大数据毕设】Hadoop+Spark台北市住宅价格数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·住宅价格
做萤石二次开发的哈哈14 小时前
连锁门店、园区、交通枢纽的视频如何统一汇集?应用模板的接入与分权管理详解
人工智能·物联网·音视频·二次开发·视频监控·蓝海aiot一站式工作台·萤石云开放平台
高级程序源14 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe14 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
kimnoic14 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
snhna14 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
必须得开心呀15 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python