《Arduino技术及应用》实验教学大纲及指导书文档格式.docx
- 文档编号:448804
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:32
- 大小:1.79MB
《Arduino技术及应用》实验教学大纲及指导书文档格式.docx
《《Arduino技术及应用》实验教学大纲及指导书文档格式.docx》由会员分享,可在线阅读,更多相关《《Arduino技术及应用》实验教学大纲及指导书文档格式.docx(32页珍藏版)》请在冰点文库上搜索。
选开
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Arduino技术及应用 Arduino 技术 应用 实验教学 大纲 指导书