發表文章

目前顯示的是有「noTone()」標籤的文章

Python可以這樣玩(15):蜂鳴器與音樂

圖片
蜂鳴器是一種一體化結構的電子發聲器,採用直流電壓供電,廣泛應用於電腦、印表機、影印機、報警器、電子玩具、汽車電子設備、電話機、計時器等電子產品中作發聲器件。 按其驅動方式的不同,可分為:有源蜂鳴器(內含驅動線路)和無源蜂鳴器(外部驅動)。教你區分有源蜂鳴器和無源蜂鳴器,現在市場上出售的一種小型蜂鳴器,因其體積小 ( 直徑只有 11 mm) 、重量輕、價格低、結構牢靠,而廣泛地應用在各種需要發聲的電器設備、電子製作和單片機等電路中。有源蜂鳴器和無源蜂鳴器的外觀好像一樣,但仔細看,兩者的高度略有區別,有源蜂鳴器,高度為 9 mm ,而無源蜂鳴器的高度為 8mm 。如將兩種蜂鳴器的引腳朝上放置時,可以看出有綠色電路板的一種是無源蜂鳴器,沒有電路板而用黑膠封閉的一種是有源蜂鳴器。 工作原理 蜂鳴器發聲原理是電流通過電磁線圈,使電磁線圈產生磁場來驅動振動膜發聲的,因此需要一定的電流才能驅動它,本實驗用的蜂鳴器內部帶有驅動電路,所以可以直接使用。當蜂鳴器連接的引腳為高電壓時,內部驅動電路導通,蜂鳴器發出聲音;當蜂鳴器連接的引腳為低電壓,內部驅動電路截止,蜂鳴器不發出聲音。 蜂鳴器的連線 本實驗用的蜂鳴器內部帶有驅動電路,所以可以直接將蜂鳴器的正極連接到數位口,蜂鳴器的負極連接到 GND 插口中。如下圖 ( 實際接線的時候,我並沒有把上個範例中的 LED 拆除,因此我把蜂鳴器的正極接到 PIN 10) : 實際連線的時候,建議使用編號 ZK-1205S 的蜂鳴器,它會麵包板的格子剛好契合。注意上面的正負極。 蜂鳴器模擬救護車警笛聲音實驗 實驗原理:蜂鳴器發出聲音的時間間隔不同,頻率就不同,所以發出的聲音就不同。根據返一原理我們通過改發蜂鳴器發出聲音的時間間隔,來發出不同種聲音,來模擬各種聲音。本程式首先讓蜂鳴器間隔 1ms 發出一種頻率的聲音,迴圈 80 次;接著讓蜂鳴器間隔 2ms 發出另一種頻率的聲音,迴圈 100 次。程式我改寫如下,原本蜂鳴器執行的動作是放在 loop() 裡面的,但是由於執行起來停不了太吵了,所以我把主程式放在 setup() 裡面,只會執行三次。當然,如果你要保持原來的程式,讓它一直在 loop() 裡面執行,建議加一個開關,按下的時候才會響,開關的線路要如何加...