零基础学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,准备好相关配件,跟着课件走一遍。

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

相关推荐
默_笙9 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_4260039610 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
调试优选官10 小时前
IoT物联网系统定制落地实践:从设备接入、协议网关、平台分层到业务应用,如何做技术选型、交付验收、责任边界与长期运维成本评估及迁移安排
物联网·iot·成本分析
虎头金猫10 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技10 小时前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读10 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时11 小时前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
华允物联-HUAIOT12 小时前
工业路由器和DTU在联网方式上的区别
物联网
奇思妙想聪明勤奋的小羊12 小时前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
wuyk55512 小时前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网