《Arduino技术及应用》—实验教学大纲及指导书
- 格式:doc
- 大小:2.25 MB
- 文档页数:31
《Arduino技术及应用》实验大纲
课程编号:SJ001568 大纲执笔人:
课程名称:Arduino技术及应用大纲审批人:
英文名称:The Technology and Application of Arduino
实验室名称:计算机学院实验中心
课程学时:40实验学时:8
一、本课程实验教学目的与要求
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。Arduino简单的开发方式使得开发者更关注于创意与实现,更快地完成自己的项目开发,大大节约学习的成本,缩短开发的周期。如今它已成为了学习微控制器的首选,并且在全球智能化以及物联网快速发展的大背景下,将迎来学习它的新热潮。通过本课程学习,学生可以了解Arduino技术基本概念和基本知识,掌握Arduino软硬件设计的基本方法。本课程的特点是针对迄今为止使用最广泛的Arduino UNO开发板与Arduino IDE 开发环境进行详细剖析,并结合具体Arduino开发实验,使学生能够熟练掌握Arduino的设计与开发方法。本课程采用讲课和实验相结合的方式,注重培养学生的实际应用能力与创新能力,以达到“学习Arduino,使用Arduino”的教学目的。
二、需要仪器设备及现有套数:
1、装有IAR8.10软件的教师PC机一台;投影仪一台。
2、太原理工大学电气与动力工程学院研发的物联网应用开发平台网关箱1套。
3、太原理工大学电气与动力工程学院研发的物联网应用开发平台开发箱30套。
4、电脑笔记本学生人手一套(自带)。
三、实验课程内容和学时分配:
四、考核方式
1、本门课程实验是综合性和设计性相结合,以操作为主。在实验四结束后要求学生演示所做实验内容,对关键技术进行讲解,并提交电子作品和纸质实验报告。
2、实验报告应包括:①目的和要求,②开发环境和主题,③设计步骤,④关键技术分析,⑤实验结果及分析。
3、考核方式:
(1)实验课的成绩占课程总成绩的10%。
(2)成绩按满分100分计算,每个实验为25分,分值分配如下:
五、实验教材、参考书
1、教材:
2、参考书:
《Arduino技术及应用-试验指导》
实验一控制三色LED灯闪烁
1.实验目的
1.1掌握Arduino的配置、程序代码的编写,以及编译及调试的过程
1.2学会如何运用Arduino IDE编写并在线调试程序LED灯闪烁实验
2.实验设备
2.1 IDE开发环境
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-1 LED与UNO连接图
接下来,我们将USB线一端与开发板连接,另一端与电脑连接,如图1-2所示:
图1-2 USB与UNO连接图
5.2程序代码的编写
5.2.1新建程序文件
双击桌面上的图标,进入Arduino开发环境,开始编写三色LED 灯的控制程序。初始界面如图1-3 所示:
图1-3 Arduino开发环境初始界面
5.2.2定义LED引脚
LED模块如图1-4所示:
图1-4 LED模块
int redpin = 9; //定义端口9控制红色LED引脚
int greenpin = 10; // 定义端口10控制绿色LED引脚
int bluepin = 11; // 定义端口11控制蓝色LED引脚
5.2.3 main函数
首先,初始化:
void setup() {
pinMode(redpin, OUTPUT);// 定义红色LED引脚为输出引脚
pinMode(bluepin, OUTPUT);// 定义蓝色LED引脚为输出引脚pinMode(greenpin, OUTPUT);// 定义绿色LED引脚为输出引脚}
然后,编写LED灯闪烁函数:
void loop()
{
for (val = 0; val < 255; val++)
{
analogWrite(bluepin , val);//为蓝色LED提供模拟输出电压
delay(20); //停顿1ms
}
analogWrite(bluepin , 0);//关闭蓝色LED
delay(2000);//停顿2s
for (val = 0; val < 255; val++)
{
analogWrite(greenpin , val); //为绿色LED提供模拟输出电压delay(20); //停顿1ms
}
analogWrite(greenpin , 0);//关闭绿色LED
delay(2000);//停顿2s
for (val = 0; val < 255; val++)
{
analogWrite(redpin ,val); //为红色LED提供模拟输出电压
delay(20); //停顿1ms
}
analogWrite(redpin , 0);//关闭红色LED/
delay(2000);//停顿2s
}
5.2.4实验源码