APP下载

新工科背景下的嵌入式系统实验教学探索

2023-05-30张欢宋慧娜滕旭阳乔磊

电脑知识与技术 2023年3期
关键词:树莓派嵌入式系统新工科

张欢 宋慧娜 滕旭阳 乔磊

关键词:新工科;嵌入式系统;树莓派;扩展项目;创新思维

中图分类号: TP311 文献标识码:A

文章编号:1009-3044(2023)03-0166-03

1 引言

为应对新一轮的全球产业变革,支撑国家战略发展,为国家培养高素质创新型人才,教育部于2017年先后形成了“复旦共识”[1]“天大行动”[2]和“北京指南”[3],并发布了在全国范围内开展新工科研究与实践的通知。相比传统的工科教育,“新工科”着力培养人才提出问题、分析问题和解决问题的工程能力,培养的人才应兼具理论基础、创新性思维和工程实践能力,更注重人才培养的社会满意度[4]。

嵌入式系统实验课程是计算机和电子类专业的专业课,这门课覆盖了C语言编程、电子电路、Linux 操作系统、计算机系统、嵌入式系统等多门专业基础课内容,在前置课程交叉融合的基礎上,培养学生综合实践能力。基于“新工科”教育理念设计嵌入式系统实验课程,有利于提升学生解决工程问题的能力,拓展学生知识的广度和深度,符合“大学本科要培养适应新时代中国特色社会主义现代化建设需要,有助于实现培养具有家国情怀、国际视野、创新精神和实践能力的高素质人才”的目标[5]。

杭州电子科技大学通信工程学院已经连续多年开展了嵌入式系统实验课程,并对该课程进行了一些积极的探索和实践[6]。基于“新工科”教育理念,本次教学改革探索将实验课程分成了基础部分和扩展部分,在原有树莓派开发的基础上进行了一系列的完善与改进,增加学生独立设计、思考与实践在整个课程中的课时比例。

2 课程介绍

树莓派是专为学生学习计算机原理而设计的,具有价格低廉、功耗低、体积小、功能完善等应用优势,受到了广大计算机爱好者的欢迎,并作为一种嵌入式计算机平台在社会的各个领域发挥着重要作用。树莓派可以运行Linux等操作系统,便于在开发板上直接进行软件编程和调试,并提供了以太网、蓝牙、WIFI 和丰富的GPIO口,可以外接各类传感器和远程终端,兼具通用计算机的灵活性和嵌入式开发板的可扩展性[7]。因此将树莓派引入嵌入式系统实验教学是不二的选择。

本次嵌入式实验教学探索中,基于树莓派开发板搭建智能小车,包括基础平台和扩展实现两大模块。首先,由教师讲解原理及实验方法,并带做基础平台部分;然后在教师的引导下,学生独立实现扩展部分。本课程采用项目制学习法,致力于引导学生基于基础平台发挥创造力和想象力,学生根据自己的学习基础和兴趣爱好,独立拟定具有创新性和挑战性的项目主题,经过一个学期的开放性探索,最终形成一个完整的作品[8]。

3 实验教学设计

3.1 教学目的

学生能够掌握嵌入式Linux操作系统的镜像烧写与使用,学会使用Shell、C和Python等嵌入式常用编程语言,能够通过GPIO接口和软件开发实现对外围传感器的驱动。引导学生从经济、环保、安全、实用等角度出发提出项目目标,培养学生的创新思维和分析、解决复杂工程问题的能力,提升团队协作能力和沟通表达能力。

3.2 学情分析

课程面向通信工程学院大二下学期学生开设,这一阶段的学生已经学习了C语言程序设计、电子电路基础、Linux操作系统、嵌入式系统等前置专业课程,具备嵌入式计算机硬件基础和软件编程能力,学生抽象思维活跃,正在形成辩证思维[7],已有的专业理论知识在头脑中碰撞。在这个阶段,依托嵌入式系统项目实践对学生进行创新思维和设计能力的培养,有利于将理论知识进行融会贯通,进一步巩固对知识的理解并灵活运用。

同时,学生之间的能力差距正在逐渐拉大,一部分学生基本掌握了理论知识,但是对知识的认知处于记忆和理解阶段,欠缺实践应用能力,处于学习的初级认知阶段;另一部分学生已经灵活掌握了各个前置课程的知识,动手能力较强,可以将知识应用到实践中,能够对工程做出分析和评价,具备创造性,处于学习的高级认知阶段。鉴于学生之间学习基础和认知能力的差距,需要进行有层次的教学设计,使教学能够兼顾各阶段学生的学习需求。

3.3 教学方法

本实验采用分散教学周的方式,将整个课程分散在一学期中的11个教学周内,每个教学周上三节课。采用自由组合的方式进行分组教学,每组3人。基于树莓派小车基础平台,各组首先独立拟定实现目标,指导老师根据学生的学习基础和能力评估工作量以及项目实施难度,与学生共同确定最终的项目内容,然后再由组员分工合作进行硬件电路设计和软件流程设计。

3.4 教学步骤

实验教学主要分为基础平台和扩展项目两部分,教学步骤与教学目的之间的对应关系如表1所示。

1) 树莓派小车基础平台

树莓派小车基础平台如图1所示,包括树莓派、车架、车轮、电机、L298N电机驱动、电池组和若干杜邦线等,这部分的搭建由教师讲解并带领学生完成。这部分的教学目的是使学生熟悉树莓派系统开发流程,掌握GPIO接口驱动的编程方法,能够独立完成对小车运动的控制。

