基于Unity技术的数字电路虚拟仿真教学系统
2023-07-10孙沫丽李伟光李倩等
孙沫丽 李伟光 李倩等
关键词:Unity;虚拟仿真;数字电路
中图法分类号:TP391 文献标识码:A
1引言
数字电路在各大高校的实践教学中占有重要地位。目前,电子技术型人才稀缺,技能要求严格,在这方面提高学生的动手能力及认知水平刻不容缓。传统的实验需要在实验教师的带领下,在规定好的时间、地点,按照规定的内容和流程进行实验,导致学生的学习时间不能被灵活掌控。另外,实验手段单一,实验现象展示不够形象化,学生被以“填鸭式”的方法接收电路原理并重现过程,书写千篇一律的实验报告,学生学习兴趣低落,对知识和技能的理解不够深入,学生的实践能力也得不到有效提升。同时,实验设备稀缺、老化、价格昂贵,设备更新换代,安全事故等也是目前面临的主要问题。
目前,电学类的二维虚拟仿真软件相对成熟,如protel,multisim.viewlogic等。但是二维仿真软件大多只注重电子元器件符号的连接,相当于将书本上的电路图搬移到计算机上,仍然不够真实,初学者在不懂专业术语或专业技术的情况下上手困难,大大降低了学习者对仿真实验的学习兴趣。为提升虚拟实验的沉浸感和交互性,面向电学领域的三维虚拟仿真实验室的研究势在必行。
本文研究的目的是采用Unity技术设计研发一套数字电路虚拟仿真教学系统,切实解决实验室设备短缺、设备老化、更新换代等实际问题,缓解学生课余时间进行实验与实验设备、实验场所紧缺的矛盾,同时为实验室教师演示、讲解实验过程提供了便利,丰富了教学手段,提高了教师的教学效果。
2虚拟仿真教学系统的设计
2.1采用的技术
采用虚拟现实技术、3D模型设计与制作技术、Unity游戏引擎结合数字电路的基本原理,设计研发出数字电路虚拟仿真教学系统。总体来讲,即采用虚拟现实设备,如以VR配套设备或者终端计算机作为操作媒介,采用3D模型制作技术对数字电路的实验箱、电子元器件等进行模型的设计与制作,使用Unity引擎技术实现实验场景的搭建,即把数字电路的逻辑引入相应的模型,用程序实现模型的内部逻辑、UI交互,为实验者提供友好、逼真的交互界面,达到高度仿真的目的。
2.2总体设计思路
本系统从需求分析、技术可行性和仿真内容3个方面进行分析,设计思路框图如图1所示。
3虚拟仿真教学系统主要功能的实现
3.1三维模型的构建
根据虚拟仿真教学系统的设计要求,三维模型的设计内容主要包括实验箱、导线端子插槽、芯片插槽、LED灯、输入开关、芯片、数码管、总开关和电源指示灯、导线等。采用3DMAX建模软件进行模型的设计,在建模过程中,结构的整体部分根据前视图来制作,细节部分根据实物进行调节。根据实验设备的特点,在模型设计过程中对活动关节的部件进行分离设计并组合,以方便后续程序控制部件的关节活动。不同的模型根据系统的不同要求进行设计,比如芯片插槽是一个黑色塑料零件,用于插入芯片,上面带有芯片引脚的插口,将芯片放上去时芯片的引脚就正好落人对应的插口中。这个插口与导线端子的插口不同,比较小。芯片插槽侧面有用于识别芯片安装方向的小缺口,与芯片上的小缺口对应,在导人模型时注意方向。芯片插槽设计如图2所示。
3.2虚拟仿真教学系统核心功能的实现
3.2.1系统功能总体設计
虚拟仿真教学系统主要划分为4个仿真模块,分别是:组合逻辑电路设计、数据选择器、简单时序电路以及计数器模块。根据4个仿真模块的实验需求,需要仿真的模型主要包含实验箱,芯片、电源、开关以及LED灯等。使用Unity导人模型并进行实验场景的搭建,通过程序实现各个模型的交互功能并进行测试。系统功能总体设计如图3所示。
3.2.2实验箱功能设计
实验箱是所有数字电路实验的主要操作对象,其内部结构复杂,需要仿真的功能包括电源、时序电路输入、芯片插槽、LED灯、开关组等。通过Unity导人实验箱模型,为仿真模型建立对应的类并实现其交互功能,以芯片插槽为例,芯片插槽根据芯片的引脚数,设计为14引脚、16引脚以及20引脚3种,设计的类根据不同的引脚创建不同的插槽对象。类的功能包括对输入和输出引脚的定义,以及电源引脚的定义等。
3.2.3芯片功能的设计
芯片是数字电路实验的主要操作对象,芯片的选择根据实验需求决定。比如,要实现组合逻辑实验中的与非门仿真实验,则需要74LSOO与非门,一个芯片包含4个与非门。为仿真模型建立对应的类并实现其交互功能。不同的芯片,内部逻辑结构不同,首先根据引脚数和芯片的型号确定芯片的类对象,并实现芯片的逻辑功能。不同的引脚代表不同的功能,比如芯片74LSO0,内部包含4个与非门,其中1,2,4,5,12,13引脚为输入端,3,6,8,11引脚为输出端,7为地端,14引脚为电源VCC端,芯片类内部实现的功能是检测各个端子的连接情况,并进行与非的逻辑转换并输出,对芯片进行仿真。
3.2.4导线的连接方案设计
导线的连接是数字电路虚拟仿真的关键环节。导线设计、连接方案以及连接算法是本文的研究重点。导线采用贝塞尔曲线进行设计,通过鼠标设计连接锚点,当锚点碰撞到实验箱上面的插槽端口将进行自动吸附,单击鼠标左键确认是否连接某个端子。需要设计导线的类,功能包括连接导线,删除指定导线,堆叠连接导线,导通电流算法等。导通电流的算法主要采用数据结构中图的递归算法实现电流导通功能。
4虚拟仿真教学系统的实践
以组合逻辑电路实验的实践过程为例,对图4中指定的实验内容进行实践和仿真,根据电路的相应结果测试仿真教学系统的结果如图4所示,根据实验要求进行电路设计,得出电路公式并绘制电路图,确定需要的芯片,根据题意,只要选择一片74LSOO即可满足实验要求,根据引脚的含义通过导线进行连接,输入端为A,B,C,输出端为Y,根据A,B,C的组合输出Y的值,经虚拟仿真教学系统进行测试,结果完全满足实验要求。
5结束语
数字电路虚拟仿真教学系统采用建模技术、Unity技术、仿真技术等,构建了数字电路实验虚拟仿真的实验环境,有效解决了高校师生“数字电路”课程实验设备短缺、实验机会较少、实验操作不便等实际问题,随着信息技术的快速发展,线上教学模式已经逐渐普及到各大高等院校中,使得在线教育成为必然的趋势。对于量大面广的“数字电路”实验课程,开发基于Unity技术的虚拟仿真教学系统对提高线上、线下“数字电路”实验教学,实现教育现代化具有重要意义。
作者简介:
孙沫丽(1980—),硕士,副教授,研究方向:计算机科学与技术。