1. Introduction
1.1. Education Innovation
With the wave of informationization sweeping into all areas of society, the education system and model have also been greatly affected, and the main position of students in learning has greatly improved. However, in actual teaching, various surveys show the limitations of multimedia in presenting information. If the level of students is uneven, the teacher cannot balance the speed at which each student browses and understands the knowledge points. Therefore, the teaching progress cannot meet the needs of some students’ demand. Especially in the subject teaching that relies on multimedia comparison, learners often learn in a passive learning environment, can only follow the teacher's progress, watch the teacher's operation, it is difficult to achieve independent thinking and exploration, not really integrated into the fun and interesting In the classroom.
At the same time, the rapid development of technology has led to the widely use of virtual reality (VR) technology in the field of education. Many experts believe that the integration of virtual reality technology into teaching is a milestone in the development of information technology [1]. It not only overcomes some of the shortcomings of multimedia technology in the teaching process, but also changes the single study atmosphere. Students understand the meaning of abstract knowledge and enjoy a free, open and enjoyable classroom through the interaction with virtual scenes.
1.2. Learning Object Selection and Overall Design
Nowadays, the application of virtual reality in teaching has spread to history, biology, chemistry and other disciplines, but the simulation software of circuit teaching has always stayed at the stage of two-dimensional simulation [2]. “Digital Electronic Technology Foundation” is an important course in the electronic-majors. This course is a compulsory course of entry-level technology. It has its own system and characteristics―not only deep theory, but also very strong practical [3]. Digital circuits involve a wide range of topics, in addition to playing a pivotal role in the learning of electrical and electronic information, and the widespread use of this technology can be seen everywhere in daily life.
Due to the importance of the course, almost all electronic-related majors in universities have opened Digital Electronics and its experimental courses. Teaching resources and laboratory resources are relatively strained. Because of a limited classroom time, teachers may not be able to balance all students, leading to difficulties for students who have no basis in logic circuits to learn. Another feature of Digital Electronics Technology, extremely practical, cannot be fully reflected due to limited laboratory resources, or because the laboratory schedule is too full, students cannot have enough time to verify theoretical knowledge; and many unnecessary troubles are caused by the aging of the equipment.
Based on the above situation and combining the advantages of virtual reality technology, this paper takes "Digital Electronic Technology Foundation" as the learning object to builds a three-dimensional virtual teaching system. This design takes the basic course in the Digital Circuit as the core, and selects the representative “combination logic circuit” and “D flip-flop” as the learning content, corresponding to the half adder, full adder, full reducer, and comprehensive experiment of four people competition answer device. The teaching system consists of three modules: theoretical learning module, experimental module, and test module. This paper mainly uses unity3D to achieve environment construction, uses C# script to achieve specific interactive functions. and uses the industrial modeling software Rhino to build a complex experiment box model. The functions of the virtual teaching system mainly include: virtual classroom environment, experiment box function simulation, connection control, power switch, chip function prompt and simple test function.
Designing a complete virtual teaching system requires the following four aspects: complete functions, fine internal structure, real experimental principles and correct simulation phenomena [4]. A lot of preliminary work is needed for this purpose, and the development process and sequence are shown in Figure 1.
2. Model Construction
This design separates the static part that does not need to interact with the part that needs to interact. The static part is the classroom environment, and the interactive part is the experimental circuit box. Because the model part of the classroom has many shape and model materials online, and the demand of accuracy is not too high, it is completed by the modeling function provided by unity3D, which can save a lot of storage space and greatly facilitate operation, and do not worry about lost problem when model importing. The experimental part of the circuit box model is unique to this design, no online material, and the structure is complex, the objects are numerous, so the professional industrial modeling software Rhino is used for modeling.
When using the unity3D to build a classroom environment, we need to pay
Figure 1. 3D virtual teaching system development process.
Figure 1. 3D virtual teaching system development process.
attention to the choice of light source and the uniformity of materials. Since the teaching system only involves indoors, the point light source and spotlight can be selected to restore the scene better [5]. When the light source is determined, in order to save resources and facilitate modification, we can use unity 3D’s baking function to fix the shadows, making the classroom more realistic [6]. The result of the construction is shown in Figure 2.
The experiment box is the center of the whole experimental operation, and it is also the focus and difficulty of this modeling. This design uses Rhino's powerful surface modeling function to design the MY-226E digital test box. The electric test box contains a wide variety of experimental components. These models have different shapes, different materials and different colors. Different methods are needed to create the rendering. At the same time, the selection of the model material is also essential, such as the LED lights are set to a transparent glass material with diffuse reflectivity, and the switch and the box part are made of impervious metal material, so that the whole can better restore the real object [7]. The box model is shown in Figure 3.
Unlike the experimental box, the experimental chip must ensure accuracy while being aesthetically pleasing. The function chip involved in this experiment is divided into fourteen pins and sixteen pins, including 74LS175 synchronous
Figure 2. Virtual classroom environment.
Figure 3. Digital circuit experiment box.
four D flip-flop, 74LS04 inverter, 74LS08 two-input NAND gate-chip, 74LS20 four-input NAND gate-chip, etc., the arrangement and position of the test chip's pins and wires are designed by scaling the data according to the real chip scale, as shown in Figure 4. It is worth noting that each port pin label name is distinguished in the modeling. In the later circuit connection, the name of each model is used to obtain the pair. The object is identified and named, so the object's name must be able to uniquely identify the object.
3. Virtual Teaching System Function Realization
The main functions of this design are shown in Figure 5. The key points and difficulties are in the functional simulation of the experimental box. The following describes the implementation of each function one by one.
3.1. Learning Module
Unity3d’s own First Person Controller component makes it easy to implement the first-person view roaming classroom [8]. Drag the First Person Controller into the Hierarchy panel, then create a capsule object in the scene, and attach a camera to the capsule body, place it on the terrain, and pass W, S, A,
D (or Keyboard direction key) Controls the direction of the person’s movement. By moving the mouse to look around the classroom, pressing the space bar to jump [9]. This is the first scene for users to enter the learning system. First-person roaming helps to improve the immersive experience and greatly increase students’ interest in learning.
Courses can be learned in a variety of ways, including videos, PowerPoint or other forms. Considering that most of the universities are now explained in PowerPoint because the PowerPoint have more resources, and it is convenient for uploaders to modify and add learning content, this design takes PowerPoint learning as an example. When the user clicks “Start Learning”, the selected course name appears. The course is selected by the following Ray() function, where 0 corresponds to the left mouse button, 1 corresponds to the right button, and 2 corresponds to the middle button [10]. Take the study of study1 as an example:
If(Input.GetMouseButtonDown(0)) //Monitor mouse button press
if(Input.GetMouseButtonDown(0)) //Monitor mouse button press
{print(1);
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//Create a ray
RaycastHit hit;
//Save the object information that the ray collides to in the hit
if(hit.transform.gameObject.name == "study1")
//Detect click to "study1"
{index = 0;
image.sprite = studyimage1[index];
choosedImage = studyimage1;
image.gameObject.SetActive(true);
// Show the first picture of the course slide
ClosePlayer();} // Close the first person controller and enter learning
After all the pictures have been played, choose to return or enter the experiment:
public void Return()
{gotoButton.SetActive(false);
image.gameObject.SetActive(false); // Close the PowerPoint
OpenPlayer();} // Open the first person controller
public void GotoNextScene()
{SceneManager.LoadScene("Scene2");} // Enter the experimental scene
3.2. Circuit Box Initialization
The initialization of the circuit box includes: 1) defining the AND, OR, and NOT-basic arithmetic symbols to prepare for the subsequent implementation of the chip; 2) chip pin settings, according to the actual situation, each chip can work normally only when correctly connected to the power supply and ground; 3) Define the basic connection rules, such as each LED light can only correspond to one output, one switch can correspond to multiple inputs, and can not be connected repeatedly. The pin setting is implemented by checking the key&value value. The wire check can be implemented by traversing the attribute value. The specific script is as follows:
public static ChipJack operator + (ChipJack data1, ChipJack data2)
{if (data1.data == 1 || data2.data == 1)
return new ChipJack { data = 1 };
return new ChipJack { data = 0 }}
//Define the "and" operator
public virtual void CheckIsCanUse()
{isCanUse = false; bool ispositive = false;bool isnegative = false;
// initialize
foreach (var jack in CircuitBox.Instance.connectedJack)
// change the chip holes and judge them one by one
{if(jack.Key == positiveInput && jack.Value == positive)
{ispositive = true;} // The power cord is connected correctly
else if(jack.Key == negativeInput && jack.Value == negative)
{isnegative = true;}// The ground wire is connected correctly
if (ispositive && isnegative)
isCanUse = true;
// The chip can work normally
if (nowchoose != lastChooseJack)
// If the two selected pins are the same
{if (lastChooseJack.isInput == nowchoose.isInput)
// Determine whether it is all input
{OpenTip("Do not allow this connection line!"); }
3.3. Chip Function Implementation
With the definition of basic operators and chip pin settings, the implementation of the combined gate chip becomes very easy. For example, the input and output relationship of the 74LS20 can be expressed directly by an expression:
chipoutput[0].data = (!(input[0] * input[1] * input[2] * input[3])).data;
For the 74LS175 involving the D flip-flop, we need the InvokeRepeating() function to simulate the clock signal, and the clock signal can be looked as an input condition [11].
if (clockinputdata == 0 && input[2].data == 1)
{isGetUp = true;} // judge the rising edge
if (isGetUp)
{ chipoutput[0].data = input[1].data;chipoutput[1].data = (!input[1]).data;} //Upward edge assignment
else
{chipoutput[0].data = olddata1[i]; chipoutput[1].data = olddata2[i]; }
//Otherwise keep the original data unchanged
3.4. Secondary Function
According to the author's observation and daily experiment experience, this experiment box is designed with two additional functions: 1) In order to facilitate the experimenter to select the chip, by placing a Screen Controller script on each chip, it can be realized when the experimenter clicks on a certain chip. The corresponding pin map can appear on the screen. This can save users time to find data so improve learning efficiency. 2) In order to cultivate a good habit of the student that power-off operate, all the inputs are read and have corresponding outputs only when the “power on” is clicked. The implementation code is as follows
public class ScreenController : MonoBehaviour
{public Texture tex; // tex is the pin map corresponding to the chip
public Material mat; // mat is the display material
void OnMouseDown() // mouse down
{mat.mainTexture = tex;}}// Assign the corresponding pin map to the display
public void OpenPower() // turn on the power
{CancelInvoke("CheckAnswer");
InvokeRepeating("CheckAnswer", 0, 0.002f); }
// Check the input every clock cycle due to the timing circuit involved
3.5. Test Module
The test module takes five multiple-choice questions as an example, and uses the simplest loop algorithm to achieve the right and wrong judgment
{int i = 0;
(int j = 0; j < toggle.Length; j++)
{if (toggle[j].isOn)
i++;} //Note check
if (i < 3)
Text.text = "Answer right" + i + " Question! Don't be discouraged, pay attention to knowledge consolidation.";
else if(i<5)
Text.text = "Answer right" + i + "Question! Not bad, pay attention to targeted exercises after class~";
else
Text.text = "Answer right" + i + "Question! Very good, pay attention to review in time~";}
// different advise for different number of correct
4. Testing and Evaluation
Run the program and test some of the functions, as shown in Figures 6-8. The following test results show that the system already has the basic functions of a virtual teaching system.
Enter the main learning interface, click “Start Learning”, students can choose the course to be studied on the blackboard, after selecting the course, the perspective Fixed as a slideshow. After the study is over, click the button to enter the experiment section, as shown in Figure 6.
The experimental process takes the chip 74LS04 as an example. After the connection is completed, click “Power On” to display the correct experimental phenomenon, as shown in Figure 7. Complex comprehensive experiments with sequential circuits can also get correct results.
Click the test paper test to enter the test section. After the selection is completed, click Submit. The correct answer appears on the right side of the interface. After the learner checks, you can choose to review the course or to exit, as shown in Figure 8.
5. Conclusions
The design achieved the following achievements:
1) Developed a visual interface with strong interactivity and operability, which basically fulfilled the requirements of the teaching system. For students, the learning style becomes self-help and free. For developers, the software is easy to
Figure 7. 74LS04 chip operation results.
use and the teaching content is easy to modify. I recommended to the students around to try and get better feedback.
2) Using Rhino software to build a large number of digital circuit experimental virtual instrument models, from the internal structure to the shape in order to achieve the real restoration, the virtual instrument layered and processed by mapping and rendering, improved the virtual laboratory’s realism.
3) Studying the specific implementation technology of virtual laboratory development tools, and giving the innovation model of the construction laboratory, that is, building functional modules one by one based on the whole system framework. The operation mode completely follows the author’s imagination and completes the true meaning. Electrical experiment 3D virtual simulation. Accurate logic control of virtual instruments and objects in the scene, including scene angle control, collision detection, interface jump, switch control, connection control, and output phenomenon control, realizes reasonable display of experimental phenomena, and builds more reasonable digital circuit 3D virtual laboratory.
4) The publishing platform is diverse. In the later stage of development can be uniformly released into an application on a computer, or can be published to an Android platform or a network platform for the user or the experimenter to learn.
However, my system also has many shortcomings in the development process. For example, due to time problems, the model cannot be made more realistic, and it can’t join a more realistic interaction mode such as teacher-student interaction and student questioning. The experimental operation mode also has some areas to be improved. At present, the experimenter can only perform experimental operations with a fixed angle of view, and the 3D model is real, but the model is too large and takes up a lot of space, which is difficult to perform as powerful as a professional circuit simulation software. However, the original intention of the development of 3D virtual interactive technology is to improve the quality and efficiency of experimental teaching in higher education, and to develop the phenomenon of low interest and low enthusiasm for students. This is also the initial goal of this design. I believe that with the continuous improvement in the future, virtual teaching will become a backbone of future higher education.