《Arduino技术及应用》实验教学大纲及指导书文档格式.docx

上传人:b****1 文档编号:448804 上传时间:2023-04-28 格式:DOCX 页数:32 大小:1.79MB
下载 相关 举报
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第1页
第1页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第2页
第2页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第3页
第3页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第4页
第4页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第5页
第5页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第6页
第6页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第7页
第7页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第8页
第8页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第9页
第9页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第10页
第10页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第11页
第11页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第12页
第12页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第13页
第13页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第14页
第14页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第15页
第15页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第16页
第16页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第17页
第17页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第18页
第18页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第19页
第19页 / 共32页
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《Arduino技术及应用》实验教学大纲及指导书文档格式.docx

《《Arduino技术及应用》实验教学大纲及指导书文档格式.docx》由会员分享,可在线阅读,更多相关《《Arduino技术及应用》实验教学大纲及指导书文档格式.docx(32页珍藏版)》请在冰点文库上搜索。

《Arduino技术及应用》实验教学大纲及指导书文档格式.docx

选开

1

控制三色LED灯闪烁

LED闪烁控制的源代码并调试成功。

利用Arduino数据手册及LED灯的原理图,来编程LED灯的驱动程序,设置与小灯与UNO开发板相应的输出端口。

2

验证

温湿度传感器控制

编写出温湿度数据采集的源代码并调试成功。

编程温湿度传感器的驱动程序,并使用串口监视窗口查看模块的数据输出内容

设计

3

蜂鸣器报警控制

编写出蜂鸣器报警控制的源代码并调试成功。

利用Arduino数据手册及蜂鸣器的原理图,来编程蜂鸣器报警的驱动程序,设置蜂鸣器“S”端接UNO的数字端口8号引脚,高电平发出声音。

4

数据传输和网络编程系统实现

搭建起物联网网关平台,进行物联网网关编程

网关硬件搭建模块:

Arduino2560、Zigbee、GPRS

网关软件搭建环境:

ArduinoIDE

5

步进电机控制实验

编写出步进电机控制实验的源代码并调试成功

通过串口助手或物联网开发平台实现对电机状态的控制,控制电机正转、反正和停止。

四、考核方式

1、本门课程实验是综合性和设计性相结合,以操作为主。

在实验四结束后要求学生演示所做实验内容,对关键技术进行讲解,并提交电子作品和纸质实验报告。

2、实验报告应包括:

①目的和要求,②开发环境和主题,③设计步骤,④关键技术分析,⑤实验结果及分析。

3、考核方式:

(1)实验课的成绩占课程总成绩的10%。

(2)成绩按满分100分计算,每个实验为25分,分值分配如下:

实验名称

所要求任务完成情况

演示效果

讲解情况

所采用关键技术

实验报告

2.5

10

合计

20

15

40

五、实验教材、参考书

1、教材:

2、参考书:

《Arduino技术及应用-试验指导》

实验一控制三色LED灯闪烁

1.实验目的

1.1掌握Arduino的配置、程序代码的编写,以及编译及调试的过程

1.2学会如何运用ArduinoIDE编写并在线调试程序LED灯闪烁实验

2.实验设备

2.1IDE开发环境

2.2物联网应用开发平台开发箱一套

3.实验要求

3.1熟悉IDE开发环境

3.2能够在IDE开发环境中建设LED灯闪烁实验工程项目,并完成程序编写和调试

4.实验原理

利用Arduino数据手册及LED三色灯的原理图,来编程三色LED灯的驱动程序,设置与小灯R、G、B相应的端口9、10、11为输出,当这相应端口为高电平时小灯显示相应颜色。

5.实验步骤

5.1硬件接线

将R、G、B三个引脚与开发板的9、10、11引脚进行连接。

如图1-1所示,我们用红色连接线连接R和9,用绿色线连接G和10,用蓝色线连接B和11,用棕色线连接-和GND。

图1-1LED与UNO连接图

接下来,我们将USB线一端与开发板连接,另一端与电脑连接,如图1-2所示:

图1-2USB与UNO连接图

5.2程序代码的编写

5.2.1新建程序文件

双击桌面上的

图标,进入Arduino开发环境,开始编写三色LED灯的控制程序。

初始界面如图1-3所示:

图1-3Arduino开发环境初始界面

5.2.2定义LED引脚

LED模块如图1-4所示:

图1-4LED模块

intredpin=9;

//定义端口9控制红色LED引脚

intgreenpin=10;

//定义端口10控制绿色LED引脚

intbluepin=11;

//定义端口11控制蓝色LED引脚

5.2.3main函数

