文档库 最新最全的文档下载
当前位置:文档库 › arduino学习笔记4–利用数组使6个led闪烁

arduino学习笔记4–利用数组使6个led闪烁

arduino学习笔记4–利用数组使6个led闪烁
arduino学习笔记4–利用数组使6个led闪烁

arduino学习笔记4–利用数组使6个led闪烁

通过上一节学习,知道了怎样使用循环对6个led进行控制,我们发现LED灯的端口是连续的,是有规律的,若端口号是杂乱无章的,如2、3、6、11能不能使用循环来实现了?一、实验现象

用控制板来实现6个端口号没有规律的LED闪烁,展示让无序的LED一个接一个按顺序亮起的方法。灯会按照顺序先从数组头的亮到数组尾,然后反过来由尾到头。和从前例子不同的是,本例的LED不是必须连续的。你可以任意改变LED连接的引脚和顺序。只要在数组中定义即可。

二、实验器材:控制板、LED6个、电阻6个、面包板和杜邦线。

三、实验所用函数及语句

Array 数组

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

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

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

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

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

3.访问数组

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

②.从数组中访问一个值: x = myarray1 [ 4 ];

③数组和循环:数组往往在for循环中进行操作,循环计数器可用于访问每个数组元素。for (int i=0; i<5 ;i++) {

pinMode(a[i],OUTPUT );

}

四、实验电路

五、编写程序

int timer = 100; // 数字越大间隔时间越长,整个程序都能用,叫全局变量int led[] = {2, 7, 4, 6, 5, 3}; // LED引脚编号数组

int js = 6; // 引脚个数(应和LED引脚编号数组相同)

void setup() {

for (int i = 0; i < js; i++) {//用for循环初始化引脚:

pinMode(led[i], OUTPUT); // 数组元素取出时应该是从0开始到js - 1结束。

}

}

void loop() {

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

digitalWrite(led[i], HIGH);

delay(timer);

digitalWrite(led[i], LOW);

}

for (int i= js - 1; i >= 0; i--) {

digitalWrite(led[i], HIGH);

delay(timer);

digitalWrite(led[i], LOW);

}

}

相关文档