项目驱动模式下的基于C语言和单片机的工程实践教改设计

2020-11-26 05:02梁锐余波
现代计算机 2020年7期
关键词:C语言小车单片机

梁锐,余波

(成都师范学院物理与工程技术学院,成都 611130)

0 引言

《C语言程序设计》作为电子专业的一本专业必修课,不仅是学生接触计算机程序设计的入门课程,还是后续课程如《单片机原理》、《可编程逻辑器件》及《可编程控制器PLC》等课程的前期先导课程,是电子专业进行理论学习和实践教学的重要工具,在整个电子专业人才培养计划中占有举足轻重的地位。电子工程实践系列课程是在学生巩固已学知识的基础上,进一步拓展知识范围,培养学生分析问题和解决问题的能力,并且能进一步激发学生的想象力和创造力。目前在电子工程综合实践课程设计上仍然采用传统的教师为主体的教学方法,实践内容由几个有一定内在联系但又相对独立的实践单元组成,每次上课时,教师介绍本次课时的实践目的,介绍实践内容,解析实验原理,学生动手操作。其模式和每门课程中的实践环节非常类似,很容易让学生有疲惫感。

项目式教学法是指教师确定一个明确的目标,学生需要在特定的时间、预算或资源限定内依据规范完成[1]。在教学过程中,教师不再是教学活动的主体,教师的职能由“教学”向“导学”转变,教师需要按照项目工作流程对相关知识技能进行重组,将项目细分为多个连贯性的任务,学生在完成单个任务后获得的成就感与未实现的遗憾感可以有效地维持学生的学习积极性。教师将在教学过程中对学生进行引导、协助学生完成任务,并对任务的完成情况进行评价。学生主动参与和分析任务、自主探索、自主学习,并自发组成学习小组,通过小组协作解决问题,完成任务。这充分体现了学生在课堂中的主体地位,有助于培养学生的探索力、创新力和协作能力,促进学生的个性化发展[1-5]。

1 课程定位

立足学校应用型地方普通本科院校的定位及专业人才培养方案,实用性与创新型人才是我们的培养目标。《C语言程序设计》、《单片机原理及应用》、《可编程逻辑器件》及《可编程控制器PLC》等课程虽然在课程教学中都单独设有实践教学环节,但是无一不存在实践课时相对较少的困局。理论理解了,但是动手操作还存在困难;当时学会了,过后又忘了,再学另外一门课程的时候知识储备上缺少连续性。另外也有一个问题是课程实践环节新鲜感不够,在现在这个信息大爆炸的新型大学生面前,缺乏吸引力,学生学习的内在驱动力不足。

智能小车是近年非常流行的一种移动机器人,是一个集环境感知、规划决策、自动驾驶等功能于一体的综合系统,在军用、民用以及科学研究等领域都有非常广泛的应用前景。智能小车比赛也逐渐成为各大比赛不可或缺的环节之一。智能小车以单片机作为主体控制模块,通过采用不同的传感器模块感知环境,通过预先编好的程序对不同情况下达不同的执行指令,进而获得达到行进、避障、搬运等多种效果。智能小车项目趣味性好,实战性强,能够吸引学生的注意力,并且可以辅以竞技项目的刺激与挑战,可以极大地提高学习的趣味性,促进学习效果的提高[5]。

本次电子工程综合实践将侧重C语言编程及单片机技术方面,以智能小车的编程控制为核心,涵盖智能小车的整体结构设计,单片机控制,程序设计与优化等重点学习内容,通过项目导向的学习,切实提高学生的动手能力。

2 课程设计

2.1 教学目标

本次实践教学的教学目标为以下几点:

(1)进一步学习和掌握C语言、电路、单片机、传感器等相关课程的基本知识;

(2)掌握C语言编程的结构设计方法;

(3)学会解决智能小车结构设计、搭建及调试过程中遇到的实际问题;

(4)培养初步的项目设计能力和创新意识,为今后的学习和从事相关行业的研究、系统设计、项目建设及系统运行维护打下良好的基础。

2.2 教学内容

本实践课程实行小组式学习和项目导向性设计,3人一组,共同完成实践项目。项目名称为智能小车运动控制与触觉导航,实践类型为综合性的专业实验。

教学内容包括智能小车基本运动功能和触觉导航功能实现,以及对相应功能的拓展。

项目基本要求包括以下两点:①小车行进,即接通电源之后,小车可以进行前进、后退、左转、右转、加速/减速等基本巡航动作;②小车的触觉导航,即在行进过程在遇到障碍物时,可以自动转弯,进行躲避。

项目基本要求是学生必须实现的小车功能,另外鼓励学生在实现基础功能的基础上进行拓展。例如小车行进过程中,可以通过编程控制让小车实现循线和定点停车的功能;可以增加显示屏,显示运行中小车的速度;可以在行进过程中进行音乐播放或者语音播放;可以增加蓝牙模块,用手机操控小车的行进轨迹,等等。

选取智能小车作为实践教学的载体的原因之一就是智能小车项目的深度与广度可以具有比较大的自由度。

2.3 教学评价

本实践课程最终以考查的方法获得学生成绩,最终成绩包含平时成绩和结课考查成绩。

(1)平时成绩根据平时出勤和随堂表现给出。

(2)结课考查成绩包括两部分:①在实践课程结束时,以小组为单位进行智能小车的成品展示,按照基本功能的完成度和拓展功能的实现度给分;②以小组为单位提交设计报告,阐述设计原理,介绍设计结果。

3 教学效果

在教学过程中学生的热情比较高涨,课堂气氛非常热烈,主动学习意识比较高,但是也暴露一些缺点,在教学过程中做出了相应的对策。

(1)部分学生对模块的功能与模块间的相互链接了解不够深入。根据项目要求,学生需要完成智能小车的组装,除了智能小车车体与单片机模块外,还至少需要电机驱动模块和超声波传感器模块/红外传感器模块,才能实现小车的行走和避障功能。在实际教学过程中发现大部分学生在第二节课的时候以及完成小车组装,开始进入软件部分。在询问中发现部分学生对单片机端口,模块功能的了解不够深入,在小车组装部分花费时间较久。

(2)学生的团队协作能力有待提高。在项目完成过程中,团队中个成员应互相协作,共同完成作品,不能只依赖于某个学生。这就需要在过程中加强教学过程与评价的管理,每堂课都预先了解该组的进展并记录,作为平时成绩的一部分。在C语言编程部分,要求每个学生都参与到编程环节。

(3)有基础较好、完成度较高的小组,基础的行进功能与避障功能可以提前完成。在后续的教学过程中,会根据实际小车的功能模块,提出更高的要求,如循线、定点停车、走迷宫等机器人比赛项目,真正做到学以致用、以学促赛。

4 结语

智能是未来科技的发展趋势,将智能小车项目应用于实践教学中不但能将前期学过的C语言程序设计、单片机原理、传感器技术等知识很好地融合在一起,还能让学习更有趣味性,激发学生学习兴趣。在项目要求的驱动下,从科学性和实用性入手,在任务完成过程中学生通过自发学习实现了对相关知识和技能的掌握,真正实现“教-学-做”三位一体。

猜你喜欢
C语言小车单片机
单片机在电子技术中的应用和开发
“C语言程序设计”课程混合教学探索
大车拉小车
计算机中C语言的应用特点探析
刘老师想开小车
基于C语言的计算机软件编程技术探究
计算机原理中C语言的应用价值
去修理厂
C8051F020与80C51单片机的异同点
智能小车