又是周一啦,該認真學習了!今天我們學習一下如何用Arduino和蜂鳴器製造聲音。能發出聲音都元件很多,從簡單的蜂鳴器,喇叭到能發出高質量音色的mp3擴展版,我們從最簡單的蜂鳴器開始。
蜂鳴器蜂鳴器(Buzzer) 是一種一體化結構的電子訊響器,採用直流電壓供電,廣泛應用於計算機、印表機、複印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。
蜂鳴器根據結構不同分為壓電式蜂鳴器和電磁式蜂鳴器。壓電式蜂鳴器 是以壓電陶瓷的壓電效應,來帶動金屬片的振動而發聲;電磁式蜂鳴器是通過電流流過電磁線圈產生磁場。來帶動金屬片的振動而發聲。無論是壓電式蜂鳴器還是電磁式蜂鳴器,又都有有源和無源的區分,其中,「有源」是指蜂鳴器本身內含驅動了,直接給它一定的電壓就可以響;「無源」是需要靠外部的驅動才可以響的
下面我們就用Arduino來驅動一下常見的有源蜂鳴器。
準備材料Arduino UNO 1塊
當然你也可以使用Arduino其它版本,比如Arduino Leonardo, Arduino Duemilanove。
Arduino USB線 1根
一端是A型,一端是B型的USB連接線,用來連接Arduino和電腦
迷你麵包板 1塊(可選)
麵包線/跳線 若干根
兩頭都是針頭的公對公麵包線若干
有源蜂鳴器 1個
裝有Arduino IDE的Mac/PC/Linux 1臺
若沒有安裝,請參考《Arduino入門3: 安裝和熟悉Arduino IDE》安裝。
連接電路電路連接相對簡單,蜂鳴器有正負極之分。負極接Arduino的GND,正極接pin8。
導入File>Examples>Digital>toneMelody
頭部需要調用pitches.h,該文件定義了基本的音調對應的頻率,其中NOTE_C4代表中音C,NOTE_FS4代表升F等。
這裡Arduino主要利用tone()函數發出聲音,它主要有兩種用法:
tone(pin, frequency, duration)tone(pin, frequency)
*pin代表連接揚聲器的管腳,frequency代表發聲頻率,duration代表持續的時間,單位是毫秒。
如果使用tone(pin, frequency),Arduino會向指定pin發送制定頻率的方波,執行noTone()函數來停止。tone(pin, frequency, duration方法多了一個參數,代表發送方波持續的時間,到時自動停止發送信號,就不需要noTone()函數。
tone()函數對pin是有限制的,pin3-pin13,其他埠無法使用。
如果你懂音律,你基本就可以嘗試著用蜂鳴器和Arduino製作8bit音樂了。比如網友編的北郵校歌和惡俗的甩蔥歌。
Arduino電子書和視頻教程獲取方式
也想要一份我們套件附送的Arduino電子書和各種視頻教程麼?
掃描下方二維碼加關注後,回復「福利」
戳閱讀原文,購買Arduino入門學習套件