杨振堃,胡春燕
(上海理工大学光电信息与计算机工程学院,上海200093)
摘要:为提升智能科学与技术专业学生的实践能力,文章提出基于Arduino对该专业的实践教学进行设计,重点阐述结合智能专业的特点以及Arduino的实践性,对LED灯、温度传感器和开关基本操控的实验教学设计;同时探讨基于Arduino的智能车实现的可能性,为Arduino的智能应用设计做铺垫。
教育期刊网 http://www.jyqkw.com
关键词 :Arduino;智能科学与技术;实践;教学设计
基金项目:2014年上海大学生创新创业训练计划项目(SH2014046)。
作者简介:杨振堃,男,本科大三学生,研究方向为智能科学与技术;胡春燕(通讯作者),女,讲师,研究方向为计算机应用及智能应用,hhuchy@163.com。
0 引 言
智能科学与技术是面向前沿高新技术的基础性本科专业,其覆盖面广泛,专业涉及:机器人技术,以新一代网络计算为基础的智能系统,微机电系统( MEMS),与国民经济、工业生产及日常生活密切相关的各类智能技术与系统,新一代的人一机系统技术等。经过近几十年的发展,智能技术及其应用已经成为IT行业创新的重要生长点,例如智能机器人、智能化机器、智能化电器、智能化楼宇、智能化社区、智能化物流等,对人类生活产生了重要影响。而自动化工程、机电工程、计算机工程等工程学科的核心内容就是智能科学与技术,它的工程性和实践性非常强,所培养的学生正是目前高新技术研究及产业发展急需的人才,同时此类人才也会对传统产业的提升和改造起到积极作用。该专业融合机械、电子、传感器、计算机软硬件、人工智能、智能系统集成等众多先进技术,是现代检测技术、电子技术、计算机技术、自动化技术、光学工程和机械工程等学科相互交叉和融合的综合学科。它涉及到的技术有检测技术、控制技术、计算机技术、网络技术及有关工艺技术,正影响着国民经济的很多领域,已成为一个国家科技发展水平和国民经济现代化、信息化的重要标志。智能科学与技术专业以光、机、电系统的单元设计和总体集成及工程实现的理论、技术与方法为主要内容,面向前沿高新技术,培养具备基于计算机技术、自动控制技术、智能系统方法、传感信息处理等科学与技术,进行信息获取、传输、处理、优化、控制、组织等并完成系统集成,具有相应工程实施能力,具备在相应领域从事智能技术与工程的科研、开发、管理工作的宽口径知识和较强适应能力及现代科学创新意识的高级技术人才。
Arduino是开源电子原型平台,特点是便捷灵活、方便上手,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。Arduino构建于开放原始码simple I/O介面版,而且具有使用类似Java、C语言的Processing/Wiring开发环境。Arduino不仅能通过各种各样的传感器感知环境,而且还可以通过控制灯光、马达和其他装置来反馈和影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程利用Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)来实现。基于Arduino的项目,既可以只包含Arduino,也可以同时包含Arduino和其他一些在PC上运行的软件,它们之间通过通信(比如Flash,Processing,MaxMSP)来实现。
1 平台软件介绍
Arduino是一个开放源代码的单芯片微电脑,它使用Atmel AVR单片机,采用基于开放源代码的软硬件平台。
Atmel AVR系列是一种基于改进的哈佛结构、精简指令集( Reduced Instruction Set Computing,RISC)的微控制器,由Atmel公司于1996年研发。AVR系列是首次采用闪存(Flash Memory)作为数据存储介质的单芯片微控制器之一。目前为止,AVR处理器发展了6个系列,分别是:tinyAVR,ATtiny系列;megaAVR,ATmega系列;XMEGA,ATxmega系列;Application-specific AVR,面向特殊应用的AVR系列,增加LCD控制器、USB控制器、PWM等特性;FPSLIC,FPGA上的AVR核;AVR32,32位AVR系列,包含SIMD和DSP以及音视频处理特性,与ARM形成竞争。
Arduino IDE和各种组件如图1和图2所示,组件包括Arduino Uno R3开发板、ArduinoXbee V5.0传感器扩展板、Bluebee蓝牙模块、LCD1602 12C液晶模块、继电器模块、蜂鸣模块、光敏电阻模块、可调电位器、舵机等。
2 实践操作
2.1 Arduino基础实验设计与实现
2.1.1 基于Arduino对LED灯的控制
LED( Light Emitting Diode)中文称作发光二极管,是一种固态的半导体器件,它能够直接把电转化为可见光。智能应用中有很多场合会涉及对LED灯的控制。在基础实验的实践中,首先测试LED小灯的控制,利用其I/O口和外接直插LED灯来完成实验,使用到的实验器材有Arduino控制器、USB下载线、红色M5、直插式LED、220Ω直插电阻、面包板和面包板跳线。连接后的实物如图3所示。
Arduino的语法结构中有两个必不可少的函数,分别是void setup0和void loop0,它们是setup0函数中初始化动作的区块,所有串行端口、脚位输出入都在这里进行初始化,loop0函数是板子重复执行动作的区块。arduino上传程序后,首先从setup0函数开始运行,setup0函数运行一次后便进入loop0函数中不停循环运行,实现的核心部分是设置引脚pinMode和写人数字脚digitalWrite两个函数。
在此基础上可以对LED灯的变化加入更多方式,例如流水灯的变换,实验原理与上述LED灯控制变化没有太大区别,但是需要在LED灯和导线数量上有所增加。LED灯的摆放形式可以进行各种变换,图3展示的只是一种最简单的形式,还可增加LED灯数量,根据个人创新设计摆出更多漂亮图案。
2.1.2 基于Arduino对温度传感器的控制
智能应用中根据温度进行操作的例子很多,如空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。为了解温度信息的采集过程,在实践中使用DS18820型号的温度传感器,并用Arduino控制传感器进行实时温度检测。本次实验用到的器材有:Arduino Uno板、温度传感器DS18820、数据下载线和面包线。电源线、地线分别连到Arduino实验板的+5V、GND端口,数据总线连至数字端口12,实物连接如图4所示。在实验中,Arduino板子和软件实现温度传感器与电脑的连接,并能实时显示温度。由于温度显示反应较慢,测得温度数值较相近,但仍能看出温度变化。
2.1.3基于Arduino对开关的控制
开关可以分为按键开关和轻触开关,在电子设备领域有着广泛应用,例如数码产品、遥控器、通讯产品等。
本实践使用按钮控制LED灯,按钮按下时灯亮,放开时灯灭,实践元件有按键开关、红色直插LED、220Ω电阻、10KΩ电阻、面包板及面包板跳线。
编程读取模拟0口电压值,当电压值大于1000时,设置第7引脚为高电平,此时LED灯点亮;当电压值小于1 000时,则设置第7引脚为低电平,LED灯熄灭。
2.2 Arduino拓展实验设计与实现
以循迹智能车为例,循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,于是可以根据接收到的反射光强弱来判断小车的“轨道”。而红外探测法就是最常采用的方法。
红外探测法利用的是红外线在不同颜色的物体表面具有不同反射性质的特点:在小车行驶过程中不断向地面发射红外光,红外光在白色纸质地板上发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。Arduino单片机就以是否收到反射回来的红外光为依据来确定黑线的轨迹和小车的行走路线。但需要注意的是红外探测器探测距离是有限的。
基于Arduino控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。以Arduino Uno为控制核心,利用红外光电传感器对白色路面中的黑色轨迹进行探测,并将路面检测信号反馈给Arduino单片机。程序烧进板子后,Arduino单片机对采集到的信号予以分析判断,及时控制驱动电机来调整小车方向,使小车沿着黑色轨迹自动行驶,实现小车自动寻迹。
TCRT5000红外对管在机器人设计和工业制造中应用非常普遍,可利用TCRT5000制作黑白寻迹机器人。由于红外线对颜色的反射率不同,所以将反射信号的强弱转化成电流信号是TCRT5000红外对管的工作原理,检测到黑色时高电平有效,检测到白色时低电平有效。
该控制系统的组成部分有主控制电路模块、电源、红外检测模块、电机及驱动模块等。当小车进入循迹模式后,便开始不停扫描检测与探测器连接的单片机I/O口,当检测到其中某个I/O口有信号以后,进入程序进行判断处理,这其中最重要的是要先确定3个探测器中哪一个探测到了黑线。其循迹流程图如图5所示。
3 结语
智能科学与技术作为一门全新的专业,自面世以来就一直受到社会各界的广泛关注,其代表了科技的大趋势,成熟的智能科学与技术必将会成为人类未来生活不可或缺的一部分。目前智能科学与技术尚在起步阶段,在某些领域只存在于理论,想得到具体实践还需要一定过程;高昂的价格也是阻碍其广泛发展的原因之一。
对LED灯、温度传感器和开关的基本操控实践,使该专业学生对智能应用设计有了初步认识。学生通过Arduino模拟环境感受智能控制,体会智能专业在生活中的应用,避免局限于枯燥、抽象的理论学习。同时,该实验实践加深了智能专业学生对C语言编程的认知,通过实际操作,多编程多调试,将理论联系到实践,再由实践回到理论,实践与理论知识完美融合,达到知识灵活运用的目的。智能专业的学生要善于创新、开阔视野、深入思考,走在智能应用的最前沿,了解有关智能应用的最新成果,提高专业敏感度,善于学习,借鉴有用的成果,将其运用到专业的理论学习和实践操作当中。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]张昊,李擎.谈智能科学与技术专业及相关学科的发展[J]北京:北京信息科技大学,2013.
[2]段尧清.城市信息化水平测评的理论与方法研究[D].武汉:华中师范大学,2001.
[3]辛光红,基于Android系统的Arduino智能车设计[D].三亚:三亚学院理工学院,2014.
[4]孙红,蒋念平,陈玮,等.智能科学与技术专业理论教学与工程实践的融合[D].上海:上海理工大学,2012.
[5]李响.基于Arduino的植物叶片叶绿素含量光学检测仪器的研制[D].北京:北京信息科技大学,2013.
[6]孟魁,基于Arduino的物流实验体系建设[D].荆州:长江大学管理学院,2013.
[7]宁慧慧,余红英,基于单片机控制的简易自动寻迹小车设计[D].太原:中北大学信息与通信工程学院,2009.
[8]魏连甲.基于SPCE061A单片机的智能移动小车设计[D].沧州:沧州师范学院,2014.
(编辑:杨涛)