前言
本文章将会讲解有关Arduion流水灯的实验过程,该实验原理简单,比较容易上手,适合新手去接触学习。
一、目标实现
通过编写相关代码上传到开发板,控制相应的LED灯亮灯灭,实现效果如下:
①1 3 5 号灯同时亮500ms后熄灭,这时2 4 号灯同时亮500ms后熄灭
②1-6号灯 同时亮2S,然后同时熄灭2S
③1-6号灯依次各亮200ms,然后熄灭
④1-6号灯熄灭3S
二、实验器件
开发板:Arduion;
LED灯:6 个;
220欧电阻:6 个;
多彩杜邦线:若干;
三、接线
接线原理如下图所示
实验接线如图所示
四、代码程序
int val;
int LED_PIN_1 = 2; //定义1-6号灯的引脚分别为2,3,4,5,6,7
int LED_PIN_2 = 3;
int LED_PIN_3 = 4;
int LED_PIN_4 = 5;
int LED_PIN_5 = 6;
int LED_PIN_6 = 7;
void setup()
{
for (int i = 2; i < 8; i++) //通过循环设置LED灯的接口为输出接口,简化程序
{
pinMode(i, OUTPUT);
}
}
void loop()
{
digitalWrite(LED_PIN_1, HIGH);
digitalWrite(LED_PIN_3, HIGH);
digitalWrite(LED_PIN_5, HIGH); //1 3 5 号灯同时亮
delay(500); //延迟 500 ms
digitalWrite(LED_PIN_1, LOW);
digitalWrite(LED_PIN_3, LOW);
digitalWrite(LED_PIN_5, LOW); //1 3 5 号灯熄灭
digitalWrite(LED_PIN_2, HIGH);
digitalWrite(LED_PIN_4, HIGH); //2 4 号灯同时亮
delay(500); //延迟 500 ms
digitalWrite(LED_PIN_2, LOW);
digitalWrite(LED_PIN_4, LOW); //2 4 号灯同时熄灭
for (int i = 2; i < 8; i++) //1-6号灯同时亮
{
digitalWrite(i, HIGH);
}
delay(2000); //延迟2秒
for (int i = 2; i < 8; i++) //1-6号灯同时灭
{
digitalWrite(i, LOW);
}
delay(2000); //延迟2秒
for (int i = 2; i < 8; i++) //通过循化实现1-6号灯依次亮200毫秒后熄灭
{
digitalWrite(i, HIGH);
delay(200);
digitalWrite(i, LOW);
}
delay(3000); //延迟3秒
}
Gitte源码仓库: https://gitee.com/chen_xy_chen/arduion_c.git
五、最终效果
①1 3 5 号灯亮500ms然后熄灭,这时2 4 号灯亮500ms然后熄灭
②1-6号灯 同时亮2S,然后同时熄灭2S
③1-6号灯逐渐各亮200ms,然后熄灭
④1-6号灯熄灭10S