這節(jié)課,來講一個(gè)新的硬件,蜂鳴器。
上節(jié)課作業(yè)
1.將休眠時(shí)間修改為10秒
將time.sleep(3)修改為time.sleep(10)
2.增加8根線和4個(gè)led燈,5個(gè)led燈依次亮3秒,循環(huán)10次結(jié)束
首先選擇8個(gè)GPIO口,其中4個(gè)是控制口,另外4個(gè)是GND
選擇led燈2的正極接12號(hào)口,負(fù)極接25號(hào)口
選擇led燈3的正極接13號(hào)口,負(fù)極接30號(hào)口
選擇led燈4的正極接15號(hào)口,負(fù)極接34號(hào)口
選擇led燈5的正極接16號(hào)口,負(fù)極接39號(hào)口
接好之后的連線情況如下:

然后將前面的led.py另存為led5.py
修改代碼如下:

這樣是讓5個(gè)led同時(shí)亮3秒鐘然后同時(shí)熄滅,這樣可以檢測燈和線路都沒有問題。
運(yùn)行結(jié)果如下:

如果看到圖片里面5個(gè)燈顏色不一樣很正常,因?yàn)槲矣玫膌ed燈是不同顏色的。
然后修改代碼如下,讓5個(gè)燈依次亮3秒熄滅,循環(huán)10次:

運(yùn)行結(jié)果如下,看到5個(gè)led燈按照次序亮3秒熄滅:

大家可以發(fā)揮一下,看看最多可以增加到多少個(gè)led燈。注意GND是可以共用的。
如果增加到很多個(gè),就可以利用led組成點(diǎn)陣,顯示字母或者數(shù)字了,還可以組成各種圖案,比如花朵五角星等等。
有興趣的同學(xué)可以嘗試看看如何利用led組成點(diǎn)陣顯示字母或者數(shù)字。
蜂鳴器
蜂鳴器分兩種:
一、無源蜂鳴器:
1 無源內(nèi)部不帶震蕩源,所以如果用直流信號(hào)無法令其鳴叫。必須用2K~5K的方波去驅(qū)動(dòng)它
2 聲音頻率可控,可以做出“多來米發(fā)索拉西”的效果。
3 在一些特例中,可以和LED復(fù)用一個(gè)控制口
二、有源蜂鳴器:
1 有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會(huì)叫
2 程序控制方便,單片機(jī)一個(gè)高低電平就可以讓其發(fā)出聲音,而無源蜂鳴器卻做不到。
我們采用的是有源蜂鳴器:
電壓:3.5—5.5V
電流:<25mA 頻率:2300±500
這樣控制起來比較方便。下面就是我們用的蜂鳴器:

蜂鳴器只有2個(gè)引腳,長腳是正極接GPIO控制口,短腳是負(fù)極接GND。
因此電路連接就和led燈是一樣的。
我們將蜂鳴器長腳正極接7號(hào)口,短腳負(fù)極接9號(hào)口。
將樹莓派關(guān)機(jī)后,連接線路如下:

注意將蜂鳴器上面的一層粘紙撕掉。
持續(xù)鳴叫
編寫程序beep.py如下:

運(yùn)行程序后,可以聽到,蜂鳴器持續(xù)3秒鐘在響。
可以修改休眠的時(shí)間,可以讓蜂鳴器持續(xù)響的時(shí)間不一樣。
有節(jié)奏鳴叫
我們可以修改程序,讓蜂鳴器有節(jié)奏的鳴叫,這樣聽起來更舒服悅耳。
修改beep.py為beep2.py,程序如下:

運(yùn)行程序后,可以聽到蜂鳴器非常有節(jié)奏的鳴叫。
大家可以修改程序中的調(diào)用函數(shù)beepAction的參數(shù),改為0.02或者0.2等等,讓蜂鳴器的鳴叫聲音不一樣。
課后作業(yè)
1.網(wǎng)上搜索溫濕度傳感器DHT11的相關(guān)信息,以及引腳說明。
往期教程
因?yàn)榻坛淌窍盗薪坛?,前后關(guān)聯(lián)性非常強(qiáng),請(qǐng)大家按照微信公眾號(hào)【零基礎(chǔ)學(xué)編程】的歷史消息發(fā)布時(shí)間先后次序進(jìn)行閱讀。