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