人体感应+蜂鸣器教程

我使用的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()

启动后就可以看到效果了。
成果视频

我也是初学者,欢迎交流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正文之前 感觉自己很久很久没有写东西了,所以还是继续开动一下笔吧,最近没看啥,就忙着开题报告,开题答辩PPT以及一...
    张照博阅读 2,462评论 1 10
  • 一、介绍    蜂鸣器是音频信号装置,蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器直接接上额定电源就可以连续发声...
    Maker张阅读 9,537评论 0 5
  • 最近买了一个树莓派做实验,按照网上的教程试了一下,现在把收集的资料汇总下。 树莓派可以当作一个小型的系统,在上面可...
    riverlcn阅读 2,645评论 0 0
  • 有源蜂鸣器和无源蜂鸣器的区别有源蜂鸣器:内置频率发生电路;通电就能发出声音;声音频率固定;成本较高无源蜂鸣器:内部...
    tomato_20fc阅读 2,539评论 0 0
  • 单片机STC89C52学习——07 LED闪烁 汇总:00 单片机STC89C52学习参考教程:普中科技 1 工作...
    aaa小菜鸡阅读 448评论 0 0