RightArticle4EducModel DOI

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

An Educational Model of Graduation Project for Students at

Automation and Computer Engineering

Sebastian Rosca 1 , Simona Riurean 1 , Monica Leba 1 , Andreea Ionica 1

1 University of Petrosani, 20 University str., Petrosani, Romania, 332006

https://doi.org/10.33847/2686-8296.1.1_4

Abstract. The upcoming engineers, students at Automation and Computer


Engineering, acquire, during four years of education, a tremendous theoretical
information in different areas connected with their educational field of study. From
solid mathematical backgrounds to electronics and automation and many other
subjects become a stock of incredible useful database for future engineers. The
lack of adequate practical work that allow them to connect and get aware on how
to use information acquired, lead, in most of the situation, to a useless database
of information. This paper presents a model of a good practice work and aims to
be a useful example for students in the last year of study on how to handle and
realize, starting from one idea and finishing with a working prototype, their
graduation project. The example here is a low cost, handy, a real time data
acquisition and duplex wireless data communication system. It consists of two
modules. The first one is a glove used by an operator, equipped with an Arduino
board with a gyroscope, accelerometer and full duplex communication parts that
sends movements commands to a mobile robot. The mobile robot is equipped
with a camera sending video streaming related to the immediate space and a
network of sensors with the aim to acquire environmental data and sent them
remotely to the first module.

Keywords: network sensors, hazardous environments, underground spaces,


wireless communication

1 Introduction
From an idea to a final, functional prototype and a good written, valuable
graduation project, is a long and difficult way to travel on for a student, when no guiding
marks to follow, are on the way. Any software, hardware or an embedded system project
includes requirements analysis, system design, simulation, implementation and final
testing. Starting with the initial idea, all the way through to system analysis, hardware
and software design, simulation of the system, execution and testing are important
stages to be well achieved to be able to continue with the next one for a valuable final
graduation project. The students have opportunities to use the knowledge they have
gained in different courses as well as during practical teamwork [1].
First of all, a detailed and comprehensive literature review is essential as a first
development stage in order to complete a high quality project. The detailed literature
survey on the subject has to be realized by the student, not only to increase his/her
knowledge but to improve the understanding of the particularities related to the project’s
subject and be aware of all up-to-date situation connected to the project’s topic [2].

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


34
This paper presents step by step, the main stages to be completed for a well appreciated
final project (Fig. 1) with an example of a remote guiding robot that acquire
environmental information from difficult or forbidden to access places.

Fig. 1. Stages to complete for a successful project

The hazardous environments such as underground spaces (coal, salt, minerals


mines), research laboratory or test centers are dangerous to work in, especially because
of air quality, small and difficult to access spaces and in some cases highly explosion
hazard due to instant events, such as combination of explosive gases or substances.
Environmental data acquisition and wireless communication prior to human access in
these spaces or sometimes instead of human access, is life savings.
The robot designed is remotely controlled by an operator with one hand by means
of an accelerometer. As an implementation, it would be useful in any areas where flexible
one-handed guiding and controlling is required. Depending on the sensors added to it,
the robot can be created for different missions such as rescue or exploring hard-to-reach
spaces. The prototype designed and presented in this work is a low-cost with off the shelf
components, therefore prototype’s quality is minimal [3].
All the parts from which the robot is made, are Arduino type or compatible with it.
The given robot consists of two parts: the part of the data transmitter that has the role
of remotely controlling the movement of the second one, according to the inclination of
the operator’s hand. The movement is controlled by a sensor type Gyroscope MPU6050,
that consists of a gyroscope, accelerometer and a data converter from Digital to Analog.
In other words, the data will be taken from the accelerometer due to data generated
according to hand’s inclination relative to the earth. The gyroscope is connected by an
Arduino board. The Arduino board also connects a radio module nRF24L01 that will
transmit wireless information to the second module.
The second module of the system is a mobile robot made up of a kit with 2 motors
and a platform on which other parts are placed. The Arduino board with a radio module
nRF24L01 is used to receive data from the transmitter. In order to control the two
engines, a L298N engine module is added to the system.
The software part is created in Arduino IDE and likewise, it is made up of 2 parts:
Module I and II. In the Module I, the source code is shorter because it is only necessary
to initialize the gyroscope and the radio module, to enter the data generated by the
gyroscope in a multidimensional variable and to transmit this variable through the radio
module to the second part of the robot. The data receiver code will be a little longer since
the received data will be converted by a power formula of the left and right engines and
then by several decision instructions, setting them to fulfill certain commands according
to the received data.

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


