
众所周知,走廊中的语音控制灯除了语音控制外还有一个传感器,即光敏传感器。光电传感器也称为光敏电阻。它(光敏电阻,缩写为LDR)通常由硫化镉制成。当入射光上升时,电阻阻值会降低; 入射光减弱,阻值会增加。光敏电阻常用于光测量,控制和转换(光与电之间的变化)会发生变化(光变为电),它也可广泛应用于各种光控电路,比如控制 和调节灯以及光开关。 光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等 。

| 引脚名称 | 描述 |
|---|---|
| GND | GND(电源输入负极) |
| VCC | VCC(电源输入正极) |
| A1|S | 数字信号引脚 |
| A2|S | 数字信号引脚 |
| A3|S | 数字信号引脚 |
| A4|S | 数字信号引脚 |
供电电压:3.3V / 5V
连接方式:2.54mm排针
安装方式:螺丝固定

示例程序(UNO开发板):点击下载
volatile int zoushang;
volatile int youshang;
volatile int zouxia;
volatile int youxia;
void setup(){
Serial.begin(9600);
zoushang = 0;
youshang = 0;
zouxia = 0;
youxia = 0;
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
}
void loop(){
zouxia = analogRead(A1);
zoushang = analogRead(A2);
youxia = analogRead(A3);
youshang = analogRead(A4);
delay(500);
Serial.print("A1:");
Serial.print(zouxia);
Serial.print("******");
Serial.print("A2:");
Serial.print(zoushang);
Serial.print("******");
Serial.print("A3:");
Serial.print(youxia);
Serial.print("******");
Serial.print("A4:");
Serial.println(youshang);
}
示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):
import machine
import time
adc34 = machine.ADC(machine.Pin(34))
adc35 = machine.ADC(machine.Pin(35))
adc36 = machine.ADC(machine.Pin(36))
adc39 = machine.ADC(machine.Pin(39))
while True:
print(' A1: ',end ="")
print(adc34.read_u16(),end ="")
print(' A2: ',end ="")
print(adc35.read_u16(),end ="")
print(' A3: ',end ="")
print(adc36.read_u16(),end ="")
print(' A4: ',end ="")
print(adc39.read_u16())
time.sleep_ms(200)
示例程序(UNO开发板):点击下载

示例程序(ESP32开发板):点击下载

Arduino环境搭建
准备配件:
电路接线图:

Micropython环境搭建
准备配件:
电路接线图:
视频教程:点击查看

光敏传感器就是一个光敏电阻与一个电阻串联分压,而我们读取的模拟值就是分压出来的电压值,周围环境光线的亮度强时所读取的电压值就越高,相反周围环境光线的亮度低时所读取的电压值就越低。观察串口输出数据,当任意光敏探头被照射到强光线时,串口输出数值小,光敏探头电阻变小,用手遮挡任意光敏探头时,光线变暗,串口输出数值变大,光敏探头电阻变大。由此我们可以通过光敏电阻数值的变化来控制led灯的亮度及舵机的转动等执行器。