《树莓派项目实战》第七节 使用声音传感器检测有无声音
目錄
7.1 引腳介紹
7.2 工作原理
7.3 連接到樹莓派
7.4 編寫代碼檢測聲音有無
在本節(jié),我們將學(xué)習(xí)如何使用聲音傳感器檢測聲音,該項(xiàng)目設(shè)計(jì)到的材料有:
??
7.1 引腳介紹
聲音傳感器一共有3個(gè)引腳,非常簡單。
1. VCC: 電源引腳,可以連接到樹莓派的3.3V或5V引腳。
2. GND: 接地引腳。
3.?OUT: 信號(hào)輸出引腳,可以將它連到樹莓派任意一個(gè)GPIO引腳上,不過要將該GPIO引腳模式設(shè)置成輸入模式。
7.2 工作原理
聲音傳感器是根據(jù)震動(dòng)的原理來識(shí)別有沒有聲音的(不能識(shí)別聲音頻率),它包含一個(gè)駐極體話筒,我們說話產(chǎn)生的聲波可以讓話筒內(nèi)的駐極體薄膜震動(dòng),從而產(chǎn)生信號(hào)。
但并不是說環(huán)境中只要有聲音就可以被檢測到,聲波的強(qiáng)度只有達(dá)到設(shè)定的閾值時(shí)才可以。在聲音傳感器上有一個(gè)靈敏度調(diào)節(jié)電位器,我們可以拿一把小螺絲刀來調(diào)節(jié)閾值,如下圖所示。
?如果聲波強(qiáng)度沒有達(dá)到設(shè)定的閾值,那OUT引腳會(huì)持續(xù)輸出高電平;如果聲波強(qiáng)度達(dá)到了,OUT引腳則會(huì)輸出低電平,聲音結(jié)束后,OUT引腳就又開始輸出高電平了。
聲音傳感器上還有兩個(gè)指示燈:電源指示燈和開關(guān)指示燈。當(dāng)傳感器通電后,電源指示燈就會(huì)亮;當(dāng)聲波強(qiáng)度達(dá)到閾值時(shí),也就是說檢測到聲音時(shí),開關(guān)指示燈就會(huì)閃爍。
7.3 連接到樹莓派
將聲音傳感器插到面包板上,引腳連接情況如下:
- VCC引腳連接到樹莓派的2號(hào)5V引腳上。
- GND引腳連接到樹莓派的6號(hào)GND引腳上。
- OUT引腳連接到樹莓派的8號(hào)GPIO引腳上。
7.4 編寫代碼檢測聲音有無
import RPi.GPIO as GPIO import time# 設(shè)置編碼方式 GPIO.setmode(GPIO.BOARD)# OUT引腳編號(hào) OUT_NUM = 8# 設(shè)置GPIO引腳模式為輸入模式,并讓該引腳默認(rèn)處于高電平狀態(tài) 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()函數(shù)有一個(gè)pull_up_down參數(shù),通過它我們能夠設(shè)置某引腳的初始電平狀態(tài)。將OUT引腳設(shè)置成高電平狀態(tài)后,我們在循環(huán)中判斷該引腳的電平狀態(tài),如果是低電平,則說明有聲音。
運(yùn)行截圖如下:?
總結(jié)
以上是生活随笔為你收集整理的《树莓派项目实战》第七节 使用声音传感器检测有无声音的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android各种大内存脚本对比(app
- 下一篇: 基于蚁群结合遗传算法的路径规划问题附Ma