传感器参数:

工作原理:光敏电阻传感器模块是由光敏电阻和LM393比较器模块一体组成。一般用来检测周围环境的光线的亮度,可以触发单片机/开发板或者继电器这些模块等。当探头检测环境光线强烈时,模块上DO引脚输出低电平信号。随之AO同时也能输出模拟量信号。可以方便我们接入各种单片机模块进行开发! (接口定义如下图)

| 光敏电阻传感器 | 树莓派开发板 | LED灯 |
| VCC | 5V | 5V |
| GND | GND | GND |
| DO | GPIO.7(BCM4) | GPIO.0(BCM17) |


在树莓派上可以使用RPi.GPIO库来控制GPIO引脚!通过前面的传感器资料我们已知传感器在有光线的情况下,会输出低电平信号。下面用个简单的Python脚本 来持续监测GPIO4(BCM)的输入状态,并根据状态来改变GPIO17(BCM)的输出行为。
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义GPIO引脚
GPIO_PIN_4 = 4
GPIO_PIN_17 = 17
# 设置GPIO4为输入,GPIO17为输出
GPIO.setup(GPIO_PIN_4, GPIO.IN)
GPIO.setup(GPIO_PIN_17, GPIO.OUT)
try:
while True:
# 检测GPIO4的输入状态
if not GPIO.input(GPIO_PIN_4): # 如果GPIO4有低电平
GPIO.output(GPIO_PIN_17, GPIO.LOW) # 关闭GPIO17的高电平输出
print("关灯")
else:
GPIO.output(GPIO_PIN_17, GPIO.HIGH) # 否则保持GPIO17为高电平
print("开灯")
# 等待一段时间再检查一次(这里假设每秒检查一次,可根据需要调整)
time.sleep(1)
except KeyboardInterrupt:
# 键盘中断(Ctrl+C)时,清理GPIO资源
GPIO.cleanup()代码原理:当传感器引脚4没有低电平输入时,就让17引脚输出高电平给LED,从而实现天黑自动开灯,天亮自动关灯!
