《树莓派项目实战》第七节 使用声音传感器检测有无声音
目錄
7.1 引腳介紹
7.2 工作原理
7.3 連接到樹莓派
7.4 編寫代碼檢測聲音有無
在本節,我們將學習如何使用聲音傳感器檢測聲音,該項目設計到的材料有:
??
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參數,通過它我們能夠設置某引腳的初始電平狀態。將OUT引腳設置成高電平狀態后,我們在循環中判斷該引腳的電平狀態,如果是低電平,則說明有聲音。
運行截圖如下:?
總結
以上是生活随笔為你收集整理的《树莓派项目实战》第七节 使用声音传感器检测有无声音的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android各种大内存脚本对比(app
- 下一篇: 基于蚁群结合遗传算法的路径规划问题附Ma