Development of an augmented reality mobile physics application to study electric circuits

. The use of virtual teaching aids with AR technology in various areas of education, including physics, has been studied. The similarity between physical and electrical models has been established, and the development of a mobile app for studying simple electric circuits has been validated. The feasibility of developing the technique of augmented reality mobile apps has been established. The following milestones have been identified in the development of the augmented reality app: production of electronic models, installation of the game engine Unity3D, development of all program scenes, operation testing, and demonstration. The application of scenarios for electronic models rotation and movement has received special attention. In-house created augmented reality mobile app for mobile devices “Augmented reality program for studying the simplest electric circuit” has been offered. The developed mobile app reads, recognizes, and displays the product electronic model on the screen. It has been demonstrated that the augmented reality application produced by the author team as mobile teaching software can be used to complete assignments for students’ individual work as well as classroom studies at colleges. 1


Introduction
Rapid development of information computer technologies and their mass use in all spheres of everyday life and professional activity mainstream the need in their use in the educational process. Recently, the digital technology has made a great leap in development and expansion of the spheres of use. One of the teaching aid to help students in learning physics is the augmented reality (AR). AR is an attempt to combine the real and virtual world created with the help of computers so that the line between them becomes too fine [7,11]. Simply to interpret, the AR can be defined as a real environment added to the virtual objects [16,20].
At the outset of creation of the augmented reality, it was mainly used in the military and computer fields. Today this technology has entered virtually all spheres of social activity of a man: economics, medicine, education, architecture, advertising, etc. [4]. The tourist mobile apps (mobile tour guides) where the tips and interesting facts from the modern life and the past are displayed on gadgets by GEO tags and GPS have become common [24].
In its turn, each augmented reality mobile app uses virtual electronic models. A number of researches [3,26,30,31] show the comparative data of the used physical and electronic models.
3D physical models (figure 1) are used in the learning of physics to study the electric circuit et al. The use of physical models also has several disadvantages, such as: high cost, which leads to the purchase of models only from the basic topics of the discipline. In the process, models wear out and break their parts, and sometimes, due to inadvertence and difficulty in moving, entire models are destroyed. Usually, physical models belong to educational institutions and require special storage, which in turn makes it impossible for a student to constantly have free access to objects. These and other factors limit the possibility of the full use of models in the educational process. To solve these problems, it is advisable to use virtual models of products. They are easily using on mobile Internet devices with AR.
Having analysed the opportunity to replace the physical (material) model with the 3D electronic model in the course of learning, the researchers noted that the students felt comfortable with the electronic models.
Representation of digital models on tablets and smartphones is usually built upon the options of the augmented reality that is attracting the educational community more and more because it not only includes the most advanced technology but also helps the user protect against information overload. In contrast to multimedia and virtual reality, the AR represents the electronic objects as holograms superimposed on the real world [27]. The augmented reality partially supersedes the physical world that includes the additional digital information (for example, virtual flat and three-dimensional objects) to expand and simplify the perception of real models [18].
Even today the computer software and virtual laboratories give new opportunities for teachers and students in presenting the learning material and organising the educational process. Such technologies as virtual (VR) and augmented (AR) reality are leading in this area. They not only transform the abstract learning material in the interactive knowledge but also represent the information in the form of visual, voice and dynamic content [8,12,29].
Some studies show that using the AR technology in education can significantly increase the learning efficiency [14,15].
The augmented reality in the higher education is used in various fields of knowledge. In mathematics, it makes it easier to explain abstract models, visualizes mathematical objects and simplifies understanding their place and location in the space; in such subjects as physics, it helps modelling virtual laboratories reproducing the physical phenomena; and also promotes learning motivation in computer studies [25]. Such programs are used by students both in classrooms, and outside.
The augmented and mixed realities have become common in technical sciences as well. In [21], we have demonstrated own development for teaching students of technical faculties in the discipline "Engineering Graphics".
Cai, Wang and Chiang [10] have shown the use of the AR technology in studying chemistry for visualization of microscopic world of atoms, molecules and crystal lattices. Lu and Liu [24] describe the learning model on the basis of digital games that includes the augmented reality technology for primary pupils on the issues of marine ecology and water resources. They point out more qualitative memorizing of new information, better mastering the competencies and higher success level of pupils with low academic performance.
In social sciences, the augmented reality is used in studying history and subjects reproducing the patrimony. Such technologies make it possible to get to know about historical and cultural events of the region, promote for better memorizing of historical dates and events [23].
For the Altmeyer et al. [2], the AR seems to be especially applicable for giving information during experiments as it can be used for integrating both the physical and virtual laboratory work.
The efficient use of AR technology, including in physics, is verified by researchers from different countries of the world. Thus, according to the Ismail et al. [20], branches of physics, such as electrics and magnetism, are explicate and the students face difficulties in studying even the basic notions, as a result, the students treat physics as difficult and dull. The authors note that to develop basic understanding, it is better to use the information technology in the form of multimedia or software that gives an opportunity for the students to visualize the learning material.
Ibáñez et al. [19] show the experiment with senior pupils on checking the good influence of mastering knowledge in physics when the AR mobile app is used. As a result, the pupils that used the AR technology perceived the obtained knowledge better and quicker. In their turn, Akçayır et al. [1] studied the influence of using the AR on practical skills of students and proved that this technology had helped them to improve their knowledge and skills after doing relevant laboratory works. Most recently, Fidan and Tuncel [13] found out that the problem-based learning integrated with the AR had improved the success level of pupils and promoted their better attitude to physics. Therefore, physics as the discipline has been already focused on the augmented reality, and the researchers are common in developing the literature and AR software [9].
The literature review showed that the AR in the learning process of different countries had become widely used. The operation principles of mobile apps, their influence on qualitative indicators of the knowledge mastered by the students are described, but the basic instructions on development of similar programs are not given. That is why the objective of our research is to consider the method of creation of mobile app in physics to study simple electric circuits with the use of the AR technology.

