亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派光敏电阻日志与报警系统:低功耗光照传感器 Python 实现

项目简介

本指南将带你构建一个基于树莓派的光敏传感器,记录光照强度并触发报警。适用于监测衣柜、设备柜等黑暗空间,或单纯记录环境光照变化。

我们将用 LED 作为指示输出,但电路可改造为控制继电器、蜂鸣器甚至通知服务。你只需一个 Adafruit RPi 入门套件——这个高性价比套装包含所需一切——或按下方物料清单自行采购。

与典型单片机不同,树莓派没有板载模数转换器。我们通过计时电容经光敏电阻充电——一种廉价的 RC 计时技术——获得可靠读数。

前置条件

编程使用 Python。推荐使用 Adafruit Occidentalis 发行版,预装 RPi.GPIO 库和树莓派预编译模块。若偏好精简环境,仅需通过 pip 安装 RPi.GPIO 即可。

电路电流极小,标准树莓派电源足矣。为校准方便,准备可调光源(如可调台灯)以观察传感器对不同光照的响应。

步骤 1 – RC 电路接线

  1. 将 Cobbler 插入面包板,确保无引脚接触同一电源轨,否则可能短路树莓派。
  2. 连接 3.3 V 引脚到面包板正轨,GND 到负轨。
  3. 将光敏电阻跨接在面包板中央缺口两侧。
  4. 光敏电阻一端接 3.3 V 轨,另一端接树莓派 18 号引脚。
  5. 1 µF 电容连接 18 号引脚到 GND。RC 网络完成。

此时可进行传感器校准。

步骤 2 – 校准与测试

运行以下 Python 脚本。它持续测量电容经光敏电阻充电的时间。返回值随光照增强而减小。

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
RC_PIN = 18

def rc_time(pin):
    GPIO.setup(pin, GPIO.OUT)
    GPIO.output(pin, GPIO.LOW)
    time.sleep(0.1)  # 充分放电电容
    GPIO.setup(pin, GPIO.IN)
    count = 0
    while GPIO.input(pin) == GPIO.LOW:
        count += 1
    return count

while True:
    print(rc_time(RC_PIN))
    time.sleep(0.5)

随着光源变化,你会观察到清晰的数值趋势:光照越强,读数越低。在黑暗和典型光照下各采集几个样本,建立触发报警的阈值。

步骤 3 – 实现报警逻辑

确定阈值后,修改脚本控制 LED 亮灭、记录数据到文件,或通过邮件/MQTT 发送通知。例如,房间变亮时闪烁红色 LED:

RED_LED = 17
GPIO.setup(RED_LED, GPIO.OUT)
while True:
    level = rc_time(RC_PIN)
    if level < THRESHOLD:
        GPIO.output(RED_LED, GPIO.HIGH)
    else:
        GPIO.output(RED_LED, GPIO.LOW)
    time.sleep(1)

更复杂的工作流可集成 Home Assistant、Node‑RED 或自定义 Flask Web 服务。

安全与最佳实践

通过这套装置,你拥有了一个可靠、低功耗的光照传感器,能记录并响应光照变化。可自由扩展:增加多传感器、记录到数据库、在 Web 仪表盘可视化数据。

制造工艺

  1. NodeMCU DHT22接入树莓派3B+ MQTT Broker:无缝物联网集成指南
  2. 树莓派控制水培养殖系统:构建指南与代码
  3. 光耦隔离采集 24V 恒温器信号:树莓派实现 HVAC 事件记录与实时绘图
  4. 树莓派与 Python 构建远程温度传感器:分步实战指南
  5. 树莓派配合 EzTemp 实现无缝温湿度监测
  6. 树莓派室温监测系统:Gnuplot 绘图与邮件报警
  7. 树莓派 GPIO 直连 DS1820 单总线温度传感器指南
  8. 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
  9. 树莓派无原生 ADC 读取模拟传感器:阶跃响应法实战
  10. 树莓派多传感器温度光照监测系统:DS18B20 实战构建
  11. 树莓派 GPIO 读取按键:分步实战指南
  12. 树莓派传感器与执行器控制实战:加速度计、舵机与数据流