Skip to content

LDR 模块

模块介绍

光敏电阻(LDR)传感器驱动类,通过 ADC 读取环境光强度。适用于光线检测、自动调光、光控开关等应用场景。

硬件引脚说明

引脚名称全称/含义接线颜色功能描述
SSignal/信号黄色数据传输引脚,用于读取光敏电阻模拟信号(需支持 ADC 功能)
VVoltage/电源红色电源电压输入,为设备提供工作电压
GGround/地线黑色接地引脚,完成电路回路

初始化参数

参数类型默认值说明
pinPin支持 ADC 功能的 machine.Pin实例(如 ESP32 的 GPIO32-39)
attenuationintADC.ATTN_11DBADC 衰减等级(ESP32 推荐用 ATTN_11DB,支持 0~3.6V)

导入和实例创建

python
from machine import Pin, ADC  # 导入Pin和ADC模块
from ldr import LDR  # 导入LDR驱动模块

# 初始化光敏传感器
ldr = LDR(pin=Pin(34), attenuation=ADC.ATTN_11DB)  # 创建LDR实例

核心属性方法

属性或方法参数返回类型说明
read()int读取原始 ADC 值(0~4095,12 位)
valueint只读属性:等同于 read(),返回当前原始 ADC 值

使用示例

python
from machine import Pin, ADC
from ldr import LDR
from time import sleep_ms

# 初始化光敏传感器
ldr = LDR(pin=Pin(34), attenuation=ADC.ATTN_11DB)

while True:
    print("当前值:", ldr.value)   # 推荐方式
    print("当前值:", ldr.read())  # 等效方式
    sleep_ms(500)  # 配合延时使用,防止程序过载

注意事项

硬件与引脚要求

  • 确保所使用的引脚支持 ADC 输入(如 ESP32 上的 GPIO32、GPIO34、GPIO35、GPIO36、GPIO39 等)
  • 需使用光敏电阻(LDR)+ 分压电阻(如 10kΩ)组成分压电路,输出端接主控 ADC 引脚

使用技巧

  • 数值与光线强弱的关系取决于硬件接线方式:
    • LDR 接 GND 侧 → 光线越强,value 越大
    • LDR 接 VCC 侧 → 光线越强,value 越小
  • 在 while True 循环中请配合延时函数使用,防止程序过载

技术细节

  • ESP32 推荐使用 ATTN_11DB(支持 0~3.6V 输入),其他平台可能需要调整