红外感应模块+蜂鸣器实现简易报警(转)
拿到了一個(gè)紅外感應(yīng)模塊HC-SR501,于是就用它和蜂鳴器簡單試驗(yàn)了下。主要是試驗(yàn)一下這個(gè)紅外感應(yīng)模塊的功能,所以代碼也寫的很隨便啦,邏輯上也欠考慮。
實(shí)現(xiàn)基本功能:運(yùn)行腳本后,感應(yīng)模塊每隔一定時(shí)間檢測,如有人靠近,則發(fā)出嗶嗶報(bào)警聲,并在屏幕打印提示信息,人若離開,則停止鳴叫。
簡易的電路圖如下:
實(shí)物圖,連線比較亂哈。。
Python腳本(縮進(jìn)神馬的不知道發(fā)上去后會(huì)不會(huì)錯(cuò)位):
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
#蜂鳴器鳴叫函數(shù)
def beep():
while GPIO.input(12):
GPIO.output(21,GPIO.LOW)
time.sleep(0.5)
GPIO.output(21,GPIO.HIGH)
time.sleep(0.5)
#感應(yīng)器偵測函數(shù)
def detct():
#因?yàn)槭莾H僅試驗(yàn),所以只讓它循環(huán)運(yùn)行100次
for i in range(1,101):
#如果感應(yīng)器針腳輸出為True,則打印信息并執(zhí)行蜂鳴器函數(shù)
if GPIO.input(12) == True:
print "Someone isclosing!"
beep()
#否則將蜂鳴器的針腳電平設(shè)置為HIGH
else:
GPIO.output(21,GPIO.HIGH)
print "Noanybody!"
time.sleep(2)
init()
detct()
#腳本運(yùn)行完畢執(zhí)行清理工作
GPIO.cleanup()
轉(zhuǎn)載于:https://www.cnblogs.com/Pond-ZZC/p/6763462.html
總結(jié)
以上是生活随笔為你收集整理的红外感应模块+蜂鸣器实现简易报警(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux文档权限
- 下一篇: 2.2 Consumer API官网剖析