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

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

1. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • 6个LED灯
  • 6个220Ω电阻

2. 实验步骤

  1. 根据原理图搭建电路

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

    实验原理图如下图所示:

    流水灯电路连接图

    实物连接图如下图所示:

    实物连接图
  1. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

     /*
      * Led_Flash
      * 依次点亮1~6号LED灯,依次熄灭6~1号LED灯,如此循环
      */
     
     int delayTime = 200;
     int ledPin;
     
     void setup()
     {
       for (ledPin = 1; ledPin < 7; ledPin++) //依次设置1~6个数字引脚为输出模式
       { 
         pinMode(ledPin, OUTPUT); //设置第ledPin个引脚为输出模式
       }
     }
    
     void loop()
     {
       for (ledPin = 1; ledPin < 7; ledPin++) //每隔delayTime依次点亮1~6引脚相连的led灯
       {
         digitalWrite(ledPin, HIGH); //点亮ledPin引脚相连的led灯
         delay(delayTime);//延时delayTime
       }
    
       for (ledPin = 6; ledPin > 0; ledPin--) //每隔delayTime依次熄灭6~1引脚相连的led灯
       {
         digitalWrite(ledPin, LOW); //熄灭ledPin引脚相连的led灯
         delay(delayTime);//延时delayTime
       }
     }
    
  2. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

    程序下载

3. 实验现象

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

流水灯效果

4. 程序分析

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

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