穷创客教育之Arduino编程第六课:数组在流水灯的应用
通过上一节学习,我们学会了使用循环对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端口设置为输出模式
}
四、实验电路
五、编写程序
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