2018年1月16日 星期二

[Tinkercad arduino程式設計]使用脈波寬度調變PWM控制LED亮度

前一篇我們使用digitalwrite來控制LED的on/off,本篇則介紹如何使用脈波寬度調變(Pulse Width Modulation, PWM)控制LED亮度,造成一種由暗到漸漸亮,亮到漸漸暗的效果。
上圖剛開始使用title block comment視覺模塊來當成註解,說明程式的功能,接下來用兩個count計數視覺模塊來設計迴圈效果,一個是上數up,另外一個是下數down,每次增減量都是以5為單位,範圍從0-255或255-0。控制變數為brightness,然後用set pin輸出視覺模塊來控制第9腳LED的亮度。最後再利用wait來製造延遲效果。以下是將上圖轉換成程式,要特別留意是set pin輸出視覺模塊會被轉換成analogwrite()以類比輸出方式來控制LED的亮度,這就是PWM技術。 在arduino中標有"~"符號者,就是可以被當成類比輸出,有 ~3、~5、 ~6、 ~9、 ~10 和 ~11等腳位。


沒有留言:

張貼留言