穷创客教育之Arduino编程第六课:数组在流水灯的应用

网友投稿 2019-09-24 12:33

    通过上一节学习,我们学会了使用循环对6个LED进行控制,我们发现LED灯的端口是连续的,是有规律的,若端口号是杂乱无章的如2、3、6、11能不能使用循环来实现了?我们可以使用数组来实现。

一、实验现象

6个端口号没有规律的LED实现流水灯现象。

二、电子元件:

开发板、LED6个、电阻6个、面包板和杜邦线若干。

三、实验所用函数及语句

1.Array 数组:是一种可访问的变量的集合。

2.创建(声明)一个数组:

类型 数组名[数组长度] ;

例如:int a[2];整数数组a的长度为2

   int a[2]={3,11};整数数组a的长度为2,其值分别为3和11

int a[ ]={3,11};整数数组a的长度为2,其值分别为3和11。

3. 访问数组

①数组从0位开始索引(最大索引数等于声明数组大小减去1)。

②从数组中访问一个值:  x = a[ 4 ];将数组a中第五个值赋给变量x。

③数组和循环:数组往往在for循环中进行操作,循环计数器可用于访问每个数组元素。

int a[]={2,5,3,7,9};

for (int i=0; i<5 ;i++) {

    pinMode(a[i],OUTPUT );//分别将2,5,3,7,9端口设置为输出模式

}

四、实验电路

 https://cdn.china-scratch.com/timg/190926/1233396064-0.jpg

五、编写程序

int a[6]={2,4,5,9,11,12};

//数组a是全局变量,程序中处处可以使用

void setup()

{

  for(int i=0;i<6;i++){

      //i是局部变量,只能在该循环中使用

      pinMode(a[i], OUTPUT);

  }

}

void loop()

{

  for(int i=0;i<6;i++){

     //i是局部变量,只能在该循环中使用

     digitalWrite(a[i], HIGH);

     delay(100);

     digitalWrite(a[i], LOW);

     delay(100);

  }

}

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com