基于树莓派的计算机类专业实训教学探索

2018-01-31 07:49张立立
计算机教育 2018年1期
关键词:树莓底盘实训

王 彤,夏 利,张立立

(东北大学 计算机科学与工程学院,辽宁 沈阳110819)

0 引 言

深化教育改革,注重知识、能力和素质全面发展,以培养具有坚实专业基础、实践能力和创新思维人才为目的是我校实训课程一直遵循的教学理念[1]。东北大学计算机科学与工程学院计算机实验教学中心是东北大学第三个国家级实验教学示范中心,以促进大学生的全面发展和适应社会需求为宗旨,以培养创新精神为核心[2],形成了“强化基础、重视能力、面向应用、鼓励创新”的教学理念,针对计算机类、电子信息类和生物工程等专业本科生开设了多层次、立体化的实训教学体系,在提供教学和实验平台的同时,为学生竞赛、创新创业以及科研活动提供了实验环境和支撑平台。

为顺应社会对创新人才需求的趋势,本次教学探索通过向学生传授树莓派的结构、使用等知识,启发学生根据题目要求、结合实际应用环境等合理发挥,开启创新思维,培养学生在知识综合运用和工程设计等方面的分析、解决问题的能力,为以后的进一步学习奠定基础。

当前已有部分高校实践教师开展了对实训的积极探索与实践。本次改革探索增设多个实训实验,根据计算机课程改革的需要,结合计算机教学委员会提出“增强学生系统能力”的要求,我们通过与多个企业开展的实训教学合作,并结合我校电子信息类、计算机类、生物医学工程大一本科生的校内实训,在帮助学生学习计算机学科知识的同时,为学生提供了丰富的资源平台,使教学实践与技术发展与时俱进,培养学生运用所学知识解决实际工程问题的能力,逐步形成基于Raspberry Pi(树莓派)的实践技能实训模式。

1 教学模式与实训内容

该实训结合东北大学与东软、东网科技等企业合作,以及校内各实训课程已开展多年,此次由计算机学院与中荷生物医学学院共同发起,是在电子信息类、计算机类以及生物医学工程专业大学一年级第二学期开展,融入了树莓派、物联网等新课程为期4周时间的创新实训教学项目,包括基础知识教学环节和实践训练环节两大部分,其中实践训练环节分为基础实践(基于树莓派的简单程序设计实例)和自主创新综合实践(如基于树莓派的智能车设计)。

基础知识是创新的基础,只有在基础知识的根基上学生的想象力才有用武之地。本次实训内容包括学生开展树莓派应用所需的软硬件基础知识,在此基础上实现基于树莓派的简单程序设计实例,并完成更复杂的创新性设计题目。首先,教师向学生传授树莓派基础知识、Linux操作系统、C语言以及Python语言程序设计等开展树莓派创新实践应用所必需的软硬件基础知识,烧录系统、从零开始下载安装所需软件并配置基本环境,在Linux环境下使用命令编辑、编译和调试简单的C语言程序;接着,进一步介绍设计硬件系统的基本流程方法、树莓派GPIO接口、传感器的使用方法、基于树莓派的程序设计方法以及Linux环境下如何使用命令编译和执行程序(C语言或Python)等知识,引导学生实现一个基于树莓派的简单实例了解树莓派的实际应用;在此基础上,学生可以根据实际需求和实验室提供的硬件器件,自主创新、合理设计基于树莓派的智能车,完成设计作品。

2 实训教学组织

实训教学在我校已开展多年,本次实训教学改革探索融入了新的教学内容,基于树莓派的计算机类实训是新增环节,面向电子信息类、计算机类以及生物医学工程专业,在大学一年级下学期开展。

