W80X Arduino LED 渐变

发布于 2023-07-13 16: 58: 08
这个例子演示了如何使用 analogWrite () 函数来渐变 LED. AnalogWrite 使用脉冲宽度调制 (PWM) 来快速打开和关闭数字引脚, 在打开和关闭之间具有不同的比率, 以实现渐变效果.

必需品

  1. 1 x 面包板
  2. 1 x W801 板
  3. 1 x LED 灯 (或者你可以不使用, 开发板上有)
  4. 1 × 330Ω 电阻
  5. 3 × 跳线

接线图

根据电路图连接面包板上的元件, 如下图所示.
LED 渐变. jpg

草图

在计算机上打开 Arduino IDE 软件. 使用 Arduino 语言对电路进行编码和控制. 点击 "新建" 打开新建草图文件. 这里不讨论具体的配置.
open. jpg

代码

/*
   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) ; 
}

代码导入步骤

首先单击 Verify 验证代码是否正确

1eb55992e618394f516378dc48b779b3. jpg

接着单击 Upload 上传代码弹出保存框, 在相应的位置编辑文件名并保存即可

27f363e694f6a241818561e7e1236ab9. jpg
16892212723385. jpg

也可以如下步骤

烧录步骤 1_副本. jpg

最后等待上传需要十几秒的时间, 显示以下即表示成功

6f1f1a696c4d4368c9238972d20e5c5b. jpg

代码解释

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 逐渐变化.

0 条评论

发布
问题