Arduino開發版學習計畫 蜂鳴器

2022-03-18 02:02:14 字數 2223 閱讀 7587

文章內容參考:

遇到不懂的方法,可以檢視arduino自帶的api

就直接點選arduino的ide裡面選單的help(幫助)按鈕裡面的reference(參考)按鈕,你就會發現arduino的api(arduino說明書)

無源蜂鳴器:一種一體化結構的電子訊響器,分為有源蜂鳴器與無源蜂鳴器。這裡的「源」不是指電源,而是指**源,有源蜂鳴器內部帶**源,所以只要一通電就會響,而無源內部不帶**源,所以如果僅用直流訊號無法令其鳴叫,必須用2k-5k的方波去驅動它。從外觀上看,兩種蜂鳴器區別不大,沒有電路板而用膠封閉的一種是有源蜂鳴器。

首先寫一段**讓蜂鳴器發聲:

int  tonepin=13;//

設定控制蜂鳴器的數字13腳

void

setup()

void

loop()

for(i=0;i<100;i++)//

輸出另乙個頻率的聲音,這裡的100與前面的80一樣,用來控制頻率,可以自己調節

}}

從上面的**可以看出,for語句中的80、100控制了頻率,delay控制了時長,類似與**中的節拍。

無線蜂鳴器演奏**

從上面的實驗看,如果我們能夠控制好頻率和節拍,那就有可能演奏出動聽的**。因此,我們首先需要搞清楚各音調的頻率,具體見下表:

低音:音調

音符1#

2#3#

4#5#

6#7#ab

cdef

g中音:

音調音符ab

cdef

g高音:

音調音符

從簡譜看,該**是d調的,這裡的各音符對應的頻率對應的是上表中d調的部分。另外,該**為四分之四拍,每個對應為1拍。幾個特殊音符說明如下:

第一,普通音符。如第乙個音符3,對應頻率350,佔1拍。

第二,帶下劃線音符,表示0.5拍。

第三,有的音符後帶乙個點,表示多加0.5拍,即1+0.5

第四,有的音符後帶乙個—,表示多加1拍,即1+1

第五,有的兩個連續的音符上面帶弧線,表示連音,可以稍微改下連音後面那個音的頻率,比如減少或增加一些數值(需自己除錯),這樣表現會更流暢,其實不做處理,影響也不大。

#define ntd0 -1

#define ntd1 294

#define ntd2 330

#define ntd3 350

#define ntd4 393

#define ntd5 441

#define ntd6 495

#define ntd7 556

#define ntdl1 147

#define ntdl2 165

#define ntdl3 175

#define ntdl4 196

#define ntdl5 221

#define ntdl6 248

#define ntdl7 278

#define ntdh1 589

#define ntdh2 661

#define ntdh3 700

#define ntdh4 786

#define ntdh5 882

#define ntdh6 990

#define ntdh7 112

//c pinlv

#define whole 1

#define half 0.5

#define quarter 0.25

#define eighth 0.25

#define sixteenth 0.625

int tune=;

float durt=;

intlength;

int tonepin=13

;int ledp=1

;void

setup()

void

loop()

delay(

2000

);}

Arduino開發版學習計畫 藍芽控制小車行走

藍芽模組一共6個引腳,我們一般只需要接4個線就可以了,分別是vcc gnd txd rxd這四個引腳,我們分別接到arduino板子上,vcc接3.3v,gnd接板子的gnd,藍芽txd接板子的rxd,rxd接板子的txd 控制藍芽的 注意使用 serial1.begin 9600 void set...

Arduino開發版學習計畫 小車的行走

小車的前進後退,左右轉彎 如下 void motor char pin,char pwmpin,char state,int val else if state 2 else if state 0 void runfoward int i 前進void runback int j 後退void tu...

ESP32學習筆記之Arduino開發環境搭建

搭建環境 win10 64位 執行git gui 如果在arduino首選項中的 sketchbook位置 下方列出了另乙個目錄,請將其更改為sketchbook位置。單擊clone以開始轉殖儲存庫 開啟d program files x86 arduino hardware espressif e...