目录
一、实验目的
二、实验设备与环境
三、实验重点
四、实验难点
五、实验内容
5.1实验任务
5.2实验原理
5.3实验内容
5.4实验结果
5.5思考题
1熟练掌握Arduino实验基本过程;
2熟悉并掌握变量、基本数据类型、循环控制语句;
3熟悉接I/O口的定义与函数的使用
4掌握流水灯控制程序的编写与调试
实验设备:Arduino UNO套件、Arduino IDE、计算机、LED灯6个、220Ω电阻6个、跳线若干
1.实验电路连接;2.I/O函数;3.循环语句
1.I/O函数
任务描述:搭建LED多灯连接电路;编写多LED灯的流水灯控制程序;进行流水灯电路调试;拓展并实现不同流水灯效果。
通过Arduino I/O接入LED,设置接口为输出模式,高电平LED灯点亮、低电平LED灯熄灭,亮灭的时长由延时控制,LED灯的亮灭在视觉上形成闪烁状态或流动状态,通过编写程序控制LED输出的状态与延时,实现构想的效果。
说明:用fritzing软件绘制电路图并生成电路原理图。
LED发光二极管负极与ArduinoGND引脚间串联一个220Ω限流电阻,限制电流过大,保护主板与二极管的安全。
2.Arduino IDE语法
(1)变量:变量命名规则、变量命名习惯、变量与常量类型的定义
(2)函数:pinMode()、digitalWrite()、delay()
(3)程序控制语句:for循环语句
// for ...循环结构
for (表达式1;表达式2;表达式3) {语句块;
}
// 表达式1初始化语句
// 表达式2为判断语句
// 表达式3为步进语句
3.Mixly程序语句模块
数字输出引脚定义语句块、数据语句块、循环语句块、延时语句块
如板载13脚LED灯闪烁程序语句:
1.连接实验电路
注意二极管的方向不能接反。
2.编写源程序,实现逐个点亮LED、等待1秒熄灭的效果
(1)Arduino IDE程序
int i = 0;
void setup() {
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
for(int i=7;i<13;i++){
digitalWrite(i,HIGH);
delay(1000);
digitalWrite(i,LOW);
}
for(int i=12;i>6;i--) {
digitalWrite(i,HIGH);
delay(1000);
digitalWrite(i,LOW);
}
}
(2)Mixly程序
3.程序测试
(1)程序测试;
(2)实验结果
4.重复实验步骤2-3要求:重新编写源程序,实现2种以上不同的LED灯流水效果,并通过功能测试。
Arduino IDE程序
void setup(){
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop(){
digitalWrite(7,HIGH);
delay(1000);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
delay(1000);
digitalWrite(9,LOW);
digitalWrite(10,HIGH);
delay(1000);
digitalWrite(10,LOW);
}
结果:在本次实验中,实验1中亮灯结果为依次亮灯,实现逐个点亮LED、等待1秒熄灭。实验2的结果为一次亮灯,只亮前四个灯。
反思:首先,通过本此实验我更加熟练地使用Arduino IDE软件,以及通过Arduino IDE软件来编译代码控制Arduino微控制板,编译所需要的源代码控制微控制板,其次,在本次实验中,实验1中亮灯结果为依次亮灯,实现逐个点亮LED、等待1秒熄灭。实验2的结果为一次亮灯,只亮前四个灯。最后,希望下次继续努力学习,再接再厉。
作品:
1.实现流水灯控制的重点是什么?需要注意什么?