我使用的RaspBerry 4B.
連接好感應模塊和無源蜂鳴器后,就可以編寫代碼了。
以下是python代碼,需要先安裝GPIO。
ssh連接樹莓派系統(tǒng)后,輸入python3后就直接進入命令了。說明樹莓派內(nèi)置了python3。其實內(nèi)置了python2,這里我使用的是python3.
sudo apt-get update
# gpio對應python3的包:python3-rpi.gpio
sudo apt-get install python3-rpi.gpio
測試是否安裝成功,
>>> import RPi.GPIO as GPIO # 導入gpio包,沒有報錯則說明安裝沒問題。接下來就可以使用了。
>>>
以下是蜂鳴器報警代碼:
主要是控制無源蜂鳴器高低電平的輸出讓無源蜂鳴器發(fā)出聲音。
import RPi.GPIO as GPIO
import time
def init():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.IN)
GPIO.setup(11, GPIO.OUT)
pass
def beep():
while GPIO.input(12):
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "some body here!")
# 設置輸出:引腳11,高電平
GPIO.output(11,True)
time.sleep(0.5)
# 設置輸出:引腳11,低電平
GPIO.output(11,False)
time.sleep(0.5)
def detct():
# beep()
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + " Hello sky!")
while True:
if GPIO.input(12) == True:
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + " Someone is closing!")
beep()
else:
GPIO.output(11,False)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" Not anybody!")
time.sleep(2)
time.sleep(2)
init()
detct()
GPIO.cleanup()
啟動后就可以看到效果了。
成果視頻
- 參考:Github: RaspBerry-Demo
我也是初學者,歡迎交流。