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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TonyIOT/article/details/81332322

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

1. 实验材料

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

2. 实验步骤

  1. 根据原理图搭建电路

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

    实验原理图如下图所示:

    流水灯电路连接图

    实物连接图如下图所示:

    实物连接图

  2. 新建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
      }
    }
    
  3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

    程序下载

3. 实验现象

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

4. 程序分析

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

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

扫码加入微信公众号

猜你喜欢

转载自blog.csdn.net/TonyIOT/article/details/81332322