欢迎来到洛阳市第五十五中学创客教育空间 登录

收藏网站

用arduino单板机控制节日流水彩灯

来源:本站编辑 2018-04-04 14:39:59


用arduino单板机控制节日流水彩灯

     实验器材:按四人一个实验小组组划分、每个实验小组有一块STEAM AD9001教育实验箱,一台安装有arduino编程开发系统的计算机。

     实验介绍:节日时一些繁华地带都装有节日彩灯,其中有一种如流水一样效果的彩灯,也就是一系列彩灯,一个一个逐个点亮,再逐个熄灭,这种效果就是流水彩灯效果,现在编程用单板机实现这种智能控制。

     实验步骤:

     流水彩灯以其丰富的灯光色彩和低廉的造价主导了灯饰市场,使得人们的生活亦如彩灯色彩一样日益丰富。随着单板机应用普及,在人们的生活中到处可见由单板机控制的节日彩灯。利用本实验板上的LED灯,编程实现流水灯效果,在实际应用中我们每路带动更多的彩灯,就能达到非常好的效果了。

     在这块arduino实验箱上一排就有五个LED发光二极管即编号为D5、D6、D7、D8、D9,我们可以通过编写程序的方法按顺序逐个点亮,并逐个熄灭,这样就实现的流水灯软件的设计。

     00002.jpg

    程序设计思路:

控制LED灯D5,D6,D7,D8,D9的逐个点亮、延时、熄灭,来实现LED流水灯效果。详见图6-1-2至图6-1-6。

编程实践:

/* 定义LED引脚 */

#define LED1 A11  //定义D5的控制引脚为A11

#define LED2 A12  //定义D6的控制引脚为A12

#define LED3 A13  //定义D7的控制引脚为A13

#define LED4 A14  //定义D8的控制引脚为A14

#define LED5 17   //定义D9的控制引脚为17

void setup()

{

  //以下定义各LED灯控制引脚的模式为输出模式

  pinMode(LED1, OUTPUT);

  pinMode(LED2, OUTPUT);

  pinMode(LED3, OUTPUT);

  pinMode(LED4, OUTPUT);

  pinMode(LED5, OUTPUT);

  //以下置LOW后熄灭各LED灯

  digitalWrite(LED1, LOW);

  digitalWrite(LED2, LOW);

  digitalWrite(LED3, LOW);

  digitalWrite(LED4, LOW);

  digitalWrite(LED5, LOW);

}

void loop()

{

   digitalWrite(LED1, HIGH);  //点亮编号为D5的LED灯

   delay(150);                //延时150ms

   digitalWrite(LED1, LOW);   //熄灭D5

   delay(150);                //延时150ms

   digitalWrite(LED2, HIGH);  //点亮编号为D6的LED灯点亮

   delay(150);                //延时150ms

    digitalWrite(LED2, LOW);   //熄灭D6

   delay(150);                //延时150ms

   digitalWrite(LED3, HIGH);  //点亮编号为D7的LED灯

   delay(150);                //延时150ms

   digitalWrite(LED3, LOW);   //熄灭D7

   delay(150);                //延时150ms

   digitalWrite(LED4, HIGH);  //点亮编号为D8的LED灯点亮

   delay(150);                //延时150ms

   digitalWrite(LED4, LOW);   //熄灭D8

   delay(150);                //延时150ms

   digitalWrite(LED5, HIGH);  //点亮编号为D9的LED灯点亮

   delay(150);                //延时150ms

   digitalWrite(LED5, LOW);   //熄灭D9

   delay(150);                //延时150ms

}