Arduino - 渐变LED

Arduino - 渐变LED 首页 / Arduino入门教程 / Arduino - 渐变LED

该示例演示了如何在LED熄灭时使用AnalogWrite()函数, AnalogWrite使用脉宽调制(PWM),以on/off之间的不同比率非常快速地打开和关闭数字引脚,以产生fading效果。

所需组件

您将需要以下组件-

  • 1×Breadboard
  • 1×Arduino Uno R3
  • 1个LED
  • 1×330Ω电阻
  • 2×跳线

电路图

遵循电路图,并将面包板上的组件连接起来,如下图所示。

Components on Breadboard

注意-要找出LED的极性,请仔细观察。朝向灯泡平坦边缘的两条腿中较短的那一条表示负极端子。

无涯教程网

LED

诸如电阻器之类的组件需要将其端子弯曲成90°角,以正确安装面包板插座。您也可以缩短端子。

Resistors

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亮度逐渐变化。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

Java核心技术面试精讲 -〔杨晓峰〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

etcd实战课 -〔唐聪〕

流程型组织15讲 -〔蒋伟良〕

如何成为学习高手 -〔高冷冷〕

说透低代码 -〔陈旭〕

React Native 新架构实战课 -〔蒋宏伟〕

工程师个人发展指南 -〔李云〕

好记忆不如烂笔头。留下您的足迹吧 :)