Project-Based Learning Technology: An Example in Programming Microcontrollers

This article presents the technology of the organization of project-based learning in programming microcontrollers at the faculty of information technology (L.N. Gumilyov Eurasian National University). Based on the analysis of scientific-methodical and normative documents, scientific articles was developed a structural model of the organization of the project-based learning in programming microcontrollers. All the processes of the project development life cycle and the role of each member of the project team were described in stages. In the process of developing the project, students faced various difficulties and found ways to solve them. After the project-based seminars, the participants received an unforgettable experience in working with the team, applied the theoretical knowledge in practice to solve real problems.


Introduction
Teaching of a programming of microcontrollers has an applied character and involves the implementation of training projects. Work on projects using microcontrollers enables the teacher realizing educational goals by attracting knowledge from other areas (programming, physics, mathematics, mechatronics, electronics and others), to introduce creativity into the educational process [1].
The analysis of the current state of teaching in higher education in the context of digitalization [2][3] showed that project-based learning should not be considered in the form that has been available in traditional pedagogy since the last century. The format of the organization of project training requires a change, taking into account modern digital tools and time management. Research Methodology and Design This article presents the experience of organizing a project-based learning in the programming of microcontrollers. Based on the analysis of scientific, methodological and normative documents [4][5][6][7][8][9][10][11][12][13][14], educational activities in microcontroller programming were systemized, which determined the need for structuring educational activities in accordance with the project activities in the design of technical systems (Figure 1).