Study results
The AR mobile app was developed on the PC with the following characteristics: Intel Core i5-4440, RAM 16 Gb, video card NVIDIA GeForce GTX 1050 Ti, network card, external universal webcam, installed Windows 10 (64-bit version).
The AR app is developed with the use of the AR platform Vuforia [33]. In the Target Manager account, we create a new database and upload a target image (figure 2) that is the electric circuit diagram with QR code being of practical value and used for program installation on mobile device. The target image is processed by computer vision aids and assessed according to the rating. The best images have 5 stars. They are quickly and qualitatively recognized by the application. Minimum recommended value is 3 stars. The database is uploaded from target images to Unity3D.
In these researches, we use Version 2018.4.15f1 (64-bit) Unity3D [32] for which installation we made additional settings of Android SDK [5] and JDK by Oracle [28]. These applications are necessary for proper compilation of the Android mobile apps.
At the initial stage of the mobile app development, we design the electronic models. These models are displayed on the screen of the mobile gadget when the program is in operation.
According to the electric circuit diagram (figure 2), the models of rheostat, amperemeter, voltmeter, current-controlled switch, incandescent lamp on pedestal, accumulator and connecting wires have been produced. Each electronic model consists of several parts that will interact when the mobile app works. For example, the rheostat model (figure 3) consists of ceramic base 1 with wire 2 wound. The base is attached to two supports 3 by bottom bar 5. Slider 4 moves along the top bar 5. Clamps 6 with washers 7 are intended to connect the connecting wires.  Such complicated models should have been developed in order the rheostat slider can move along the bar and the voltmeter pointer can go at relevant angle when the mobile app works. The glass is made transparent, and when the pointer goes, the grade values can be seen.
All electronic models for mobile app were designed in Kompas-3D [6] and then saved in the OBJ format. To make the models, other CAD programs, such as AutoCAD, Inventor or Solidwork, or 3D modelling programs, such as 3ds Max, Cinema4d, Maya, Blender, can be used.
The mobile app development is started with the main menu scene. In the hierarchy window, the standard cam is changed for AR, ImageTarget and component Canvas are uploaded. At own discretion, the following frame parameters are set: position, size, colour and transparency. By the Button command, we add the future menu buttons. We move, scale and rename them as shown in figure 5. In the program test run in Unity3D using the Play button, we will see the same image as given in figure 5. Once the button clicked, they are animated but no response occurs. For correct work of any objects (buttons), it is necessary to add a new component -a scenario to indicate which action is to be performed when activated. Switching between program scenes is implemented by the SceneManager script: This code has the derived public class LoadScene. The public method Public void SceneLoader() describes the variable int SceneIndex that makes the script universal for switching between all program scenes by specifying the relevant scene number. Once the Button clicked, the SceneManager command is activated and implements switching to the specified scene number.
Each area is implemented in the form of individual scene. The development of the first scene is started by uploading the Canvas component. The color and transparency of the Panel tool are set. Using the Button command, the buttons of theoretical information about the lamp, amperemeter, voltmeter, rheostat, current-controlled switch and accumulator are added. We move, scale and rename them as shown in figure 6. The theoretical information about each element of the diagram is given in the ScrollView components. By default, the ScrollView components are located outside the scene and invisible for viewer. The effect of ScrollView displaying from the top to the mid-screen once the relevant button is clicked is implemented by the Animator component. To do this, two animations for displaying and hiding the theoretical information were recorded. For each ScrollView, the Animator component was added and the ScrollViewHL animation controller responsible for animations was selected (figure 7). In order the program understands that once the required button is clicked, the proper theoretical information is displayed in the scene, it is necessary to select Animator.Play in the button settings in section On Click () and upload the displaying object, for example, the Scrol-lViewHL(Animator) component containing information about the lamp, as well as to write the displaying animation ScrollViewHLOpen (figure 8). The hiding effect of the ScrollView components is implemented in a similar way once the "Back" button is clicked.
The next development stage of the application is scene design based on the theory checks. Figure 9 shows the test scheme. This scheme is activated by the information button .
The operation principle of the theory checks section is as follows: the buttons with conventional symbols of the electric diagram elements are to the right of the screen. Once the button is pressed, the list with equipment images drops down from the top part of the screen. The equipment image corresponding to the conventional symbol can be selected using the slider. Once the selected image is clicked, there can be two options: 1) incorrect answer -appears on the screen of the gadget and there remains an option to continue selecting the equipment to correspond to the conventional symbol; 2) correct answer -appears on the screen of the gadget; the list with equipment images is hidden in the top part of the screen, and the electronic model of the device is displayed in the proper point of the scheme.
Designing the theory checks scene is similar to the theoretical information scene. The development was started with uploading the electronic models of tables and figure of the electric diagram. The electronic models of rheostat, amperemeter, voltmeter, current-controlled switch, lamp on pedestal and accumulator were uploaded to the diagram. All models, after being scaled up, were placed according to their symbols. By default, the models are inactive, that is invisible. Then, the Canvas component is added and the transparency of the Panel tool is set. Using the Button command in the Canvas right part, the buttons are added and the conventional symbols of the electric diagram elements superimposed on them. The displaying effect of ScrollView with equipment options is implemented by animation according to the above method. The equipment images in ScrollView are made via the Button command. Figure 10 shows the Button settings in section On Click () by the example of the correct answer. Once the Button is clicked, the first lime of commands is activated -animation of ImageTrue, symbol (ImageTrue (Animator)) in Animator.Play. According to the animation, the picture is scaled up to normal sizes varies and scales down to invisible sizes. After the first animation is completed, the second line of commands is activated -the program refers to settings GameObject.SetActive of the object Lampa and displays (represents) it in the scene. Then, the third line of commands is activated -the AnimScrollViewClose is implemented to provide hiding of ScrollViewHL(Animator) to the top part of the screen.
The result of successful passing of all tests is the representation of electronic models in the correct symbols of the scheme (figure 11). The operation principle of the last part of the application is as follows: the observer sees the displayed electronic models of the electric circuit equipment placed on the table. There is a prompted button in the right top part of the screen advising what is performed at this step. By clicking the buttons, the red connecting wires to be connected to the relevant terminals of the equipment gradually appear. In case of repeated connection of the circuit, there will be an inscription on the button offering to close it. At this step, the current-controlled switch goes back to the horizontal position, and the slider will appear under the button. By moving the slider to the right, the rheostat slider will also move along the upper guide. At this, the voltmeter and amperemeter pointers are deflected from their initial positions, and the light intensity will increase. The made electrical circuit of the program is shown in figure 12.
The development of the practical training scene is started by loading the electronic models of tables and components of the electric circuit. All the equipment is scaled up and placed as shown in figure 12. Connect the clamps of each device in series using the red connecting wires. By default, the wires are inactive, that is invisible. The Canvas component is added and set up. The information button is activated by the Button command that includes the display of the Panel tool with the instruction on the section operation. The "Back" button operates via the SceneManager script and forwards the user to the main menu. In the right part of the Canvas, using the Button command, the buttons for in-series connection of all elements of the diagram are added. The first button "Connect battery to lamp" is active and visible for the observer. Other buttons, such as "Connect voltmeter to lamp", "Connect lamp to amperemeter", "Connect amperemeter to rheostat", "Connect rheostat to switch", "Connect switch to battery" and "Close the circuit", are superimposed and inactive. The operation principle of the buttons is as follows: once the active button "Connect battery to lamp" clicked, the commands of On Click () are activated ( figure 13). The first line of commands refers to the settings GameObject.SetActive of the object Ka-bel1 (connecting wire from the battery to the lamp) and displays (represents) it in the scene. The second line of commands also refers to the settings GameObject.SetActive of the object ButtonLampa-Voltmeter only (the button "Connect voltmeter to lamp") and also represents it in the scene. According to the same principle, the last line of commands inactivates the button ButtonAcum-Lampa ("Connect battery to lamp"). In a similar way, other buttons for connection of the electric circuit with the connecting wires are set up.
The click set-up of the last button "Close the circuit" is shown in figure 14. Once the Button is clicked, the first lime of commands is activated -animation SwitchClose of the object (Electric Knife switch (Animator)) in Animator.Play. According to the animation, the handle of the current-controlled switch rotates around the axle and closes the electric circuit.
The second line of commands refers to the settings GameObject.SetActive of the object Point Light (point light of the lamp) and makes it active. Therefore, now we can turn on, change the light intensity and turn off the light.
The third line of commands refers to the settings GameObject.SetActive of the object Button-Start (the button "Close the circuit") and represents it in the scene.
In a similar way, the last line of commands activates the Slider. At this development stage, nothing occurs when the Slider moves. For proper settings of the slider, the following tasks should be solved when it moves: 1. Synchronous movement of the rheostat slider. 2. Rotation of the voltmeter and amperemeter pointers to the required indications. 3. Change of the light intensity using the Point Light aids.
The movement of the rheostat slider when the Slider moves is implemented as follows. The slider consisting of two parts, a carriage and a contact, was taken from the electronic model of the rheostat assembly. The positions of these parts were set so that z axes were directed along the rheostat and the following script was written: Writing the scenario on movement of the rheostat slider is started by writing public class Karetka and introduction of two public GameObject -ReostatKaretka and ReostatKontakt. In the public method public void SliderChange(), the parameters are specified in the form of float data with the data name newValue. Local coordinates of the carriage of the rheostat slider ReostatKaretka.transform.localPosition are saved as the coordinates Vector3 named posKaretka. The object ReostatKaretka will move exclusively along the z axis, that is why this coordinate posKaretka.z has a new assigned data value newValue. The new coordinates for ReostatKaretka.transform.localPosition are saved as posKaretka. The similar line of the script is also written for the second part of the rheostat slider -the contact (ReostatKontakt). As the Slider is the Canvas object, the script is added to this component and the public objects ReostatKaretka and ReostatKontakt are assigned. In the settings Slider, section On Value Changed (Single) for the script Canvas (Karetka), the relevant function Karetka.SliderChange is selected Now, when the slider moves to the right, the rheostat slider will also change its position along the rheostat.
When the rheostat slider moves, the electric circuit resistance changes and the amperemeter and voltmeter pointers are deflected from their initial values. This effect can be implemented in the mobile app as follows. The electronic models of the amperemeter and voltmeter pointers are taken out of the assemblies and set in the required place of the scene. At this, the centres of coordinates of each pointer go from the centers of the axes of rotation, and the axes match the axes of rotation. The pointers are rotated by the following script: To upload the pointer models in the game engine, two public objects Voltmeter (for the voltmeter pointer model) and Ammeter (for the amperemeter pointer model) are written.
Two variables "float angleVolt and angleAm" that define the numerical value of pointer rotation are entered. In the method Start(), the coefficients of initial values of the pointer rotation that depend on the turn of the coordinate system of the pointers relative to the global coordinate system of the scene. In our case, they represent -41f. Therefore, the pointers in both cases will indicate zero values on the grade.
For slider operation, the method Slider() is written for which the parameters are specified in the form of float data with the data name "speed". In this method, the pointer angles of rotation will be calculated depending on the slider value. The formulas for calculation of the pointer angles of rotation are as follows: for voltmeter -angleVolt = -41 -speed * 90 / 155; for amperemeter -angleAm = -41 -speed * 60 / 155. These formulas were obtained through the experiment according to the data of the real electric circuit (figure 1).
To rotate any GameObject, the quaternion saving the Transform rotations in the space should be changed in the Transform properties. Turning the object at the specified angle is made using the Euler quaternion (Quaternion.Euler). In our case, the objects (the voltmeter and amperemeter pointers) turn around the Y axes only, that is the angles of rotation around the X and Z axes make 0 degrees. Therefore, the line of script for turning the voltmeter pointer appears to be as follows: Voltmeter.transform.rotation = Quaternion.Euler(0, angleVolt, 0); The similar line is also written for turning the amperemeter pointer: Ammeter.transform.rotation = Quaternion.Euler(0, angleAm, 0); Enter these two lines into the function Update(). Now, the voltmeter and amperemeter pointers will turn at the specified angle after each movement of the rheostat slider.
The last task on changing the light intensity while the rheostat slider is moving is implemented by the means of the Point Light object. The point light is an internal Unity3d object and its properties have already contained the light intensity parameters. Therefore, it is sufficient to link the light intensity to the Slider object. To do this, one more line to be performed is added in the settings Slider, section On Value Changed (Single), and then the Point Light is added where the Light.intensity is selected.
Hence, when the Slider moves, the rheostat slider is moving in the proper direction, the voltmeter and amperemeter pointers are deflected at the specified angle and indicate the effective voltage and current values, and the light intensity also changes depending on the indicators.
According to the above method, the last scene with information about the mobile app authors is created, and the installation file for Android is compiled.
The operation and main options of the mobile app can be seen in the demo video "Augmented reality program to study the simplest electric circuit" [34].
According to the test results, it can be concluded that the program operates correctly on the phones both based on Android 5.0, and on the newer systems irrespective of the processor type, screen matrix and memory capacity. Therefore, the mobile app "Augmented reality program to study the simplest electric circuit" developed by us reads and recognizes the electric circuit marker and displays the main menu on the mobile device screen. At this, the virtual object is correctly located relative to the marker, and once the buttons of sections clicked, the relevant scenes for theoretical training, assessment of received knowledge and acquired practical skills for making the simple electric circuit are loaded.
The described mobile app development method makes it possible to implement a number of challenges of the modern educational process for comprehensive learning. It is possible to learn the electronic models design after studying such disciplines as "Engineering Graphics" or "Descriptive Geometry, Engineering and Computer Graphics". "Advanced Mathematics" is the basis for script writing. It is possible to learn reading the electric circuits and make the electric circuits when studying the course "Physics" [17]. This Instruction can be the foundation for successful future professional activity of the students of technical specialties in the electronic model development; promote learning motivation and individual work efficiency by making the learning process attention-getting and interesting, especially after development of own learning aid of new generation; and the mobile app provides the students with the opportunity to master practical skills and research experience by using own gadget.

