该示例演示了如何在LED熄灭时使用AnalogWrite()函数, AnalogWrite使用脉宽调制(PWM),以on/off之间的不同比率非常快速地打开和关闭数字引脚,以产生fading效果。
所需组件
您将需要以下组件-
- 1×Breadboard
- 1×Arduino Uno R3
- 1个LED
- 1×330Ω电阻
- 2×跳线
电路图
遵循电路图,并将面包板上的组件连接起来,如下图所示。
注意-要找出LED的极性,请仔细观察。朝向灯泡平坦边缘的两条腿中较短的那一条表示负极端子。
诸如电阻器之类的组件需要将其端子弯曲成90°角,以正确安装面包板插座。您也可以缩短端子。
Arduino代码
/* Fade This example shows how to fade an LED on pin 9 using the analogWrite() function. The analogWrite() function uses PWM, so if you want to change the pin you're using, be sure to use another PWM capable pin. On most Arduino, the PWM pins are identified with a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11. */ int led=9; //LED 连接到的 PWM 引脚 int brightness=0; //LED有多亮 int fadeAmount=5; //LED 淡化多少点 //当您按下重置时,设置例程运行一次: void setup() { //将引脚 9 声明为输出: pinMode(led, OUTPUT); } //循环例程永远一遍又一遍地运行: void loop() { //设置引脚 9 的亮度: analogWrite(led, brightness); //通过循环更改下次的亮度: brightness=brightness + fadeAmount; //在淡入淡出的末端反转淡入淡出的方向: if (brightness == 0 || brightness == 255) { fadeAmount=-fadeAmount ; } //等待 30 毫秒查看调光效果 delay(300); }
注意代码
在将引脚9声明为您的LED引脚之后,您的代码的setup()函数无需执行任何操作,您将在代码的主循环中使用的analogWrite()函数需要两个参数:一个是告诉函数要写入哪个引脚,另一个指示要写入哪个PWM值。
为了使LED熄灭并点亮,请逐渐将PWM值从0(一直关闭)增加到255(一直打开),然后再返回0,以完成循环,在上面给出的代码中,使用称为亮度的变量设置PWM值。每次循环,它都会增加变量 fadeAmount 的值。
analogWrite()可以非常快速地更改PWM值,因此代码末尾的延迟控制淡入速度,尝试更改延迟的值,看看它如何改变fading效果。
输出结果
您应该看到LED亮度逐渐变化。
参考链接
https://www.learnfk.com/arduino/arduino-fading-led.html
标签:LED,analogWrite,引脚,brightness,无涯,Arduino,fadeAmount,PWM From: https://blog.51cto.com/u_14033984/7942439