35
2 Hardware and software design
The system is composed of two modules as shown in the block diagram. The first
module, remotely sends, according to the operator’s hand, a series of movements
(forward, backward, left or right) to the second module.
The block diagram (Fig. 2) shows the connection diagram of our kit based on
Arduino microcontroller used for the acquisition of streaming video for real-time
monitoring purposes either on a personal computer or on an Android-based device.

Fig. 2. Block diagram – the monitoring system

The other module (module II), a robotic mobile platform, is responsible for data
acquisition based on a network of sensors that are capable of acquiring sensible
environmental data from special areas considered to be either hazardous due to
emissions of natural gas, or forbidden to be accessed because of dangerous substances
into the workspace. A 2MP mini-camera has been added to the second module in order
to avoid any obstacle into the environment explored.
In order to achieve our goal, we used two Arduino microcontroller boards, both for
prototyping the robot remote control system, that is built around an ATmega328P chip
and offers the programmer everything necessary to achieve an automation system.
It provides a 16 MHz ceramic resonator for dealing with time issues, a series of
digital in/out pins can be used to control a wide range of motors such as: DC motor,
servo, stepper motor based on PWM modulation or an RF transceiver or a Wi-Fi module
for communication purpose and a series of analog pins that can be used to acquire data
from sensors such as: environmental parameters or orientation of an object in space
using a gyroscope [4]. All of these can be programmed based on C language using the
USB interface integrated on any ordinary computer to load the program developed by
user into embedded microcontroller [5].
The mobile robot provides a relatively simple mechanical implementation with only
3 wheels, of which only two are driven by DC gear servomotors, the third wheel being
useful when turning left or right because it can also move on the horizontal axis. Research
in the field shows that in order to maintain optimum contact with the soil, especially in
the case of uneven surfaces, the required number of wheels is three, additionally with a
suspension system to achieve a higher performance [6].
With the purpose of controling the direction and speed of the robot a driver motors
based on a H-bridge Dual Motor Controller is used. Based on the PWM signal received
from the Arduino board microcontroller, it drives the two servomotors in the same time.
The driver motors based on H-bridge is useful because it is a current amplifier that
converts a low current control signal into a higher current signal [7] since the Arduino
board microcontroller can supply a maximum output current of 40 mA per pin [8] and
a current between VCC and GND pins limited to 200 mA [9], which proves to be
insufficient to control the servomotors.
The supply voltage required for Arduino-based robot operation can be provided

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