首先,初始化:

voidsetup(){

pinMode(redpin,OUTPUT);

//定义红色LED引脚为输出引脚

pinMode(bluepin,OUTPUT);

//定义蓝色LED引脚为输出引脚

pinMode(greenpin,OUTPUT);

//定义绿色LED引脚为输出引脚

然后,编写LED灯闪烁函数:

voidloop()

{

for(val=0;

val<

255;

val++)

{

analogWrite(bluepin,val);

//为蓝色LED提供模拟输出电压

delay(20);

//停顿1ms

}

analogWrite(bluepin,0);

//关闭蓝色LED

delay(2000);

//停顿2s

analogWrite(greenpin,val);

//为绿色LED提供模拟输出电压

//停顿1ms

analogWrite(greenpin,0);

//关闭绿色LED

analogWrite(redpin,val);

//为红色LED提供模拟输出电压

analogWrite(redpin,0);

//关闭红色LED/

}

5.2.4实验源码

将上述代码合并为一个整体,如下所示:

//红色LED引脚

//绿色LED引脚

//蓝色LED引脚

intval;

//临时变量,辅助亮度调节

6.实验现象

将程序拷贝到白色空白处,如图1-5所示:

程序图1-5开发环境界面

点击

按钮,对代码进行编译,查看是否有语法错误。

然后点击

按钮,对代码进行编译,并下载到开发板中,编译无误,看到提示上传成功,那么程序就会被写进开发板中,控制三色LED灯红、绿、蓝由弱到强交替亮灭。

效果如图1-6所示:

图1-6效果图

7.实验总结

本文以“三色LED灯闪烁实验”为基础,分别从硬件接线、程序代码的编写,以及编译及调试的过程介绍了整个实现过程。

实验二温湿度传感器控制

1.1学会使用串口监视窗口,查看模块的数据输出内容

1.2学会温湿度传感器的基本原理

3.1掌握温湿度传感器基本原理

3.2能够搭建IDE环境,建设温湿度数据采集的工程项目

利用Arduino数据手册及温湿度传感器的原理图,来编程温湿度传感器的驱动程序,设置温湿度传感器“S”端接UNO的数字端口8号引脚,高电平接收数据。

5.1硬件接线

温湿度传感器的“+”端接UNO的+5V输出,“-”端接UNO的GND,“S”端接UNO的数字端口8号引脚(当然这个可以自己定义数字引脚)。

如图2-1所示。

图2-1温湿度传感器与ArduinoUNO接线

5.2实验源码

intDHpin=8;

bytedat[5];

byteread_data()

{

bytedata;

for(inti=0;

i<

8;

i++)

{

if(digitalRead(DHpin)==LOW)

{

while(digitalRead(DHpin)==LOW);

//等待50us;

delayMicroseconds(30);

//判断高电平的持续时间,以判定数据是‘0’还是‘1’;

if(digitalRead(DHpin)==HIGH)

data|=(1<

<

(7-i));

//高位在前,低位在后;

while(digitalRead(DHpin)==HIGH);

//数据‘1’,等待下一位的接收;

}

}

returndata;

}

voidstart_test()

digitalWrite(DHpin,LOW);

//拉低总线,发开始信号;

delay(30);

//延时要大于18ms,以便DHT11能检测到开始信号;

digitalWrite(DHpin,HIGH);

delayMicroseconds(40);

//等待DHT11响应;

pinMode(DHpin,INPUT);

while(digitalRead(DHpin)==HIGH);

delayMicroseconds(80);

//DHT11发出响应,拉低总线80us;

if(digitalRead(DHpin)==LOW);

//DHT11拉高总线80us后开始发送数据;

i<

4;

i++)//接收温湿度数据,校验位不考虑;

dat[i]=read_data();

pinMode(DHpin,OUTPUT);

//发送完一次数据后释放总线,等待主机的下一次开始信号;

voidsetup()

Serial.begin(9600);

voidloop()

start_test();

Serial.print("

Currenthumdity="

);

Serial.print(dat[0],DEC);

//显示湿度的整数位;

