Adafruit的树莓派教程:电力控制
概览
树莓派可以成为你家里强大的自动化控制终端,但最实用的应该是控制家用电器以及灯的打开关闭了。那就意味着小派应该能够安全的控制110V电力。
这节课里,你将学习把PIR(人体热式传感器)与Adafruit电力开关尾插Module 2型结合,在检测到与运动时自动开关设备。
你需要的
要完成这节课的内容,你需要下面的东西:
PIR人体热式传感器
电力开关尾插2型模块
树莓派扩展板
小型面包板
树莓派
一把跳线
硬件部分
Adafruit电力开关尾插2型看起来是一个110V插头中间带了一个小盒子。
如果你主要使用的是220V电压,那么这篇教程不适合你 – 如果我们获悉了某种等效的220V电力控制器,我们会在这里附上链接的


import time
import RPi.GPIO as io
io.setmode(io.BCM)
pir_pin = 24
power_pin = 23
io.setup(pir_pin, io.IN)
io.setup(power_pin, io.OUT)
io.output(power_pin, False)
while True:
if io.input(pir_pin):
print("POWER ON")
io.output(power_pin, True)
time.sleep(20);
print("POWER OFF")
io.output(power_pin, False)
time.sleep(5)
time.sleep(1)
这个程序首先设置了两个用到的GPIO针脚,一个用于把PIR传感器作为输入,另一个输出到电力开关尾插上。
主循环一直等待PIR传感器侦测运动,然后打印一条信息,之后打开电力开关,等待20秒之后关闭开关。
一旦输出被打开,那么将会等待5秒防止在5秒内重新触发输出。
然后每次循环会延迟一秒。
测试与配置
有许多方式可以连接到你的树莓派上。也许最简单的方式是使用SSH并使用下面的命令打开一个编辑器:
nano powerswitch.py
然后粘贴代码,并按Ctrl+X保存。
在开始运行之前,拿东西改在PIR传感器上,这样它就不会在你没准备好之前激活了。
然后使用下面的命令运行程序:
sudo python powerswitch.py
拿走PIR上面的覆盖物你应该能看到一条”POWER ON”输出然后电力开关上的小LED会点亮,并在20秒之后熄灭。
在代码里不要猛烈地开关电力。许多设备,包括灯泡在频繁开关时都会造成损坏。这种设计至少要等待几秒再打开或关闭电力。