36
directly from an external power source based on a battery that ensure a voltage of 9 V
because the Arduino board has a built-in voltage regulator that limits the voltage to 5V
required for most modules compatible with Arduino [10]. In order to have a single power
supply for the robot, we have powered the Arduino Board from the driver motors by
connecting the voltage input pin - VIN on the Arduino board to the + 5V pin supplied
from the driver motors [11].
2.1 Arduino software – IDE
The Arduino Integrated Development Environment (IDE) or Arduino Software
contains a code-writing editor, a message area, a text console, a toolbar with common
function buttons and a series of menus.
The Arduino IDE is a cross-platform application written in Java which is derived
from the IDE made for the Processing programming language and the Wiring project. It
is designed to introduce programming to any new programmer unfamiliar with software
development. It includes a code editor with features such as syntax highlighting, brace
matching, and automatic indentation, and is also capable of compiling and uploading
programs to the board with a single click.
The Arduino IDE comes with a C / C++ library called “Wiring”, which makes many
common input/output operations much easier. Arduino programs are written in C/C++
[12].
2.2 The Network of Sensors
Real-time acquisition of sensible data of environmental factors that may be present
at a particular time in the workspace from special underground areas is a priority to be
considered in risk management to be able to act properly in accordance with the field
acquiring data to prevent the errors that may arise during the decisional measures in
case of rescue operations. Therefore, we propose to implement within our mobile robot
a network of wireless low cost environmental sensors compatible to Arduino able to
monitor: temperature and humidity, presence of carbon monoxide, and flammable gases,
especially methane, the presence of sources of ignition that can generate a fire.
The sensor used to detect temperature and humidity is a hybrid sensor that
operates at low energy (3V-5V) like most Arduino compatible modules, it can measure
the humidity based on the resistor and the temperature based on the Negative
Temperature Coefficient (NTC) component, offers a fast response in time, is immune to
interferences, and the fact that it is provided with a single analog data pin for the
acquisition of both environment parameters represent an advantage for Arduino board
pins management [10]. With respect to the range of measurement values, the sensor
can measure temperatures in range of 0 to + 50 °C and humidity in a range of +/-5.0%
RH [11].
In order to detect gas leakage, in special in underground spaces, we implement
into the mobile robot a low cost gas sensor that is designed for industrial or domestic
environment monitoring, useful to detect gasses such as: propane, butane, methane,
alcohol and hydrogen. This sensor is also useful in our monitoring process since is smoke
sensitive [12]. From the constructive point of view, this sensor is based on a component
that contains an adjustable resistor and a protective resistor integrated on board that
can detect target gas leakage based on the variation of the resistance of the sensitive
component [13]. The gas sensor operates at +5V with a low current consumption of just
40 mA, making it ideal to be used with an Arduino board as a digital or analog data input.
An important advantage is that the methane emissions can be detected with high
accuracy between 300 and 10,000 ppm according to the datasheet provided by the
manufacturer [14].
Because of lethally potential represented by the presence in the air of the carbon
monoxide that can present at a time in particular due to an accident in special
underground spaces that evolving an incomplete combustion of any organic materials
such as: wood, butane, propane and other natural gasses or even by underground
machinery malfunction such as air compressor that supply fresh air in workspace, was
also necessary to implemented on the robot a carbon monoxide detection specialized
sensor that can accurately measure the concentration of this gas in the air which if it
remain undetected it present potential to harm the human health because it’s
©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019
37
particularity that it present: carbon monoxide gas is odorless, colorless, tasteless and
nonirritating and is lethally after 1-3 minutes at a concentration in the air between
12-13,000 ppm or after an hour at a concentration of 1,600 ppm [15].
With regard to the construction details of this type of sensor, the sensing
component of the measuring circuit consists of two parts: the heating circuit on one side
providing the time control function and the output signal circuit that responds to changes
of resistance detected on the surface of the sensor [16].
In case of the gas sensor, the carbon monoxide sensor can be connected for
supplying data output to any digital or analogue pin from Arduino board and it operates
at a +5V with a low current consumption at only 40mA and has a high sensitivity for
carbon monoxide detection ranging from 20 ppm to 2000 ppm [17].
2.3 The module with gyroscope
In order to be able to control the robot, we use the method that allow to replicate
the hand’s orientation in space and to transpose it into control commands that we can
use in robotics for locomotion purposes in accordance with visual data acquired in real
time from the camera kit. The glove with this intelligent sensor can be integrated into
our application developed with Arduino. It is based on an I2C motion processor with 6-
axis that incorporates a 3-axis gyroscope and a 3-axis accelerometer along with a Digital
Motion Processor (DMP) all on one system-on-chip device. The MEMS motion tracking
device features programmable gyroscope and accelerometer designed for fast and slow
movements precision tracking.
The motion processing unit incorporates Motion Fusion algorithms which will also
access external sensors and magnetometers through the auxiliary master I2C bus. The
possible applications of this type of intelligent component can to include: development
of device that based on wearable sensors or development of smart applications in case
of tablets or smartphones in specially for counting steps operations by a mobile processor
to display the numbers of calories burned or the quality of sleep and up to could play
intelligent games that is dependent for acquired data from sensors. The Platform extracts
the motions that are associated and unload the sensor management from the operating
system to provide an Application Program Interface (API).
2.4. Video Streaming and Communication
In order to remotely control the mobile robot, a real-time video camera is used
with the aim to send information from workspace to the user. For this purpose, a low
cost special kit based on Arduino microcontroller is used. It is mounted directly on the
mobile robot frame and offers video streaming capabilities based on a mini camera that
can be connected as a daughter card on the board using GPIO pins header and that can
capture 2MP full resolution JPEG still image, even stream low resolution at fairly framed
video over network via WI-FI module embedded on board which operates at a frequency
of 2.4GHz.
The kit is suitable for portable application, it can be powered from micro-USB or
using battery and has built in lithium battery charging circuits with of capacity of
+3.7 V and 0.5A maximum current.
The special kit based on Arduino present a series of key features: 32bit
microcontroller with low power consumption and RISC type architecture [18]; operate at
a high frequency clock speed of 80 MHz and can be boost at a frequency of 160 MHz
when Real Time Operation System (RTOS) is enabled [17]; supports Arduino sketch
script to be programmed and is suitable for android application [19].
2.5. NRF module
Transceiver NRF uses the 2.4 GHz band and it can operate with baud rates from
250Kbps up to 2Mbps. If used in open space with lower baud rate its range can reach up
to 100 meters. The radio modules include a 2.4 GHz RF transceiver and a logic that
supports a high-speed SPI interface for data connection and exchange.
The module can use 125 different channels which gives a possibility to have a
network of 125 independently working modems in one place. Each channel can have up
to 6 addresses, or each unit can communicate with up to 6 other units at the same time.
Power consumption of this module is just around 12mA during transmission, which is
even lower than a single LED. The operating voltage of the module is from 1.9 to 3.6V,
©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019
38
but the other pins tolerate 5V logic, so easily we can connect it to an Arduino without
using any logic level converters. So, once we connect the NRF modules to the Arduino
boards we are ready to make the codes for both the transmitter and the receiver [20].

