1、array[]数组 #
一组数据的集合称为数组(Array),它所包含的每一个数据叫做数组元素(Element),所包含的数据的个数称为数组长度(Length),数组中的每个元素都有一个序号,这个序号从0开始,而不是从我们熟悉的1开始,称为下标(Index)。使用数组元素时,指明下标即可。
创建数组
int myInts[6];
int myPins[] = {2, 4, 8, 3, 6};
int mySensVals[5] = {2, 4, -8, 3, 2};
char message[6] = "hello";
访问数组
myPins[3]
mySenVals[2]
为数组赋值:
mySensVals[0] = 10
可以只给部分元素赋值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。
int a[10]={12, 19, 22 , 993, 344};
表示只给 a[0]~a[4] 5个元素赋值,而后面 5 个元素自动初始化为 0。
只能给元素逐个赋值,不能给数组整体赋值。
int a[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
而不能写作:
int a[10] = 1;
需要注意的是:
1) 数组中每个元素的数据类型必须相同,对于int a[4];,每个元素都必须为 int。
2) 数组长度 length 最好是整数或者常量表达式,例如 10、20*4 等。
3) 访问数组元素时,下标的取值范围为 0 ≤ index < length,过大或过小都会越界,导致数组溢出,发生不可预测的情况。
4)数组是一个整体,它的内存是连续的;也就是说,数组元素之间是相互挨着的,彼此之间没有一点点缝隙。
2、bool型数据 #
bool型数据即 boolean,只有两种取值真或者假,在arduino中,bool型数据多用来描述数字阵脚接受高低电平high和low。
3、if()函数 #
检查条件并在条件为“真”时执行以下语句或语句集。括号内一个布尔表达式(即,可以是true或false)。
4、所需元件清单 #
Arduino Uno主板
USB数据线
有源蜂鸣器/无源蜂鸣器
开关按键
面包板
9V电池
杜邦导线
5、动手实验 #
实验1、将上节课播放音调do re mi fa sol la si代码改写成数组代码
include "doremi.h"
const int buzzPin=3;
int doremi[]={note_do,note_re,note_mi,note_fa,note_sol,note_la,note_si}
void setup() {
// put your setup code here, to run once:
pinMode(buzzPin,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
for (int i=0;i<7;i++)
{
tone(buzzPin,doremi[i],250);
delay(200);
noTone(buzzPin);
}
}
实验2、加入开关,当开关按下时播放音调
#include "doremi.h"
const int buzzPin=3;
const int keyPin=7;
int doremi[]={note_do,note_re,note_mi,note_fa,note_sol,note_la,note_si}
bool buttom=digitalRead(keyPin);
void setup() {
// put your setup code here, to run once:
pinMode(buzzPin,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(buttom==HIGH)
{
for (int i=0;i<7;i++)
{
tone(buzzPin,doremi[i],250);
delay(200);
noTone(buzzPin);
}
}
}