《树莓派项目实战》第七节 使用声音传感器检测声音

Posted la_vie_est_belle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《树莓派项目实战》第七节 使用声音传感器检测声音相关的知识,希望对你有一定的参考价值。

目录

7.1 引脚介绍

7.2 工作原理

7.3 连接到树莓派

7.4 编写代码检测声音有无


在本节,我们将学习如何使用声音传感器检测声音,该项目设计到的材料有:

  1. 树莓派 * 1
  2. 面包板 * 1
  3. 杜邦线若干
  4. 声音传感器 * 1

  

7.1 引脚介绍

声音传感器一共有3个引脚,非常简单。

1. VCC: 电源引脚,可以连接到树莓派的3.3V或5V引脚。

2. GND: 接地引脚。

3. OUT: 信号输出引脚,可以将它连到树莓派任意一个GPIO引脚上,不过要将该GPIO引脚模式设置成输入模式。

7.2 工作原理

声音传感器是根据震动的原理来识别有没有声音的(不能识别声音频率),它包含一个驻极体话筒,我们说话产生的声波可以让话筒内的驻极体薄膜震动,从而产生信号。

但并不是说环境中只要有声音就可以被检测到,声波的强度只有达到设定的阈值时才可以。在声音传感器上有一个灵敏度调节电位器,我们可以拿一把小螺丝刀来调节阈值(顺时针旋转调高阈值,逆时针则调低),如下图所示。

 如果声波强度没有达到设定的阈值,那OUT引脚会持续输出高电平;如果声波强度达到了,OUT引脚则会输出低电平,声音结束后,OUT引脚就又开始输出高电平了。

声音传感器上还有两个指示灯:电源指示灯和开关指示灯。当传感器通电后,电源指示灯就会亮;当声波强度达到阈值时,也就是说检测到声音时,开关指示灯就会闪烁。

注:开关指示灯在通电的时候就会一直亮,它的亮度表明了阈值的高低,阈值越高,亮度越低。读者可以自己调节下阈值来验证下。

7.3 连接到树莓派

将声音传感器插到面包板上,引脚连接情况如下:

  • VCC引脚连接到树莓派的2号5V引脚上。
  • GND引脚连接到树莓派的6号GND引脚上。
  • OUT引脚连接到树莓派的8号GPIO引脚上。

7.4 编写代码检测声音有无

import RPi.GPIO as GPIO
import time

# 设置编码方式
GPIO.setmode(GPIO.BOARD)

# OUT引脚编号
OUT_NUM = 8

# 设置GPIO引脚模式为输入模式,并让该引脚默认处于高电平状态
GPIO.setup(OUT_NUM, GPIO.IN, pull_up_down=GPIO.PUD_UP)

try:
    while True:
        if GPIO.input(OUT_NUM) == GPIO.LOW:
            print("有声音!")
        time.sleep(0.1)
except KeyboardInterrupt:
    print("停止检测!")
    GPIO.cleanup()

GPIO.setup()函数有一个pull_up_down参数,通过它我们能够设置某引脚的初始电平状态。

运行截图如下: 

以上是关于《树莓派项目实战》第七节 使用声音传感器检测声音的主要内容,如果未能解决你的问题,请参考以下文章

云中树莓派:利用声音传感器控制Led灯

树莓派3 声音传感器(win10)

树莓派3 声音传感器(win10)

树莓派的输入声音检测

《树莓派项目实战》第八节 使用光敏电阻传感器检测环境中是否有光照

《树莓派项目实战》第八节 使用光敏电阻传感器检测环境中是否有光照