3 System simulation
Due to bidirectional communication benefit our solution can receive environmental
data from sensors network that are placed on the receiver module directly on the
transmitter module to analyze and display them.
To demonstrate the functionality of the proposed system we also performed a simulation
(Fig.3) into an environment specialized in design and testing of the embedded system of
the two modules handled in this paper for monitoring of a special underground
environment.

Fig.3. Simulation of the monitoring system applied in a salt mine

4 Prototype execution and software implementation


In order to achieve our goal of monitoring in the real-time the potentially
hazardous environment to prevent unpredictable or fatal events that may occur at a time
in the workspace we implemented all that was necessary for a good integration powered
by C/C++ programming language of both modules to be able to supply the one hand a
bidirectional communication required for control operations and the other hand for data
acquisition related to existent environments parameters.

Fig. 4. The prototype developed

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


39
To get visual stimuli from the environment, the software solution implemented,
allows video streaming to be captured and send based on a Wi-Fi network using the HTTP
protocol. It provides support in order to control the robot from a safe distance, so that
the operator is not exposed to the hazards or unanticipated harmful events.

Fig. 5. Software implementation

Regarding radio-frequency based wireless communication between modules we


developed a software solution by implementing the SPI communication protocol that can
check the status of connection between of the modules and can transmit commands from
the transmitter module based on gyroscope that will generate data depending on its
position in space and give certain commands to DC gear servomotors that assists the
robot to change the movement’s direction or to turn.

5 Testing the system


Once the code has been load on both Arduino boards, tests were done and noticed
that the turns were performed too quickly, as well as after tilting the hand in any
direction, the robot reacted too fast. To solve this problem a function in the code was
written, to decrease the values of the two motors, MotoL and MotoR, as well as to slow
down these values after tilting the hand:
int MotoLN = ValY - (ValX / 1.3);
int MotoRN = ValY + (ValX / 1.3);
MotoL = MotoLN / 1.3;
MotoR = MotoRN / 1.3;
Similarly, for the slower transfer, the coefficients from 1.2 to 1.3 have been
increased in the first formula when dividing ValX. Another observation was that
sometimes the robot stopped for 1-2 seconds and did not perform any command,
because one of the radio modules or even both had small errors.

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


40
Following few test, the sources of inconsistencies have been identified and planned
to be removed by software improvement or, some low-cost spare parts to be replaced
with others with higher quality.

6 Conclusions
Time is short, project is difficult to realize and high demanding when no idea of
reducing the development time, increase throughput and improve the accuracy of the
graduation project, are available to students as guiding pillows on the way.
This work presents the stages to be followed by students to accomplish the most
important task before graduation, the final project. A mobile robot driven by gestures
with Arduino and a gyroscope has been used as an example. The prototype is built as
the mobile robot to be driven by user’s gestures with one hand. The system is made by
a kit with two engines, two Arduino boards, two radio modules, a gyroscope and two
voltage stabilizers. According to its position in space, the gyroscope sends data to the
mobile robot in order to perform specific movements. The possible commands integrated
in the system are back and forward acceleration, turn left and right and according the
gyroscope angle of inclination, the mobile robot’s speed can be controlled by user.
This model of a graduation project describes necessary steps to be taken in order
to develop a preformat prototype. It also describes a low-cost, handy system, designed
for data acquisition and duplex wireless communication with duo-module. One is
managed with one hand by a remote operator and the other one sends video streaming
of spaces, acquire and sends environmental data as well. A different possible approach
is to local save data acquired from environment, directly on a SD/TF card. The data
acquired by a network of sensors can be temperature and humidity, gasses (propane,
butane, methane, alcohol and hydrogen) and carbon monoxide, as well.