Conclusions and perspectives of further research
The literature review has shown the wide use of the AR technology both in social spheres of the human activity, and during study. The scientists all over the world give the research results where the AR improves the performance of students in humanitarian and technical disciplines. It appears that the most common areas of use of the AR technology are mathematics, chemistry, physics, ecology, astronomy, engineering graphics, history, etc.
Many researches show the reasonability of using the electric models as learning aids, as a man equally perceives physical and electronic models. However, the electronic models have a number of advantages in contrast to the physical models, thus proving the reasonability of description of methodology and creation of applications for mobile devices using the AR technology.
The analysis performed for the 3D modelling programs has given an opportunity to substantiate the choice of digital product with open code. The main steps of installation of the game engine and additional components, including the Vuforia Augmented Reality platform, have been demonstrated. The stages of the scene development have been provided. Writing scenarios (scripts) with detailed decoding of each line has been particularly focused on. The ready program has been tested by students on mobile phones with different specifications while preparing for classroom learning in physics on the topic of the simple electric circuit. The demo video demonstrating the program operation and main features has been also created. The demonstrated experience in the development of the augmented reality program in physics will be useful for teachers in writing own applications.
This article describes the methodology of development of the mobile app using the AR technology only on the one topic of physics. In the future, we are going to create a full-pledged electronic complex (virtual physics laboratory) to include the theoretical part, tests and exercises for modelling physical phenomena and experiments.