Raspberry Pi Photocell 日志和警报系统
这是用于制作基于 RasPi 的光电传感器触发的警报和日志记录系统的简单说明,该系统可以轻松扩展以显示可能进入房间(例如通常很暗的壁橱或设备储物柜),或出于任何其他原因监控光线水平。
在本教程中,我使用 LED 作为输出,但它们实际上可以是任何东西。
本教程几乎只需要 Adafruit RPi 入门套件(此处)。这是一个很棒的套件,而且也很便宜。如果您不想要那个或已经拥有这些组件,这里是材料清单:
3x 10mm 漫射 LED(红色、蓝色和绿色)
1x 1uF 电容器
1x 光电池电阻器
3x 560 欧姆电阻
1x Pi Cobbler 分线器
10x 面包板线
1x 全长无焊面包板
现在有一个问题。 Raspberry Pi 没有板载 ADC。但是,如果我们只想要一个基本的(实际上相当准确)光电传感器,我们可以让电流通过一个小电容器,并计算充电所需的时间。
第 1 步:先决条件
该程序是使用 Python 编写的。我强烈建议您使用 Adafruit 的发行版 Occidentalis,但如果您不想这样做,请确保安装了 RPi.GPIO 库。
这个特殊项目的功耗非常低,所以真的不需要一个好的电源。
你应该确保你有一个好的光源来测试这个,最好是一个你可以改变亮度的光源。
好的,让我们开始吧。
第 2 步:接线和测试光电管的 RC 电路
将 Cobbler 插入面包板的一端。确保没有销钉在同一导轨上;如果是这样,您可能会严重损坏您的 Pi!
取一根面包板线,将 3v3 引脚连接到面包板的正极导轨,并将接地(5v0 引脚旁边的那个)连接到面包板另一侧的接地导轨。
将光电管放在对面面包板两半之间的间隙。在一侧,将另一根引线从光电管的一侧连接到面包板。
在另一侧,将一根导线从引脚 18 连接到光电管,将 1uF 电容器接地。
我们现在准备设置校准助手来测试电路。
将此代码作为python脚本输入并运行。您应该会看到一长串数字出现,当您在光电管上发光时,数字会变低。此代码基于 Adafruit 关于此技术的教程。
#!/usr/bin/env python
# Raspberry Pi 的 RC 时序读取示例
# 必须与 GPIO 0.3.1a 或更高版本一起使用 - 早期版本
# 不够快!
# 设置为引脚 18 上的电阻输入
将 RPi.GPIO 导入为 GPIO, time, os
DEBUG =1
GPIO.setmode(GPIO.BCM)
def RCtime (RCpin):
reading =0
GPIO.setup(RCpin, GPIO.OUT)
GPIO.output(RCpin, GPIO.LOW)
time.sleep(0.1 )
GPIO.setup(RCpin, GPIO.IN)
# 每个循环周期大约需要 1 毫秒
while (GPIO.input(RCpin) ==GPIO.LOW):
reading +=1
return reading
while True:
print RCtime(18) # 使用 pin #18 读取 RC 时序
有关更多详细信息:Raspberry Pi Photocell 日志和警报系统
制造工艺
- NodeMCU 和 Raspberry Pi 3 B+
- Raspberry Pi 控制的鱼菜共生
- 使用 raspberry 记录和绘制 24V 恒温器事件(光耦合器 + Raspberry Pi)
- Python 和 Raspberry Pi 温度传感器
- Raspberry Pi 上的简易温度和湿度
- 具有 Gnuplot 图像输出和电子邮件警报功能的 Raspberry Pi 控制室温监控
- Raspberry Pi 上的 1 线温度传感器 DS1820(直接 GPIO)
- 超声波传感器 (HC-SR04) + Raspberry Pi
- Raspberry Pi 上没有模拟输入的模拟传感器
- Raspberry Pi 温度和光传感器
- 使用 Raspberry pi 通过 GPIO 检测按钮按下
- Raspberry Pi 传感器和执行器控制