References
1. Blicblau AS, Naser J.: Developing Engineering Students’ Communication and Information
Retrieval Skills Utilizing Capstone Projects. International Journal of Quality Assurance in Engineering
and Technology Education (IJQAETE), 4(3):1–20, (2015).
2. Yilmaz, M., Tasel, F.S., Gulec, U., Sopaoglu, U.: Towards a process management life-cycle model
for graduation projects in computer engineering. PLOS ONE 13(11): e0208012. DOI:
10.1371/journal.pone.0208012, (2018).
3. Rosca S., Riurean S., Leba M., Ionica A.: A Reliable Wireless Communication System for
Hazardous Environments. In: Antipova T., Rocha A. (eds) Digital Science. DSIC18 2018. Advances
in Intelligent Systems and Computing, vol 850, 235-242. Springer, Cham (2018).
4. Pan, T., Zhu, Y.: Designing Embedded Systems with Arduino: A Fundamental Technology for
Makers. Springer (2017).
5. Sweatt, M., et al.: WiFi based communication and localization of an autonomous mobile robot
for refinery inspection. In: Robotics and Automation (ICRA), IEEE International Conference on. IEEE,
p. 4490--4495 (2015).
6. Taha, I.A., Marhoon, H.M.: Implementation of Controlled Robot for Fire Detection and Extinguish
to Closed Areas Based on Arduino. TELKOMNIKA, 16.2: 654--664 (2018).
7. Behera, S., Muduli, P. K.: Remote Speed Control of Brushless DC Motor with Display. International
Journal of Automation and Smart Technology, 8.2: 65--71 (2018).
8. Nayyar, A., Puri, V.: A review of Arduino board's, Lilypad's & Arduino shields. In: Computing for
Sustainable Global Development (INDIACom), 3rd International Conference on. IEEE, 2016. p.
1485-1492 (2016).
9. Arduino Playground, https://playground.arduino.cc/Main/ArduinoPinCurrentLimitations
10. Ollukaren, N., Mcfall, K.: Low-cost platform for autonomous ground vehicle research. In:
Proceedings of the 14th Early Career Technical Conference. (2014).
11. Junior, Luiz A., et al.: A low-cost and simple Arduino-based educational robotics kit. Cyber
Journals: Multidisciplinary Journals in Science and Technology, Journal of Selected Areas in Robotics
and Control (JSRC), December edition, 3.12: 1--7 (2013).
12. Pandya V., Shukla D.: GSM modern based data acquisition system. International Journal of
Computational Engineering Research, 2(5):1662--1667 (2012).
13. Sipani, J.P., et al.: Wireless Sensor Network for Monitoring & Control of Environmental Factors
using Arduino. International Journal of Interactive Mobile Technologies (iJIM), 12.2: 15--26 (2018).
14. Ünsal, E., Milli, M., Çebi, Y.: Low cost wireless sensor networks for environment monitoring. The
Online Journal of Science and Technology, 6.2: 61--67 (2016)

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


41
15. Sowparanika, E. L., et al.: Wireless Communication System for Coal Mining Worker using
Arduino. Journal of Chemical and Pharmaceutical Sciences ISSN, 974: (2015).
16. Al-Dahoud, A., Jannoud, I., Al-Rawashdeh, T.: Monitoring Metropolitan City Air-quality Using
Wireless Sensor Nodes based on ARDUINO and XBEE (2011).
17. Olimex:https://www.olimex.com/Products/Comp/Sensors/SNS-MQ2/resources/MQ2.pdf
18. Srivastava, S.K.: Real Time Monitoring System for Mine Safety Using Wireless Sensor Network
(Multi-Gas Detector). PhD Thesis (2015).
19. Ramesh, M., et al.: Solid Waste Management Using IoT, IJITEE 8(12), (2018).
20. Olimex: https://www.olimex.com/Products/Components/Sensors/SNS-MQ7/resources /SNS-
MQ7.pdf
21. Gour, G. B., et al.: Helmet Sensing Speed Controller Device. International Journal of Current
Trends in Engineering & Research (IJCTER) e-ISSN 2455–1392 Volume 2 Issue 5, pp.291--296
(2016).
22. Manikandan, J.: Design and evaluation of wireless home automation systems. In: Power
Electronics, Intelligent Control and Energy Systems (ICPEICES), IEEE International Conference on.
IEEE, p. 1-5 (2016).
23. How to Mechatronics: https://howtomechatronics.com/tutorials/arduino/arduino-wireless-
communication-nrf24l01-tutorial/

©ICS. Journal of Digital Science, Vol.1, Iss. 1, Dec 2019


42

You might also like