基于树莓派的实训教学为8学时,包括基础知识教学环节和实践训练环节两大部分,其中实践训练环节分为基础实践和自主创新综合实践(基础知识2学时、两部分实践共占6学时)。基础实践实现一个基于树莓派的简单程序设计实例,自主创新综合实践要求学生设计实现基于树莓派的智能小车。课程第一阶段为树莓派的系统烧录,每名学生在两个学时内独立完成,由教师验收合格后,利用2学时的时间继续完成第二阶段基于树莓派的简单程序设计实例。接着自由组队,每组2~3人,采用组长负责制,完成基于树莓派的智能车设计。学生小组根据需求合理提出解决设计方案,由教师评估,评估时教师要注意学生设计的规范性,引导学生在设计时养成良好的开发习惯;评估通过后用4学时完成实验;最后由学生以组为单位向全体师生进行项目展示,包括演讲、答辩以及评价交流,了解不同的解决方案,分享遇到的问题及解决方法,拓宽设计思路。

基于树莓派的实训教学包括基础知识教学、基础实践和综合实践3部分。

2.1 基础知识教学

该环节是创新设计的基础。本实训模式的基础教学以信息技术为主,包括认识树莓派、烧录树莓派系统、树莓派端口介绍、环境配置和软件安装,引导学生在树莓派上编辑、编译和调试简单的程序。

本次实验所需的实验元件包括Raspberry Pi、TF卡(32G)、读卡器、VGA线、电源(1A、2.5A)、USB 线 (2根 )、HDMI转 VGA(有源 )、鼠标、键盘以及一台windows环境台式机。

在项目水资源论证阶段,对项目区实行严格的水资源论证审批制度,项目规模和布局以取水总量控制指标为指导,项目取水不得突破国家下达的地表水和地下水取水总量控制指标,对于已达到或超过控制指标的地区,不得新增取水,对于接近控制指标的地区,限制新增取水。地下水超采区内不得新增取用地下水,生态脆弱区限制地下水开采,防止出现生态环境问题。

2.1.1 认识树莓派

树莓派Rpi/RasPi / RPI (Raspberry Pi)是一款基于ARM的微型电脑主板,以SD卡为存储媒体,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口[3]。创始人埃本·厄普顿(Eben Epton)是英国剑桥大学博士,最初开发动机是用于教育。树莓派的尺寸为信用卡大小,价格仅25/35美金,基于Linux的操作系统、Python语言开发环境,同时也支持C、Java等语言,可连接电视、显示器、键盘鼠标等设备使用,性价比高,功能强大,可用于学习计算机编程、培养计算机程序设计的兴趣和能力,广泛应用于教育、工控、机器人、物联网以及智能家居等领域[4]。

2.1.2 树莓派端口介绍

