Arduino编程控制与应用课件:完成LED流水灯的实现_第1页
Arduino编程控制与应用课件:完成LED流水灯的实现_第2页
Arduino编程控制与应用课件:完成LED流水灯的实现_第3页
Arduino编程控制与应用课件:完成LED流水灯的实现_第4页
Arduino编程控制与应用课件:完成LED流水灯的实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Arduino

编程控制与应用Arduino

文本编程的应用完成LED

流水灯的实现流水灯是在控制系统的控制下按照设定的顺序和时间来发亮和熄灭,形成一定视觉效果的一组灯。流水灯的效果可以有效吸引大家的注意力,所以常用于店面、照片、夜间建筑物以及汽车流水灯,例如同学们见到的炫酷的机箱灯光,电竞外设,在Arduino

的编程学习中,我们也可以自己实现这种灯光的设计。导入新授New

teaching一、选择结构二、循环结构选择结构《Arduino

编程控制与应用》主要的控制语句循环结构控制语句即用来实现对程序流程的选择、循环、转向和返回等进行控制的语句。控制语句用于控制程序的流程,以实现程序的各种结构方式。控制语句的使用一、选择结构(

)if语句文本编程中,可以使用if语句实现选择结构。if语句中,小括号内的判断条件成立时,会执行语句中大括号里的内容一次。if

语句有3种基本形式。简单分支结构

双分支结构

多分支结构A33.多分支结构功能描述:如果表达式1为真,则执行if后面大括号里面的语句(“语句1”),然后退出if选择语句,

不执行后面的语句;否则继续判断表达式2,若表达式2为真,则执行else

if后面大括号里面的语句(“语句2”),然后退出if

选择语句;同样,如果表达式2为假,则继续判断表达式3,依次类推,所有

的表达式均不成立,则执行else后面的语句n。一、选择结构1.简单分支结构功能描述:如果表达式为真,则执行大括号里面的语句;否则跳过此部分语句。2.双分支结构功能描述:如果表达式为真,则执行if后面大括

号里面的语句,这里是“语句1”;否则执行else后

面大括号里面的语句,这里是“语句2”。2

判断条件成立判断条件成立不成立不成立1当处理复杂的问题时,可能存在有很多选择分支的情况,如果继续使用if语句编写程序,则会使程序冗长,可读性差。此时可以使用switch语句实现多分支选择结构,其判断表达式的值由几段(或者几个不连续的值)组成,每一段对应一段分支程序。功能描述:计算表达式的值,逐一与case后面的常量相比较。(

)switch语句一、选择结构值2

值n语句2

语句ndefault语句m值

1语句1表达式二、循环结构循环结构又称重复结构,即反复执行某一部分操作。当程序需要不断重复执行某些语句,就需要使用到循环结构控制语句。实现循环结构的语句为while和for语句。while语句

do-while语句for语句表达式语句while语句是一种“当”型循环结构。功能描述:计算表达式的值,当值为真时,执行循环体语句;否则跳出循环体,结束循环。(

)while语句二、循环结构do-while

语句是一种“直到”型循环结构。功能描述:do-while

为“直到”型循环,先执行循环体语句,执行完再判断表达式是否为真,如果为真则继续循环;否则终语句表达式假(

)do-while语句二、循环结构止循环。for语句比while

语句更灵活,应用更加广泛,既适用于循环次数确定的情况,又适用于循环次数不确定的情况。它可以替代

while和do-while语句。求解表达式1(三)for

语句二、循环结构语句1求解表达式3表达式假任务实施Task

Implementation序号软件及硬件名称数量1Arduino

IDE2联网的电脑1台/人3键盘1个/人4鼠标1个/人5Arduino

UNO开发板1块/人6流水灯多功能扩展板1块/人7USB串口线1根/人

(一)软件及硬件准备一、任务准备一、任务准备(二)场地设备准备任务实施前需要做好场地防护准备以及检查实训场地和设备设施是否及存在安全隐患,如不正常请汇报老师并进行处理方可实施任务。(三)安全防护准备11.注意输出电压,避免开发板被烧坏;2

2.注意电脑是否有空余且能正常工作的USB

接口;3.注意Arduino

开发板与流水灯多功能扩展板连接时,针脚要对孔,插入时3要小心,避免针脚变歪或折断。结构名称说明数量使用管脚管脚标识为0、1、2、3、4、5、6、7、8、9、10、11、12、13、A4、A516个跳线管脚管脚标识GND1个电阻阻值为220Ω16个可调电阻阻值为10kS1个开关按键复用2、3、4、5管脚4个0805封装LEDLED灯标识为0、1、2、3、4、5、6、7、8、9、10、11、12、1314个LED彩灯复用管脚10、11、121个SPI通讯接口复用管脚10、11、12、131个I2C通讯接口复用管脚A4、A51个流水灯多功能扩展板的结构如图3-3-7所示,具体结构说明如表3-3-2所示。(一)认识流水灯多功能扩展板二、实施步骤工作模式使用方法LED工作模式SW3开关1-10拨ON方向,

