我使用的RaspBerry 4B.
连接好感应模块和无源蜂鸣器后,就可以编写代码了。
以下是python代码,需要先安装GPIO。
ssh连接树莓派系统后,输入python3后就直接进入命令了。说明树莓派内置了python3。其实内置了python2,这里我使用的是python3.
sudo apt-get update
# gpio对应python3的包:python3-rpi.gpio
sudo apt-get install python3-rpi.gpio
测试是否安装成功,
>>> import RPi.GPIO as GPIO # 导入gpio包,没有报错则说明安装没问题。接下来就可以使用了。
>>>
以下是蜂鸣器报警代码:
主要是控制无源蜂鸣器高低电平的输出让无源蜂鸣器发出声音。
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
我也是初学者,欢迎交流。