利用声音传感器控制led灯功能_利用光敏电阻加声音传感器制作声控灯
視頻演示https://www.zhihu.com/video/1145029294962020352
光敏電阻傳感器模塊
模塊參數:
工作電壓:3.3V-5V
光敏電阻模塊對環境光線敏感,一般用來檢測周圍環境的光線的亮度。模塊在環境光線亮度達不到設定閾值時,DO端輸出高電平,當外界環境光線亮度超過設定閾值時,DO端輸出低電平。
線路連接(*連接線路時樹莓派務必斷電操作)
根據聲控燈教程增加光敏電阻模塊(查閱上一篇教程),模塊VCC端接樹莓派2號(5V)引腳,GND端接25號引腳,DO(OUT)端接18號引腳。
編寫程序light.py(只用到光敏模塊)
import RPi.GPIO as GPIO
import time
#初始化
def init():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(18,http://GPIO.IN)
GPIO.setup(40,GPIO.OUT)
#點亮led檢測是否工作
GPIO.output(40, 1)
time.sleep(0.1)
pass
#燈函數(這里數值控制燈亮的時間)
def beep():
while GPIO.input(18):
GPIO.output(40,GPIO.HIGH)
time.sleep(3)
GPIO.output(40,GPIO.LOW)
time.sleep(0.1)
#感應器偵測函數
def detct():
#因為是僅僅試驗,所以只讓它循環運行100次
for i in range(1,101):
#如果感應器針腳輸出為True,則打印天黑了。
if GPIO.input(18) == True:
print('天黑了!')
beep()
#否則將LED針腳電平設置為LOW
else:
GPIO.output(40,GPIO.LOW)
print('天亮了!')
time.sleep(2)
time.sleep(3)
init()
detct()
#腳本運行完畢執行清理工作
GPIO.cleanup()
運行程序,開始led燈將點亮0.1秒后熄滅說明開始工作,如果光線充足,led熄滅屏幕上打印出“天亮了”,遮住光敏模塊后led燈點亮并打印出“天黑了”。
增加聲控:編寫程序 soundandlight.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
LED = 40 # LED正極連接的GPIO
LIGHT = 18 # 光感
SOUND = 12 # 聲感
flg = False # 當前LED燈的開關狀?
# 指定GPIO4(聲音感應器的OUT口連接的GPIO口)的模式為輸入模式
# 默認拉高到高電平,低電平表示OUT口有輸出
GPIO.setup(LIGHT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(SOUND , GPIO.IN, pull_up_down=GPIO.PUD_UP)
# 指定GPIO40(LED長針連接的GPIO針腳)的模式為輸出模
GPIO.setup(LED, GPIO.OUT)
GPIO.output(LED, 1)
time.sleep(0.1)
pass
# 當內部作用域想修改外部作用域的變量時,用到global和nonlocal關鍵字
num = 0
def callback(channel):
global num
#檢測聲音模塊是否輸出低電平,如果是表示聲音被檢測到,點亮或關閉LED
print(channel, GPIO.input(LIGHT), GPIO.input(SOUND ))
num += 1
print(num)
#如果沒有燈光,觸發點亮led
if (GPIO.input(LIGHT) == 1):
GPIO.output(LED, 1)
#稍微延時一會,避免剛點亮就熄滅,或者剛熄滅就點亮
#這里數值控制燈亮的時間
time.sleep(3)
GPIO.output(LED, 0)
# 監聽光感
GPIO.add_event_detectLIGHT, GPIO.RISING, callback)
# 監聽聲控
GPIO.add_event_detect(SOUND ,GPIO.RISING,callback,bouncetime=200)
while True:
time.sleep(10)
GPIO.cleanup()
運行程序,開始led燈將點亮0.1秒后熄滅說明開始工作,如果光線充足LED燈熄滅;遮住光敏模塊后,發出聲音被聲音傳感器檢測到后LED燈點亮3秒。
總結
以上是生活随笔為你收集整理的利用声音传感器控制led灯功能_利用光敏电阻加声音传感器制作声控灯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 群组
- 下一篇: 地下城与勇士(DNF)天空之城副本(龙人