SW4开关1-4拨ON方向RGB彩灯工作模式SW2开关7、8、9拨ON方向I2C工作模式SW1开关1、2拨ON方向SPI工作模式SW2开关3、4、5、6拨ON方向按键工作模式SW1开关3、4拨ON方向,SW2开关1、2拨ON方向其中,通过控制SW1、SW2、SW3和SW4可以实现不同工作模式的调用,如表3-3-3所示。(一)认识流水灯多功能扩展板二

、实施步骤步骤1:连接线的方头端接口连接ArduinoUNO开发板,另一端USB接口连接电脑。(二)控制电路连接二、实施步骤步骤2:流水灯多功能扩展板安装在ArduinoUNO

开发板上。(二)控制电路连接二、实施步骤二、实施步骤(三)控制程序编写与上传◎

sketch

junzta|Arduino

1,8.13

文件编雏项日工具帮幼a

109

当前编辑文档名称代四编与区域步骤1:打开Arduino

IDE软件,进入界面。比处据译的时做有进度要步骤2:在工具-端口-选择对应的端口。若分不清端口,先把开发板连接上,查看端口,有COM1、COM3、COM4、COM5、COM6;断开开发板连接,查看端口,有COM3、COM4、COM5、COM6;少了一个COM10端口,那么COM10就是对应的端口。3泪02|Arduino

1.8.13帮助自动格式化项目存档修正编码并重新加载管理库

