树莓派光敏电阻教程:接线与 Python 读取光照强度
在本树莓派光敏传感器教程中,我将带你为 GPIO 引脚接线光敏电阻,并用简洁的 Python 脚本读取数据。目标是让你亲手理解电路、代码及实际应用(如光控闹钟)。
本项目适合想探索传感器集成的初学者,也可作为更复杂项目的基础。
下文详述组件、分步接线,以及将树莓派数字引脚变身简易模拟测量的 Python 逻辑。
所需设备
所需一切列于此。面包板非必需,但极大简化组装,尤其当你打算进一步实验时。
推荐
树莓派
8GB SD 卡或 Pi 2/B+ 用 Micro SD 卡
网线或 Wi-Fi 适配器
光敏传感器 (LDR)
1 µF 电容
可选
树莓派外壳
USB 键盘
USB 鼠标
GPIO 扩展板
面包板
面包板跳线
视频
视觉学习者可观看配套视频,演示完整接线和实时传感器输出。文本下提供相同信息。
构建光敏传感器电路
电路刻意简化:一个 LDR、一个 1 µF 电容、一个 GPIO 引脚。LDR 在强光下电阻降至几百欧姆,黑暗中升至数兆欧姆。通过测量电容的 RC 时间常数,树莓派无需模拟输入即可推断光照强度。
- 引脚 #1 (3.3V) 接面包板 + 轨。
- 引脚 #6 (GND) 接面包板 - 轨。
- 将 LDR 放在面包板上,一端引线接 + 轨。
- LDR 另一端引线接树莓派引脚 #7。
- 在引脚 #7 引线与 - 轨之间插入 1 µF 电容,负极接 - 轨。
参考下方示意图直观布局。硬件就位后,Python 代码将数字引脚转为粗略模拟测量。
Python 代码
下方脚本测量电容充电至供电电压 75% 所需时间。该 RC 时间与 LDR 电阻成正比,给出环境光照粗略估计。
#!/usr/local/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
# 连接 RC 网络的引脚
pin_to_circuit = 7
def rc_time(pin):
count = 0
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
time.sleep(0.1)
GPIO.setup(pin, GPIO.IN)
while GPIO.input(pin) == GPIO.LOW:
count += 1
return count
try:
while True:
print(rc_time(pin_to_circuit))
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()
部署与运行
运行 Raspbian 的树莓派预装所需库。如需手动安装:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
克隆仓库并运行脚本:
git clone https://github.com/pimylifeup/Light_Sensor/
cd Light_Sensor
sudo python3 light_sensor.py
或将代码粘贴到新文件,保存为 light_sensor.py,执行相同命令。
提升精度与潜在应用
LDR 虽快速低成本,但动态范围有限且受温度影响,精密场合可能不足。需更高精度可考虑 Adafruit 高动态范围数字光传感器。
- 光控闹钟: 随日光增强逐渐增大闹铃音量。
- 花园日照监测: 记录不同区域光照强度,指导种植决策。
- 房间占用提醒: 黑暗房间检测到异常光线发送通知。
随意实验、调整 RC 网络,或将传感器集成到更大项目。遇到问题或有建议,欢迎留言。
来源:树莓派光敏传感器 — 简易 LDR 教程
制造工艺
- 树莓派+$5 I²C传感器打造温度记录仪
- 树莓派与 Python 构建远程温度传感器:分步实战指南
- 树莓派自制气象站:每日邮件推送温湿雨数据
- 树莓派 GPIO 直连 DS1820 单总线温度传感器指南
- 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
- 树莓派 Home Assistant 安全监控:PIR 运动检测、报警面板与视频抓拍
- 树莓派 PIR 运动传感器控制 LED 实战指南
- 树莓派低成本土壤湿度传感器:智能灌溉 DIY 指南
- 树莓派读取线性霍尔传感器:Java 指南与 ADC0832 深度解析
- 树莓派多传感器温度光照监测系统:DS18B20 实战构建
- 4 美元太阳能庭院灯改造:MSP430 + nRF24L01+ 打造花园无线传感器节点
- 树莓派盖革计数器 DIY:开源硬件辐射传感器教程