Results
Let us consider a block structural model of the organization of the project-based learning instruction in microcontrollers programming. According to the` block named "Organization of the project" at the beginning of the project there was formed a group of students taking into account their interpersonal relations and interests. When forming a project team, depending on the specifics of the project, the composition of the project team was determined: project manager, engineer, and programmer.
There was performed a selection of the project taking into account the characteristics of the basic components of the microcontrollers. As the training platform, we chose the Arduino microcontroller. The distinctive features of the Arduino microcontroller are simple and understandable programming environment Arduino IDE, cross-platform and open source software [15]. Therefore, projects based on the Arduino microcontroller were proposed: "Smart parking", "Smart garden", "Smart home". The topic of the project "Smart parking" was chosen in accordance with the collective interests and individual characteristics of students.
The problem statement was developed during the discussion of the project, taking into account digitalization and solving urban problems. The project team decided to solve the problem of overflowing city car parks.
Thus, the goal of the project is: development of the "Smart parking" based on the Arduino microcontroller.
In accordance with the goal of the project, the following hypothesis was formed: if you automate parking based on systems to notify drivers of available seats, it is possible to control the occupancy rate of city car parks and optimize the use of parking lots.
In accordance with the features of the work carried out within the project the next step was to determine the structure of work. The participants of the project team identified the tasks of the project and, depending on the skills and knowledge of each student, assigned tasks to each other: • Collection and study of information about parking places in the country, current status and functionality (group work; 1 st lesson) • Determination of the functionality and appearance of the project (group work; 1 st lesson) • Design of the project "Smart parking" (engineer; 2 nd lesson) • Programming of sensors, servos and other details of the project "Smart parking" (programmer; 2 nd lesson) • Testing and debugging of the software and technical parts of the project (group work; 2 nd and 3 rd lessons) • Preparation of the passport and project presentations for public protection (group work; 4 th lesson) • Public protection of the project (group work; 5 th lesson).
In total, the implementation of the trial project took 5 lessons. The duration of each lesson was 50 minutes. Most of the time was used to develop and test the project.
The study of the resource capabilities of the microcontroller is one of the important stages of the project. In the previous stages, the project participants studied the object of study and determined the main functions of the parking ( Figure 2): Sensors, servomotors, displays and other components of the Arduino microcontroller were previously selected and studied for implementation of the above-mentioned functions of the parking.
• Distance sensors: ultrasonic distance measuring module HC-SR04, ultrasonic distance measuring module US-015, ultrasonic range finder US-100 with UART interface • Temperature and humidity sensors: DHT11 temperature and humidity sensor on the board, DHT22 temperature and humidity sensor on the board • Light sensors: photoresistor GL5516, GL5506, GL5528 • Servo motors: Micro H301 servo motor, SG92R servo motor • Graphic LCD display: 1602 display, I2C module for 1602 LCD display • Control modules: IR remote with control board on the HX1838.
Consider the second block of the structural model of the organization of a projectbased learning of programming microcontrollers named "Project Implementation". At the beginning of the project, a vision has already been formed on how the parking place would look like, what it would consist of and what functions it would perform. The project participants studied the capabilities of the Arduino microcontroller, and selected the necessary details for the implementation of the project. The student, playing the role of the engineer, used the following details for the construction of the project [16,17]: • SG92R servo was selected as a parking barrier • Ultrasonic distance measuring modules HC-SR04 were used to monitor and display the available parking spaces. The number of parking spaces is 4, respectively 4 units of this sensor were connected • The automatic lighting control subsystem was implemented using a light sensorthe photoresistor GL5516 • A temperature and humidity sensor DHT11 were used to monitor the temperature and humidity of the parking • A display 1602 with the module I2C was selected to indicate the received data from the sensors.
The organization of energy supply for the project was handled in such a way that each of the above parts were connected using a breadboard, therefore, power and control were carried out using the Arduino microcontroller.
When designing a project, the following principles were followed: • Mobility (the project should be lightweight; the details of the project should be easily attached to each other) • Reliability (project parts and other elements must be durable) • Extensibility (it should be possible to add additional parts and components to expand the functionality of the project).
After completing the parking assembly, a student, programmer, developed the code for the Arduino microcontroller. Instructions and conditions for each sensor on the device were implemented based on the functionality of the parking.
Micro H301 servo drive was used as a parking barrier. Barriers serve to restrict entry to the parking lot, so when the servo shaft rotates 90 degrees, the barrier opens and the green light-emitting diode turns on with an interval of 3 seconds. Then we return the servo shaft back to 0 degrees, the barrier closes and the red light-emitting diode turns on, giving a stop signal to car drivers.
To control the barrier, students connected an infrared remote control with HX1838 control boardl The program code developed to control the infrared remote control with the HX1838 board is designed to open and close the barrier (by pressing the volume buttons on the infrared remote control). Therefore, an increase in volumeopens the barrier, a decrease in volumecloses the barrier.
An ultrasonic distance measurement module was used to monitor and display the available parking spaces. The control code of the ultrasonic distance measuring module is implemented as follows: if at least one obstacle was encountered at a distance of 30 cm in 4 ultrasonic distance measuring modules, the message "no free places" was sent to the display; The program code of the light sensorphotoresistor GL5516 work as follows: while the room is light, the light-emitting diode turns off, but as soon as the light level falls below a certain value (<900), the light-emitting diode turns on.
A snippet of the program code for displaying all data from various sensors of LCD display: lcd.setCursor(0, 0); lcd.print("Smart parking"); lcd.setCursor(11, 0); During the implementation of this phase of the project, a number of problems related to sensor libraries, compatibility with versions of the software environment, and the indication of several indicators from various sensors in one display were solved.
Testing and debugging of the parking software and hardware was carried out by student members of the project team. Devices with various factors have been tested. A performance of the sensors, servo drive and display were checked. As an example, the DHT11 temperature and humidity sensor was tested using fire. If you strike a match or lighter near the sensor, the temperature display showed a high level. Thus, it was concluded that the operability of the sensor is in good condition.
In the process of testing the device, the location of the sensors was changed, and the power sources were centralized.
"Project Evaluation" is the final block of work of the structural model for organizing the project-based learning instruction in programming microcontrollers.
The preparatory stages of project protection include: creating a passport and project presentations. Students together with the teacher prepared a project passport. This document contains main characteristics of the project. The key requirement in preparing the project passport is a detailed description of the work performed by each student in the project team.
Upon completion of the preparation of the project passport, the project team proceeded to the development of project presentations for the defense in front of the public [18]. At this stage, students selected material for presentation. The normal number of slides is 9-12. Attention should be paid to the ergonomics of slides when developing presentations. Recommendations were made on creating presentations: a maximum of 3-4 colors on a slide; there shouldn't be a lot of text on the slide; text and images should be aligned; only high-quality images should be used.
A prerequisite for the implementation of project-based learning in the programming of microcontrollers is a successful presentation pitch of the created product. Students defended the project in front of university professors. During the presentation, the participants adhered to the principles of brevity, consistency and effectiveness. The developers have clearly demonstrated all the functionalities of "Smart parking".
Public presentation of projects was successful, all groups coped with their tasks. The works were marked according to evaluation criteria. Evaluation criteria consisted of two parts: evaluation of the work itself and defending presentations in front of the audience. The evaluation system of the project itself was developed taking into account its goals, objectives, conditions and considered several aspects such as: relevance and novelty of the proposed solutions; the practicality of the project (mobility, reliability and extensibility); student independence level; optimality of the ratio of required resources and results. The criteria for assessing the protection of presentations to the audience were the following: artistry and expressiveness of the participants' performance, the quality of the multimedia presentation, and the accuracy and completeness of the answers to the questions [19].

Discussion
Before the project evaluation the checklists named "Project evaluation" were issued for the jury (teachers). The data on points for each position was given. Based on the set of points, a general assessment of the project work of students was formed. For example: • The "Smart city" project. The project scored the highest amount of points (96%).
The participants performed at a high level, carefully demonstrated the work of parking, the presentation of the project was visual. The implementation of the "demonstration of free parking spaces" subsystem aroused great interest in the audience. • The "Smart garden" project. The total score of the project is 89%. There was a comment on the item "The practicality of the project (mobility, reliability, extensibility)". In particular, the system of "watering plants", the location of the sensors, wires and display was in doubt. The reliability of the project was a big question, since there could be a closure of the components of the microcontroller. • The "Smart home" project. The final result of the project is 87% (Figure 3). In this digital age this project is very relevant. The project is assembled very carefully and reliably. Unfortunately, the participants did not use all of the Arduino microcontroller's capabilities; the functionality of the project was limited.

Fig. 3. Project Evaluation Results
After defending the project, students asked questions and received answers, discussed the work of project teams. The main goal of this process was to identify the strengths of the developed product, and to determine the points that require refinement.
The project team determined the project development perspective: • Improve the parking with the SMS notification system for parking customers about the availability of free parking spaces on the mobile phone • Add a car counter function based on a seven-segment indicator at the entrance to the parking lot.
In accordance with the goal of the project, all the tasks outlined were implemented. In the process of developing the project, students faced various difficulties and found ways to solve them. For example, when developing the "Smart parking" project, students were faced with the problem of connecting and programming an LCD display to display data. The project team engineer connected the LCD display via the I2C module, the programmer launched the program code, but there was nothing when displayed. Students downloaded the "LiquidCrystal_I2C.h" libraries from various sources, wrote program codes with different functions, increased and decreased the contrast of the display using the knob, but nothing worked. After many experiments and searches, students, integrating their knowledge, were still able to connect the LCD display. The reason for the lack of text on the display was the wrong I2C address. Different manufacturers can have default addresses protected (changed the device address from 0x3F or to 0x27).
After conducting project training in programming microcontrollers, participants formed a holistic view of the project, and awareness of the completeness and significance of their activities increased the students' self-esteem. Also, the participants learnt to apply theoretical knowledge to solve real world problems in practice and received an unforgettable experience working in team.

Conclusion
Summing up the research, in the context of digitalization, the main vector for developing the educational process at the L.N. Gumilyov Eurasian National University is project-based research activities. The project-based research activities demonstrate visible results. Examples of such projects are "Smart parking" and "Smart garden", which were developed during the educational projects by students. These projects were presented to the Minister of Digital Development, Defense and Aerospace Industry of the Republic of Kazakhstan A.K. Zhumagaliev (Figure 4) at "Digital ENU" exhibition. This approach impressed Minister and was noted as "the best version of the teaching methodology" by the Minister.