[Arduino初階實習] Unit 4:RGB 3色LED實習–PWM輸出

在前一個單元中我們使用的是數位輸出入的接腳,此種接腳顧名思義,輸出值只有HIGH和LOW兩種,因此在上一個例子中,其中總共只能調出8種顏色而已(同學們可以思考一下為什麼是8種顏色喔)。在這個單元中,我們把原本接到數位接腳2、3、4的那三條線改接到3、5、以及6,如果你有注意到的話會發現,這3個接腳的數字旁邊,有一個波浪的符號「~」,這就是支援PWM的輸出接腳。

因為只有連接到Arduino的線位置有變化,在這裡我們就不再繪出電路圖了,直接來看看如何使用這些PWM接腳。由於使用的是類比輸出入的部份 ,因此在程式中會有幾個變化。首先,要設定數值的函數,由digitalWrite改為analogWrite,其次,輸出的值由原本的HIGH以及LOW兩種,改為可以從0到255的數字,簡單地看PWM,不同數值表示輸出不同的電壓,因為得到的電壓值不同,LED的亮度就會跟著有不同。先來看看其中一個顯示不同亮度的紅色之程式例:

https://gist.github.com/skynettw/6463ebc70bde778be9a2b673f5c98a9b

這個程式使用了之前沒有見過的迴圈,迴圈的目的在於讓某些敘述可以重覆執行,同時在重覆的過程中設定一個隨著迴圈執行次數而變化的索引變數(在此例中為變數i),透過指定 i 的起始值和結束值以及變化量來決定重覆的次數,並可以利用每次都會改變的變數 i 的數值,應用於輸出量的大小。以下是上述程式的執行實例影片:

延續上面的例子,可以修改上一單元的輸出函數turn,使其可以支援類比的輸出工作。以下的程式同時變化3個顏色,由於是同步變化相同的數值,所以基本上就是白色光的由明轉暗再轉明:

https://gist.github.com/skynettw/e7724d5f22624044d7110dd45eba3e00

以下的程式則是利用亂數函數radnom製造出隨意改變色的LED效果:

https://gist.github.com/skynettw/53a2f9f69c221a77a92e9cc1c218afa9

以下是上述程式的執行實例影片:

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *