文章內容參考:
遇到不懂的方法,可以檢視arduino自帶的api
就直接點選arduino的ide裡面選單的help(幫助)按鈕裡面的reference(參考)按鈕,你就會發現arduino的api(arduino說明書)
無源蜂鳴器:一種一體化結構的電子訊響器,分為有源蜂鳴器與無源蜂鳴器。這裡的「源」不是指電源,而是指**源,有源蜂鳴器內部帶**源,所以只要一通電就會響,而無源內部不帶**源,所以如果僅用直流訊號無法令其鳴叫,必須用2k-5k的方波去驅動它。從外觀上看,兩種蜂鳴器區別不大,沒有電路板而用膠封閉的一種是有源蜂鳴器。
首先寫一段**讓蜂鳴器發聲:
int tonepin=13;//從上面的**可以看出,for語句中的80、100控制了頻率,delay控制了時長,類似與**中的節拍。設定控制蜂鳴器的數字13腳
void
setup()
void
loop()
for(i=0;i<100;i++)//
輸出另乙個頻率的聲音,這裡的100與前面的80一樣,用來控制頻率,可以自己調節
}}
無線蜂鳴器演奏**
從上面的實驗看,如果我們能夠控制好頻率和節拍,那就有可能演奏出動聽的**。因此,我們首先需要搞清楚各音調的頻率,具體見下表:
低音:音調
音符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...