树莓派小车基础平台部分的教学包括以下步骤:

(1) 安装和配置开发环境,下载并烧写Raspbian 操作系统,连接外接显示器、键盘、鼠标等设备搭建一个小型计算机,熟悉Linux shell操作;

(2) 连接树莓派GPIO与LED灯,并编写C或Py?thon驱动程序控制LED灯亮灭,以掌握树莓派GPIO口的控制;

(3) 组装小车车架、车轮、电机和电机驱动,通过电机驱动与电池组的连接实现车轮转动;

(4) 参考电机驱动原理图,连接树莓派GPIO口与组装好的小车,并使用C语言或Python语言编程实现树莓派通过GPIO口对电机驱动的控制,进而实现控制小车前进、后退、转向、停止等功能,以及使用脉冲调制(PWM) 的方式控制小车的运动速度。

2) 智能小车扩展项目

树莓派智能小车扩展项目由学生发挥创造力自拟题目,在基础平台之上加装传感器,实现一个完整的项目。这部分的教学目的是培养学生设计完整系统的能力,学会阅读各类传感器的使用手册,能够根据原理图搭建硬件电路、设计软件框架,掌握硬件和软件调试流程,具备独立解决问题的能力,提升在项目合作中必备的沟通交流能力。

3.5 考核方法

课程考核采用百分制,从项目验收、个人表现和实验报告三个方面进行考核。项目验收从是否完成项目目标,项目方案的合理性和复杂性,已完成目标功能的难易程度,代码的完整、规范程度,是否有创新性等方面对学生的项目做出综合性评分;个人表现包括出勤率、课堂参与度、团队配合能力、工作量比例和验收答辩的表达能力等;实验报告是每个小组学生提交的项目报告,分为设计目标、软硬件设计思路、具体实施方案、实验结果与分析等方面,考查学生的写作能力、分析和整理资料的能力。

4 学生实现的优秀作品展示

4.1 基于红外传感器的自动倒车入库系统

学生设计的自动倒车入库功能主要依靠放置在车辆两侧的红外传感器,借助Python编程的方式,不断获取红外传感器探测到的车辆与车库边界的距离,进而不断调整车轮的运动轨迹,最终实现小车自动倒车进入车库。图2(a)展示了在小车右侧配置三个红外传感器的系统,分别对车前部、中部、尾部进行距离探测,以此判定车身与车库边缘的相对位置关系,进而控制车辆行进路线,直到车辆右侧与车库右边缘平齐,再调制车辆位置使其位于车库中部。由于条件有限,该作品仅在车辆一侧安装了传感器,后续可以在车身四周安装更多传感器,使定位更准确。

4.2 基于神经网络的人脸口罩识别

在小车前部安装摄像头,树莓派可采集小车行进途中的视频图像,进而实现图像识别、人脸检测、快照拍摄等功能。图2(b)展示了基于卷积神经网络的人脸口罩识别系统,该作品基于LeNet-5 模型架构和TensorFlow Lite库,使用三层卷积神经网络模型对各类佩戴口罩的图片进行训练,将训练模型搭载到图像识别模块,对摄像头采集的实时画面进行人脸口罩识别,该作品可标记出正常、不规范和未佩戴三种类型。该作品的项目立意在当前防疫背景下为规范行人的口罩佩戴行为具有良好的实用价值。

4.3 基于蓝牙的远程控制

开发手机端应用程序,通过手机界面对小车进行运动控制,该项目还可结合摄像头和视频实时传输模块,将获取的图像传输到手机端,实现视角清晰的车辆控制。图2(c)展示的作品基于Android Studio平台和Java语言开发手机应用程序,可通过屏幕按键实现对小车运行参数设置,以及运动状态控制,还可以在手机屏幕显示摄像头采集的实时画面。

4.4 基于多自由度云台的智能拍照系统

图2(d)展示的作品将两个舵机和一个摄像头组装在一起,构成一个多自由度拍照云台,可以智能控制云台转动使摄像头画面中心对准人脸面部。在树莓派中编写拍照控制程序,对接收到的USB摄像头图像进行分析,通过PID(比例-积分-微分)算法计算出舵机控制量,再通过PWM脉冲调制控制舵机转动,进而实现对拍照角度的控制。

5 教学效果

经过一个学期的教学实践,嵌入式系统实验课程受到了学生的一致好评,学生们表现出了高涨的学习热情和浓厚的探索兴趣。在扩展项目开始初期,学生不断查资料、摸索设计方案,根据自身能力并与教师交流后提出明确的设计目标;在项目开展后经常花大量时间进行实践探索和软硬件调试;在项目结束时,每个小组都能交出完整的项目作品,完成项目报告,并进行流畅的项目答辩。

6 结束语

在“新工科”教育改革背景下,以培养创新思维人才为目标,设计了嵌入式系统实验课程教学方法,以基于树莓派的智能小车为基础,采用项目制学习法,因材施教,开展开放探索的教学实践,将培养学生设计、分析、解决工程问题能力贯彻教学始终。实践证明,该课程可以激发学生的创造力,锻炼工程实践能力,培养团队协作和沟通表达能力,从而增强专业自信心,有助于毕业后成为社会认可的高素質工程技术人才。

猜你喜欢

树莓派嵌入式系统新工科
面向新工科的Python程序设计交叉融合案例教学
智能安全防盗探测小车
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究
基于嵌入式技术的农村医疗系统设计