Ameba Arduino: [RTL8710] PWM – 使用PWM讓LED燈泡呈現漸暗與漸亮的效果

材料準備

  • 麵包板 x 1
  • #3 Ameba RTL8710 Board x 1
  • LED燈泡 x 1
  • 1 KΩ 電阻

範例說明

在Fade這個example裡,使用PWM讓LED燈泡漸暗與漸亮。PWM是利用數位訊號模擬成類比訊號的方式,它在一段時間內,藉由調整3V3與0V出現的時間比例,達到輸出不同的平均電壓。
以下圖為例,隨著3V3出現的比例降低,平均電壓也跟著降低


2-1



於是我們利用PWM,讓LED因為平均電壓的改變而達到漸暗與漸亮的變化。

要使用這個範例,請從 “File” -> “Examples” -> “01. Basics” -> “Fade” 打開這個 example:

2-2



這個Arduino 內建的範例裡,使用的Pin是D9, 然而RTL8710在D9的地方並沒有可以用的接腳,所以我們修改程式碼,讓輸出的pin改成13:。

2-2

並且我們接線如下圖

2-3

 

上傳程式碼之後,按下Ameba RTL8710的RST按鈕,就可以看到LED燈泡隨著時間漸暗與漸亮。

 

程式碼說明

我們使用的是與Arduino同一份程式碼,所以可以參考Arduino的Fade範例文件:
https://www.arduino.cc/en/Tutorial/Fade

以及Arduino的PWM參考文件:
https://www.arduino.cc/en/Tutorial/PWM
在Setup裡面, 使用pinMode決定D9為output:
https://www.arduino.cc/en/Reference/PinMode
使用analogWrite決定輸出的頻率(0~255):
https://www.arduino.cc/en/Reference/AnalogWrite