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; iarduino字符串转数组 >= 0; i--) {
    digitalWrite(led[i], HIGH);
    delay(timer);
    digitalWrite(led[i], LOW);
  }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。