Serial.print('

.'

Serial.print(dat[1],DEC);

//显示湿度的小数位;

Serial.println('

%'

Currenttemperature="

Serial.print(dat[2],DEC);

//显示温度的整数位;

Serial.print(dat[3],DEC);

//显示温度的小数位;

C'

delay(700);

在ArduinoIDE软件中根据模块建立工程,编写相应代码,进行编译,下载。

如图2-2所示。

图2-2ArduinoIDE界面

在ArduinoIDE软件中点击

这个图标编译代码,点击

这个图标下载程序到ArduinoUNO开发板。

下载成功之后通过菜单“工具”→“串口监视”打开串口监视窗口,查看模块的数据输出内容。

本节主要讲述了温湿度传感器的使用,以及数据采样的基本原理。

实验三蜂鸣器报警控制

2.实验目的

1.1学会使用蜂鸣器报警模块

3.1掌握蜂鸣器报警模块基本原理

3.2能够搭建IDE环境,建设蜂鸣器报警的工程项目

利用Arduino数据手册及蜂鸣器的原理图,来编程蜂鸣器报警的驱动程序,设置蜂鸣器“S”端接UNO的数字端口8号引脚,高电平发出声音。

蜂鸣器的“+”端接UNO的+5V输出,“-”端接UNO的GND,“S”端接UNO的数字端口8号引脚(当然这个可以自己定义数字引脚)。

如图3-1所示。

图3-1蜂鸣器与ArduinoUNO连接

intbuzzer=8;

//设置控制蜂鸣器的数字IO脚

pinMode(buzzer,OUTPUT);

//设置数字IO脚模式,OUTPUT为输出

unsignedchari,j;

//定义变量

while

(1)

{

for(i=0;

80;

i++)//输出一个频率的声音

digitalWrite(buzzer,HIGH);

//发声音

delay

(1);

//延时1ms

digitalWrite(buzzer,LOW);

//不发声音

//延时ms

}

100;

i++)//输出另一个频率的声音

delay

(2);

//延时2ms

上电后蜂鸣器电流达到一定程度时,就会发出声响。

  本节主要讲述了蜂鸣器的使用。

实验四步进电机控制实验

1.1了解步进电机的控制方法和原理;

1.2掌握在Z-STACK协议中网关向传感器节点广播数据包的方法;

1.3学习在传感器中接收和处理数据的方法;

3.1编程要求:

按照实验步骤实现应用程序;

3.2实现功能:

通过在物联网平台(TDFY2014WL)中添加步进电机设备并发送控制命令对步进电机进行控制使其开始转动或停止转动。

利用Arduino数据手册及步进电机的原理图,来编程步进电机的驱动程序,实现通过在物联网平台(TDFY2014WL)中添加步进电机设备并发送控制命令对步进电机进行控制使其开始转动或停止转动。

1、步进电机和步进电机驱动的接线方法:

红线不接;

out1接橘色;

out2接粉色;

out3接黄色;

out4接蓝色;

2、步进电机驱动与开发板的接线方法:

5V接5V;

GND接GND;

in1接8;

in2接9;

in3接10;

in4接11;

3、Zigbee模块与开发板的接线方法:

3V3接3.3V;

TXD接TXD;

RXD接RXD;

可以对比图4-1来检验自己是否接好线:

图4-1接线图

intOn=1;

               //判断操作是否完成

intCommand=0;

            //控制命令

intPin0=8;

              //电机控制引脚1

intPin1=9;

              //电机控制引脚2

intPin2=10;

            //电机控制引脚3

intPin3=11;

//电机控制引脚4

intstep=0;

//电机转动步数

intstepperSpeed=10;

//电机转速,1ms一步

//传感器编,从物联网开发平台中获取

intsid=53;

//传感器序号(步进电机编号)

charserialbuff[80]={0};

intseriali=0;

charserialData;

voidsetup(){

pinMode(Pin0,OUTPUT);

pinMode(Pin1,OUTPUT);

pinMode(Pin2,OUTPUT);

pinMode(Pin3,OUTPUT);

Serial.begin(9600);

//步进电机反转

voiddown()

switch(_step){

case0:

//stepperSpeed++;

digitalWrite(Pin0,LOW);

digitalWrite(Pin1,LOW);

digitalWrite(Pin2,LOW);

digitalWrite(Pin3,HIGH);

//32A

break;

case1:

digitalWrite(Pin0,LOW);

digitalWrite(Pin1,HIGH);

digitalWrite(Pin2,LOW);

case2:

digitalWrite(Pin1,HIGH);

digitalWrite(Pin3,LOW);

case3:

digitalWrite(Pin2,HIGH);

case4:

digitalWrite(Pin2,HIGH);

case5:

digitalWrite(Pin0,HIGH);

case6:

digitalWrite(Pin0,HIGH);

case7:

digitalWrite(Pin1,LOW);

digitalWrite(Pin3,HIGH);

default:

_step++;

if(_step>

7){

_step=0;

delay(stepperSpeed);

//步进电机正转

voidup()

digitalWrite(Pin3,LOW);

digital

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2