Raspberry Pi+红外感应器+蜂鸣器实现简易报警
TA的每日心情 | 开心 2016-8-15 09:30 |
|---|
签到天数: 162 天 连续签到: 1 天 [LV.7]常住居民III
状元
- 积分
- 7690

|
今天试了下红外感应器HC-SR501,觉得挺好玩,就用它和树莓派再加上一个蜂鸣器实现简易报警功能。第一次玩这个红外感应模块,对它的性能还不熟,特别是感应延时什么的还没研究透,所以就随便试验一下了,代码也写的很随便,逻辑上也欠考虑。
废话不多说,本次主要实现基本功能:
运行脚本后,感应模块每隔一定时间检测,如没人在旁边,则在屏幕显示“没有人在”,如有人靠近,则发出哔哔报警声,并在屏幕输出“有人正在靠近”,人若离开,则停止鸣叫,并继续显示“没有人在”。
简易电路图,在PPT里画的:-(
实物图,连线比较乱哈。。
Python脚本:
import RPi.GPIO asGPIO
import time
#初始化
def init():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12,GPIO.IN)
GPIO.setup(21,GPIO.OUT)
pass
#蜂鸣器鸣叫函数
def beep():
while GPIO.input(12):
GPIO.output(21,GPIO.LOW)
time.sleep(0.5)
GPIO.output(21,GPIO.HIGH)
time.sleep(0.5)
#感应器侦测函数
def detct():
#因为是仅仅试验,所以只让它循环运行100次
for i in range(1,101):
#如果感应器针脚输出为True,则打印信息并执行蜂鸣器函数
if GPIO.input(12) == True:
print “Someone isclosing!”
beep()
#否则将蜂鸣器的针脚电平设置为HIGH
else:
GPIO.output(21,GPIO.HIGH)
print “Noanybody!”
time.sleep(2)
init()
detct()
#脚本运行完毕执行清理工作
GPIO.cleanup()
代码截图以及运行时截图:
原文:http://codyy.sinaapp.com/?p=54
|
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2014-9-23 05:09 |
|---|
签到天数: 113 天 连续签到: 1 天 [LV.6]常住居民II
翰林
- 积分
- 20171
|
沙发
feel-123
发表于 2014-7-23 14:39:04
|
只看该作者
|
|
|
|
|
|
|
|
TA的每日心情 | 慵懒 2014-8-18 09:40 |
|---|
签到天数: 13 天 连续签到: 1 天 [LV.3]偶尔看看II
秀才
- 积分
- 211

|
板凳
冷雨无声
发表于 2014-7-23 15:36:07
|
只看该作者
|
还可以增加摄像头录像功能~然后再增加视频服务,远程查看 |
|
|
|
|
|
|
|
|
TA的每日心情 | 无聊 2015-12-14 11:43 |
|---|
签到天数: 556 天 连续签到: 1 天 [LV.9]以坛为家II
状元
- 积分
- 4945
   

|
地板
┗SKY┛
发表于 2014-7-25 21:19:32
|
只看该作者
|
|
|
|
|
|
|
|
TA的每日心情 | 开心 2014-8-30 09:03 |
|---|
签到天数: 11 天 连续签到: 1 天 [LV.3]偶尔看看II
童生
- 积分
- 85
|
5#
dongdd
发表于 2014-7-29 16:53:07
|
只看该作者
|
|
|
|
|
|
|
|
|
|
6#
pandaql
发表于 2017-3-19 22:18:51
|
只看该作者
|
|
|
|
|
|
|
|
|
|
7#
kfdnnljat
发表于 2017-5-4 09:18:09
|
只看该作者
非常强大啊~~~~~~~~~~~~~~~~~~~ |
|
|
|
|
|
|
|
|