Genernal Purpose Input Output(通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准12C、SMBus或SPI接口简化I/O口的扩展[5]。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。

2.1.3 烧录树莓派系统

在烧录树莓派系统前,引导学生将所需实验元件正确连线。然后,引导学生自行烧录树莓派系统,为学生提供官方下载地址自行下载树莓派镜像,运行Win32DiskImager,用读卡器以及镜像烧写软件Win32DiskImager写系统到SD卡中,软件界面如图1所示。这里,本实训所烧录的系统为RaspBian,关于操作系统的知识可参阅文献[6]。

2.1.4 环境配置和软件安装

环境配置包括网络环境配置、本地语言以及键盘映射等。此部分由学生自行查找资料完成环境配置和软件安装,如音频播放、文档编辑等软件。

2.1.5 简单的程序示例

图1 Win32DiskImager软件使用界面

引导学生编辑、编译和调试简单的C语言程序示例,建立文件编辑程序,通过命令执行hello world程序。同时,要求学生使用Python编写程序实现hello world程序,并在树莓派上运行[7]。

2.1.6 思考题

要求学生课下查阅资料自行完成,并在实验报告中对思考题作答,思考题可在下列题目中抽取设置,如安装视频播放软件并播放视频,配置蓝牙功能,使手机与树莓派通过蓝牙传输文件等。

2.2 基础实践

2.2.1 教学目的

通过基于树莓派的简单程序设计实例体会树莓派在实际中的应用,引导学生学习使用树莓派设计硬件系统的基本流程方法[8]。在掌握树莓派GPIO接口使用方法的基础上,根据掌握的传感器知识、程序设计方法,在Linux环境下使用命令编译和执行程序(C语言或Python)根据实验需求点亮LED灯。

2.2.2 实验需求

设计硬件电路,分别使用C语言和Python语言编写程序实现下述两个需求。小灯逐个闪烁(跑马灯程序),用户手离超声波传感器遮挡进入一定范围小灯全亮(20cm或更小距离);奇数小灯和偶数小灯交替闪烁,用户手离超声波传感器遮挡进入一定范围小灯全灭(20cm或更小距离)。

2.2.3 实验元件

2.2.4 实验教学与指导

本实验是一个基于树莓派的简单实践,学生需要学习硬件系统的基本流程方法,利用树莓派GPIO接口知识,超声波传感器的工作原理及其使用,完成算法及相应电路的设计,调试分析程序,最后实现跑马灯程序,并设计方法提高系统的灵敏度。

2.3 综合实践

2.3.1 教学目的

通过前两个阶段的学习以及开发实践,学生可在教师引导下,根据已掌握的开源软硬件知识,按照小组团队根据需求完成设计方案,通过汇报和教师评估不断完善,最终完成基于树莓派的智能车设计[9]。

2.3.2 实验需求

设计智能小车硬件电路,并分别用C语言和Python语言使智能小车按照规定轨迹行进;当遇到障碍物(约20cm)时,转向其他方向,即循迹和避障功能。

2.3.3 预备知识

智能车为机器人的一种,机器人的定义为能自动执行工作的机械装置[10]。机器人由机械装置、传感装置和控制系统组成,机械装置相当于执行机构,传感器相当于人类的感觉实现传动和感知功能。这里,控制系统我们使用树莓派实现。智能车的工作需要执行代码通过GPIO接口,去控制传动和感知设备,让机械设备按照预想的动作执行任务。其中,传感器与人类的感官相似,有听、说、看、动(上、下等),传感器有超声波传感器、红外传感器、温湿度传感器等。本实践用到的传感器为超声波传感器和灰度传感器。

2.3.4 实验元件

本环节除基础知识部分提到的元件外,还需要超声波传感器、灰度传感器、直流电机、L289N直流电机驱动器、轮式小车底盘,及相关固定框架等主要元件。其中,小车组装配件包括底盘、T型连接器、六角尼龙柱、车轮等零件。

2.3.5 智能车组装步骤

小车底盘的组装。首先,固定直流电机,将T型连接器穿过底盘A一侧的方形卡槽,将直流电机紧贴T型连接器外侧放好,使上下两个螺丝孔重合,取出较长的螺杆,穿过螺丝孔,将螺母拧紧固定,另一侧的直流电机也按照此法固定;接着,安装车轮,将车轮上的方形卡槽与直流电机的驱动轴对齐,轻按,将车轮安装到直流电机的驱动轴上;然后,安装万向轮,取出万向轮和较短的六角尼龙柱,用螺丝将万向轮通过尼龙柱与小车底盘A相连接,用较长的六角尼龙柱固定底盘B和底盘A;最后,组装完成后,智能车底盘如图2所示。

图2 智能车底盘

传感器的安装说明:智能小车配备两个一路灰度传感器和一个超声波传感器;灰度传感器附着于直流电机底部,带光敏电阻的一侧置于车轮的前方;超声波传感器置于小车的前方,底盘A和底盘B之间;其中,小车底盘安装万向轮的一方为车尾。

其他部件:LP298N驱动板固定于底盘A的上方;Rpi(树莓派)固定于底盘B上方。

2.3.6 连 线

避障部分的连线说明:首先,连接超声波传感器HC-SR04;vcc对应raspi的2号针脚,即5v电源口;Trig对应13号;Echo对应15号;Gnd对应14号,即ground接地引脚。

树莓派、电机驱动器、电机之间的连线。树莓派控制小车电机需要4路控制信号和2路使能信号。如有升压模块,可将Raspberry Pi 的5v供电升至12v,然后连接lp298n 的12v供电端口。如果没有升压站,请直接连接相邻的5v供电端口。树莓派、电机驱动器、电机之间的连线如图3所示。其中,In1~In4 分别对应Wiring Pi,GPIO的21~24端口;ENA,ENB分别对应Wiring Pi,GPIO的0、1端口;超声波传感器使用wiringpi,gpio的2、3端口;灰度传感器使用wiringpi,gpio的27、28端口。循迹部分连线图见图4。

图3 树莓派、电机驱动器、电机连线图

图4 循迹部分连线图

2.3.7 实验教学与指导

本实验是一个比较完整的工程实践,学生需要学习树莓派GPIO接口的使用方法,掌握超声波传感器、灰度传感器的工作原理、内部结构及其使用以及智能车的组装方法,并对实验内容进行方案论证,完成算法和相应电路的设计,程序的调试分析,并设计方法排除环境因素对实验结果的影响,提高智能车循迹和避障的灵敏度。

最后,实验完成后,组织学生以组为单位进行项目展示,包括演讲、答辩以及评价交流,进而了解不同的解决方案,分享遇到的问题及解决方法,拓宽设计思路。

3 教学成果

图5和图6分别展示了学生完成的基础实践和综合实践的学生成果,并在答辩演示中分析了实验中遇到的问题以及解决方法等。组内每名学生也在答辩过程和实验报告中列举了自己在实验过程中的心得体会。

4 总结与展望

计算机类实训作为实践教学中的一个重要环节,不但可以将理论与实践结合,而且能够提高学生对复杂工程问题的独立解决能力和就业竞争力,为步入社会打下坚实基础。同时,本次实训改革进一步推动了我校国家级教学实验中心的建设。实训所需购置元件费用约2万元,对于实验室建设而言投入不大,即使学生后续想自购一套树莓派设备深入学习,也只需约500元左右,学生可接受。教学实践也证明了该实训教学模式的可行性和有效性,但实训内容、方法和手段等问题仍有待进一步地探讨,以逐步提高实训的质量和效果。

图5 基础实践学生成果

图6 综合实践学生成果

[1]贾杰. 创客教育与高等院校工程训练的融合 [J]. 实验技术与管理, 2015,32(12): 30-35.

[2]陈亚男, 李慧. 电工技能实训课程开发与实践[J]. 实验技术与管理, 2010(27): 172-176.

[3]王江伟, 刘青. 玩转树莓派Raspberry Pi [M]. 北京: 北京航空航天大学出版, 2013.

[4]Matt R, Shawo W. 爱上Raspberry pi [M]. 北京: 科学出版社, 2013.

[5]Brendan H. Raspberry Pi树莓派实作应用[M]. 北京: 人民邮电出版社, 2014 .

[6]鸟哥. 鸟哥的Linux 私房菜 [M]. 北京: 人民邮电出版社, 2011.

[7]Wolfram D. Learn Raspberry pi programming with python [M]. Boxton: NewnesPress, 2014.

[8]关静丽, 艾红, 陈雯柏. 基于树莓派和Yeelink的开放实验室监控系统设计[J]. 实验研究与探索, 2017(36): 115-119.

[9]朱轶. 曹清华. 基于Android、树莓派、Arduino、机器人的创客技能教育探索与实践 [J]. 实验技术与管理, 2016(33): 172-175.

[10]胡福文, 徐福海, 张超英, 等. 基于创客文化的实验室开放平台建设研究与探索[J]. 实验技术与管理, 2015, 32(7): 244-248.

猜你喜欢
树莓底盘实训
山间“小精灵”
——树莓
BOPPPS教学模式在产科护理实训课中的应用
项目驱动的启发式程序设计实训探索与实践
基于树莓派的骑行智能头盔设计
现代通信实训教学平台的建设与实施
黄金水果红树莓
轿车底盘评价调校初探
依维柯New Daily底盘改装房车中国首秀
年度睡姿大盘点(下)
底盘测功机的发展及应用