mblock第五課(PWM模擬類比輸出)

Arduino UNO控制板的數位腳位上有[~]符號的D3,D5,D6,D9,D10,D11也可以當作類比輸出,利用PWM模擬不同的電壓輸出。

一、呼吸燈(漸亮、漸暗、漸亮、漸暗、不斷循環)

1.一顆LED呼吸燈

紅色LED長腳(正極)接D11

做一個變數[呼吸],設置數位腳位D11的PWM輸出值為[呼吸],改變[呼吸]的數值,輸出的電壓就會改變,LED的亮度也就跟著改變。

程式下載:1呼吸燈.sb2

2.三顆LED呼吸燈輪流呼吸(漸亮、漸暗、換下一顆漸亮、漸暗、不斷循環)

紅色LED,正極接D11

黃色LED,正極接D10

綠色LED,正極接D9

控制D9、D10、D11的PWM輸出,來控制三種顏色LED的亮度。

2.1第一種方式:

程式開始先讓三顆燈都先熄滅。

做一個變數[呼吸],設置數位腳位D9的PWM輸出值為[呼吸],改變[呼吸]的數值,輸出的電壓就會改變,綠色LED的亮度也就跟著改變。

接著換設置數位腳位D10的PWM輸出值為[呼吸],然後是D11,不停地重複。

程式下載:3呼吸燈A.sb2

2.2第二種方式:

使用積木指令,讓主要的程式看起來簡潔

程式下載:3呼吸燈B.sb2

 

PS:寫程式除了要能執行需要的功能外,如果能讓程式簡短一些,執行更有效率,更是程式設計的精神所在。

上面的範例並不是最短的程式,還有更簡短的程式寫法您想到了嗎?

3.三顆LED呼吸燈一起呼吸(三顆LED一起漸亮、漸暗、漸亮、漸暗、不斷循環)

請參考前面範例設計

4.隨機呼吸(三顆LED隨機改變亮度)

 

設置數位腳位D9、D10、D11的輸出為隨機,等待時間也是隨機,不停地重複,三顆LED的亮度也就跟著隨機改變。

程式下載:隨機PWM.sb2

二、控制馬達轉速

可以控制馬達轉速,調整風扇轉速……等應用。後面再介紹。

———————————-

相關連結:

Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771

Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681

Arduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599732

Arduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599733

Arduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600369

Arduino第四課(LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600422

Arduino第五課(pwm)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600854

Arduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/600855

Arduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602388

Arduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602288

Arduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602290

Arduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/602291

Arduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605139

Arduino第十二課(離線執行)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605798

———————————–

Arduino進階班課程目錄

Arduino第十三課(超音波感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/620602

Arduino第十四課(搖桿)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/620718

Arduino第十五課(人體紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/620975

Arduino第十六課(主動式紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/621311

Arduino第十七課(繼電器) 
http://blog.ilc.edu.tw/blog/blog/868/post/93477/622442

Arduino第二十課(電腦裡的馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/614292

roc

宜蘭縣國小資訊小站

您可能也會喜歡…