根据电路图连接面包板上的元件, 如下图所示.
在计算机上打开 Arduino IDE 软件. 使用 Arduino 语言对电路进行编码和控制. 点击 "新建" 打开新建草图文件. 这里不讨论具体的配置.
/*
Fade
This example shows how to fade an LED on pin PB24 using the analogWrite () function.
The analogWrite () function uses PWM, so if you want to change the pin you're using,
besure to use another PWM capable pin. For example, PB25, PB26, PB20, etc.
*/
int led = PB25; // the PWM pin the LED is attached to.
int brightness = 0; // how bright the LED is.
int fadeAmount = 5; // how many points to fade the LED by.
// the setup routine runs once when you press reset:
void setup ()
{
// declare pin PB25 to be an output:
pinMode (led, PWM_OUT) ;
}
// the loop routine runs over and over again forever:
void loop ()
{
// set the brightness of pin PB25:
analogWrite (led, brightness) ;
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255)
{
fadeAmount = -fadeAmount ;
}
// wait for 3 milliseconds to see the dimming effect
delay (30) ;
}
pinMode (led, PWM_OUT) ;
如果您想使用 PWM 端口, 请使用 PWM_OUTPUT 或 PWM_INPUT. 在将引脚 PB25 声明为 LED 引脚之后, 在代码的 setup () 函数中没有任何操作.
analogWrite (led, brightness) ;
您将在代码的主循环中使用的 analogWrite () 函数将接受两个参数: 一个用于告诉函数要写入哪个引脚, 另一个用于指示要写入的 PWM 值. 为了使 LED 逐渐关闭和打开, 逐渐将 PWM 值从 0 (一直关闭) 增加到 255 (一直打开) , 然后返回到 0 以完成循环.
在上面给出的草图中, PWM 值是使用一个称为 brightness 的变量来设置的. 每次通过循环时, 它都会增加变量 fadeAmount 的值.
如果 brightness 处于其值的任一极值 (0 或 255) , 则 fadeAmount 变为负值. 换句话说, 如果 fadeAmount 是 5, 那么它被设置为-5. 如果它是-5, 那么它被设置为 5. 下一次通过循环, 这个改变也将导致 brightness 改变方向.
analogWrite () 可以非常快速地改变 PWM 值, 因此草图结束时的 delay 控制了渐变的速度. 尝试改变 delay 的值, 看看它如何改变渐变效果.
你可以看到你的 LED 逐渐变化.