光敏电阻传感器


项目介绍

在这个套件中,有一个Keyes 光敏电阻传感器,这是一个常用的光敏电阻传感器,它主要由一个光敏电阻元件组成。光敏电阻元件的阻值随着光照强度的变化而变化,此传感器就是利用光敏电阻元件这一特性,设计电路将阻值变化转换为电压变化。光敏电阻传感器可以模拟人对环境光线的强度的判断,方便做出与人友好互动的应用。

模块参数

工作电压DC 3.3 ~ 5V
电流20 mA
最大功率0.1 W
工作温度-10°C ~ +50°C
输出信号模拟信号
尺寸32 x 23.8 x 7.4 mm
定位孔大小直径为 4.8 mm
接口间距为2.54 mm 3pin防反接口

模块原理图

光敏电阻传感器原理图

当没有光照射时,电阻大小为0.2 MΩ,光敏电阻的信号端(2脚)检测的电压接近0。随着光照强度增大,光线传感器的电阻值越来越小,所以信号端能检测到的电压越来越大。

实验组件

ESP32 Plus主板
ESP32 Plus主板 x1
Keyes 光敏电阻传感器
Keyes 光敏电阻传感器 x1
XH2.54-3P 转杜邦线母单线
XH2.54-3P 转杜邦线母单线 x1
USB线
USB线 x1

模块接线图

光敏电阻传感器接线图

代码

from machine import ADC,Pin,DAC
import time

# 开启并配置ADC,量程为0-3.3V
adc=ADC(Pin(34))
adc.atten(ADC.ATTN_11DB)
adc.width(ADC.WIDTH_12BIT)

# 每0.1秒读取一次ADC值,将ADC值转换为DAC值输出,并将这些数据打印到“Shell”
try:
    while True:
        adcVal=adc.read()
        dacVal=adcVal//16
        voltage = adcVal / 4095.0 * 3.3
        print("ADC Val:",adcVal,"DACVal:",dacVal,"Voltage:",voltage,"V")
        time.sleep(0.1)
except:
    pass

实验结果

按照接线图正确接好模块,用USB线连接到计算机上电,单击 运行按钮 来执行程序代码。
代码开始执行,“Shell”窗口打印出光敏传感器的ADC值、DAC值和电压值。光照越强,可以看到ADC值,DAC值和电压值越大。

单击 停止按钮 或 Ctrl+C 退出程序

实验结果示意图

代码说明

代码说明
adc=ADC(Pin(34))定义ADC对象,采集34号引脚的模拟信号
adc.atten(ADC.ATTN_11DB)设置ADC衰减,量程为0-3.3V
adc.width(ADC.WIDTH_12BIT)设置ADC分辨率为12位
adc.read()读取当前ADC值(0~4095)
dacVal=adcVal//16将ADC值缩放为DAC输出值
voltage = adcVal / 4095.0 * 3.3将ADC值换算为实际电压
print(...)在Shell窗口打印ADC、DAC和电压值
注意事项:
1. 光敏电阻传感器请勿用手直接触摸感光面,否则影响测量精度。
2. 若Shell窗口无输出,请检查接线和端口设置。
3. 代码与前面章节类似,详细原理和用法可参考第十八课内容。