【Arduino实验02 LED流水灯】

目录

一、实验目的

二、实验设备与环境

三、实验重点

四、实验难点

五、实验内容

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函数

五、实验内容

5.1实验任务

        任务描述:搭建LED多灯连接电路;编写多LED灯的流水灯控制程序;进行流水灯电路调试;拓展并实现不同流水灯效果。

5.2实验原理

        通过Arduino I/O接入LED,设置接口为输出模式,高电平LED灯点亮、低电平LED灯熄灭,亮灭的时长由延时控制,LED灯的亮灭在视觉上形成闪烁状态或流动状态,通过编写程序控制LED输出的状态与延时,实现构想的效果。

        1.LED多灯连接电路 【Arduino实验02 LED流水灯】_第1张图片

         说明:用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灯闪烁程序语句:

5.3实验内容

        1.连接实验电路

        注意二极管的方向不能接反。

【Arduino实验02 LED流水灯】_第2张图片

         2.编写源程序,实现逐个点亮LED、等待1秒熄灭的效果

【Arduino实验02 LED流水灯】_第3张图片

        (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程序

【Arduino实验02 LED流水灯】_第4张图片

        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);

}

5.4实验结果 

        结果:在本次实验中,实验1中亮灯结果为依次亮灯,实现逐个点亮LED、等待1秒熄灭。实验2的结果为一次亮灯,只亮前四个灯。

        反思:首先,通过本此实验我更加熟练地使用Arduino IDE软件,以及通过Arduino IDE软件来编译代码控制Arduino微控制板,编译所需要的源代码控制微控制板,其次,在本次实验中,实验1中亮灯结果为依次亮灯,实现逐个点亮LED、等待1秒熄灭。实验2的结果为一次亮灯,只亮前四个灯。最后,希望下次继续努力学习,再接再厉。

        作品:

【Arduino实验02 LED流水灯】_第5张图片

 【Arduino实验02 LED流水灯】_第6张图片

5.5思考题

1.实现流水灯控制的重点是什么?需要注意什么?

你可能感兴趣的:(Arduino,单片机,fpga开发,stm32,arduino)