…串口监视器串口绘图器(13WiFi101/WiFiNINAFirmwareUpdater开发板:"Arduino

Uno°端口串行端口000取得开发板信息COM10编程器:"AVRISPmkl"烧录引导程序COM3COM4COM5COM6(三)控制程序编写与上传Ctrl+TCtrl+Shft+1Ctrl+Sift+MCtrl+Shift+L串行端口

COM3COM4COM5

COM602|Arduino1.8.13工具

帮助自动格式化项目存档修正编码并重新加载

管理库…串口监视器串口绘图器二、实施步骤WiF101/WiFiNINA开发板:"Ardui

no

口取得开发板信息Ctrl+Shift+1Ctrl+Shift+MCtrl+Shift+LFirmware

UpdaterUno°编程器:"AVRISPmkll"

烧录引导程序Ctrl+T000>步骤1:新建一个文档,//后的代号可删除;在【代码编写区域】中的“void

setup(){”下

图所示输入代码。1//

初始化函数2

void

setup()(3for(int

i=3;i<=13;i++)(//for循环遍历3到13pinMode

(i,OUTPUT

);//设置引脚工作模式digitalwrite(i,

LOW

);//设置引脚电平状态67}8//1oop循环函数9

voidloop()(11(四)

“for”

与流水灯sketch_306§二、实施步骤◎

sketch_306

|Arduino

1.8.13

文件编辑项目工具帮助步骤2:再在

“void

loop(){”下方输入如图所示代码。sketch_30651//初始化函数2

voidsetup()(3

for(inti=3;i<=13;i++)(//for

循环遍历3到134

pinMode

(i,

OUTPUT

);//设置引脚工作模式digitalwrite

(i,

LOW);/

/设置引脚电平状态6

)8

//1oop循环函数9void

loop((10

for

(int

j=3;j<=13;j++)(//for

循环遍历3到13,步进为1

digitalwrite

(j,

HIGH);//引脚为高电平delay

(500);

//延时500ms//熄灭全部LEDfor(intj=3;j<=13;j++)国

/

/for循环遍历3到13,步进为1digitalwrite

(j,

LOW

);/

/

引脚为低电平17

}18}(四)

“for”

与流水灯二、实施步骤sketch_306|Arduino1.8.13文件编级项目工具帮助步骤3:点击上传,如果操作顺利,将出现“上传成功”的提示,把相关LED

的开关打至ON

,随后LED11到LED1按顺序的逐个被点亮。(四)

“for”

与流水灯二、实施步骤使用for循

环遍历3到13,步长为1将3到13号引脚配置为输出模式将3到13号引脚电平拉低使用for

循环遍历3到13,步长为1遍历到13后退出循环将3到13号引脚电平拉高,每拉高一个引脚延迟500msloop

函数使用for

循环遍历3到13号引脚遍历到13后退出循环将3到13号引脚电平拉低//

初始化函数void

setup

(){for

(int

i=3;i<=13;i++)(//for

循环遍历3到13pinMode(i,OUTPUT);//

设置引脚工作模式digita1Write(i,LOW

);//设置引脚电平状态//1oop

循环函数voidloop(){for(intj=3;j<=13;j++)(//for

循环遍历3到13,步进为1digita1Write(j,HIGH);//

引脚为高电平delay

(500);//

延时500ms//熄灭全部LEDfor(intj=3;j<=13;j++)

/

/for

循环遍历3到13,步进为1digita1Write(j,LOW);//

引脚为低电平步骤4:控制程序中的代码解析如图3-3-15所示。代码运行流程如图所示。(四)

“for”

与流水灯二、实施步骤遍历到13后退出循环初始化函数步骤1:新建一个文档,//后的注释文本可删除;在【代码编写区域】输入"int

i=3;"

随后在"void

setup(){“下方输入如图3-3-17所示代码1

inti=3;//

定义变量

2//初始化函数3

void

setup((4

for(int

k=3;k<=13;k++)(//使用for

循环遍历3到13digitalwrite

(k

,LOW

);//

设置引脚电平状态9//1oop

循环函数10void

loop()((

)"if"

与流水灯文

项目

助sketch_3085二、实施步骤pinMode

(k,

OUTPUT);

//设置引脚工作模式◎

sketch_308|Arduin

1.8.13步骤2:在“void

loop(){”

下方输入如图3-3-18所示代码。文件编辑项目工具帮助↑sketch_30851int

i=3;//定义变量2//初始化函数3

void

setup()(4

for(intk=3;k<=13;k++)(//使

用for

循环遍历3到13

pinMode

(k,

OUTPUT

);

//设置引脚工作模式digitalwrite

(k

,LOW);//设置引脚电平状态79//1oop循环函数10void

loop()(11

digitalwrite

(i,

HIGH);//

引脚为高电平

delay(500);//

延时500msi=i+1;//

变量自加1if

(i>13)//当大于13时条件成立1

5

for(intj=3;j<=13;j++){digitalwrite(j,

LOW);i=3;//i赋值为3(

)"if"

与流水灯二、实施步骤◎sketch_308

|Arduino

1.8.13二

、实施步骤(

)

“if”与流水灯步骤3:点击上传,如果操作顺利,将出现“上传成功”的提示,把相关LED

的开关打至ON挡,随后从LED11到LED1按顺序的逐个被点亮。使用for眉环将3至到13号引脚配置为输出将3至13号引脚电平拉低将代表的引程序延时500ms否的值变为自身原值加1i>13使用for

宿环步长为1将3至13号引脚电平拉低重析赋值为3int

i=3;//定义变量//初始化函数void

setup()(for(int

k

=3;k<=13;k++)(//使用for

循环遍历3到13pinMode

(k,OUTPUT

);

//

设置引脚工作模式digita1Write

(k

,LOW);//设置引脚电平状态1/1oop

循环函数void

loop()(digita1Write(i,HIGH

);//

引脚为高电平delay(500);//延时500msi=i+1;//

变量i

自加1if(i>13)(//当i

大于13时条件成立for

(intj=3;i<=13;1++)目digita1Write(j,

LOW);i=3;

//i

赋值为3步骤4:控制程序中的代码解析如图3-3-19所示。代码运行流程如图3-3-20所示。(

)"if"

与流水灯二、实施步骤初始化函数loop

函数步骤1:新建一个文档,//后的代号可删除;在【代码编写区域】输入"int

i=3;"

随后在“void

setup(){”下方输入如图3-3-21所示代码sketch_30751

int

i=3;//定义变量并赋值2//初始化函数3

void

setup((4for(int

k=3;k<=13;k++)(//for循环遍历3到13,步进为1

pinMode

(k,

OUTPUT

);//

设置引脚工作模式digitalWrite

(k,

LOW

);//设置引脚电平状态9//1oop

循环函数(六

)

“while”与流水灯二、实施步骤文件编辑项目工具酵助+◎s

ketch.307IArduino1.8.13步骤2:在

“void

loop(){”

下方输入如图3-3-22所示代码。sketch_3071|inti=3;//

定义变量并赋值2//初始化函数3void

setup((4for(int

k=3;k<=13;k++)(//for循环遍历3到13,步进为1

pinMode

(k,

OUTPUT);

//设置引脚工作模式digitalwrite

(k,

LOW);//

设置引脚电平状态9//loop

循环函数10void

loop()(11

while(i<=13)(//

当小于等于13进入循环digitalwrite

(i,

HIGE);//

引脚为高电平

delay

(500);

//延时500ms14i=i+1;//i

自加1for(int

j=3;j<=13;j++)(17

digitalwrite(j,

LOW);i=3;

/

/i赋值为320(六)

“while”与流水灯二、实施步骤文

项目

工具

助+◎

sketch_307IArduino

1.8.13二

、实施步骤(

六)“while”与流水灯步骤3:点击上传,如果操作顺利,将出现“上传成功”的提示,把相关LED的开关打至ON挡,随后从LED11到LED1按顺序的逐个被点亮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论