Arduino基础入门篇06——流动的LED灯

Arduino基础入门篇06——流动的LED灯

|

      阅读本文大概需要3分钟。

|

上一篇介绍了Arduino数字I/O引脚及相关函数,并点亮了板载LED灯。本篇将使用面包板搭建电路,多个LED灯配合显示流动效果。

1. 实验材料

  • Uno R3开发板

  • 配套USB数据线

  • 面包板及配套连接线

  • 6个LED灯

  • 6个220Ω电阻

2. 实验步骤

  1. 根据原理图搭建电路

    直插式LED灯有两个引脚,长引脚为正极,短引脚为负极。LED灯点亮就是电流从正极流入,从负极流出。6个LED灯的负极连接到开发板的GND引脚,正极分别连接220Ω限流电阻连接到开发板的数字I/O引脚。

    实验原理图如下图所示:

    Arduino基础入门篇06——流动的LED灯
    流水灯电路连接图

    实物连接图如下图所示:

    Arduino基础入门篇06——流动的LED灯
    实物连接图
  2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

     1/*
    2  *  Led_Flash
    3  *  依次点亮1~6号LED灯,依次熄灭6~1号LED灯,如此循环
    4  */

    5
    6int  delayTime  =  200;
    7int  ledPin;
    8
    9void  setup()
    10
    {
    11    for  (ledPin  =  1;   ledPin  <  7;   ledPin++)  //依次设置1~6个数字引脚为输出模式
    12    { 
    13        pinMode(ledPin,  OUTPUT);   //设置第ledPin个引脚为输出模式
    14    }
    15 }
    16void  loop()
    17
    {
    18    for  (ledPin  =  1;   ledPin  <  7;   ledPin++)  //每隔delayTime依次点亮1~6引脚相连的led灯
    19    {
    20        digitalWrite(ledPin,  HIGH);   //点亮ledPin引脚相连的led灯
    21        delay(delayTime); //延时delayTime
    22    }
    23
    24    for  (ledPin  =  6;   ledPin  >  0;   ledPin--)  //每隔delayTime依次熄灭6~1引脚相连的led灯
    25    {
    26        digitalWrite(ledPin,  LOW);   //熄灭ledPin引脚相连的led灯
    27        delay(delayTime); //延时delayTime
    28    }
    29 }
  3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

    Arduino基础入门篇06——流动的LED灯
    程序下载

3. 实验现象

LED灯依次点亮,依次熄灭,达到流动效果。

Arduino基础入门篇06——流动的LED灯
流水灯效果

4. 程序分析

在setup部分通过for循环将1~6号引脚设置为输出模式。在loop部分,通过两个for循环依次点亮1~6号LED灯,依次熄灭6~1号LED灯,使用的依然是digitalWrite函数。

延时时间定义为200,你可以改变它来控制流动速度。还可以通过修改程序中引脚的输出顺序来尝试更多不同的点亮LED的方式。

Arduino基础入门篇06——流动的LED灯
扫码加入微信公众号:TonyCode


原文始发于微信公众号(

TonyCode

):Arduino基础入门篇06——流动的LED灯

|

发表评论