传感器参数:
工作原理:光敏电阻传感器模块是由光敏电阻和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,从而实现天黑自动开灯,天亮自动关灯!