Desing and construction of Autonomous Robot Navigation and Collision Avoidance, Smart temperature controller, Hearing colors using Sensors and Signal processing

 


Abstract

Different sensory systems that are implemented using the open hardware platform Arduino are described in this paper. These projects are developed by students from the last course of Bachelor Physics Degree at the University of Seville. The educational purpose of the development of this kind of project is to apply their acquired knowledge in electronics to solve a specific problem. 

    I. INTRODUCTION

This communication is part of the subject called sensors and signal processing, taught in the Bachelor’s Physics Degree at the University of Seville. The course is part of optional character block subjects that constitute the mention of Electronics. The course is also offered as an elective subject in the Double Degree in Physics and Engineering of Materials. There are two ways to evaluate one student of the aforementioned subject. A traditional evaluation with a theoretical exam and an alternative method based on a continuous evaluation system. As part of the continuous evaluation method of this subject, the student has to develop a sensory system using the open hardware platform Arduino.

[1]. The promotion of this type of education methodology through projects (project-based learning

[2]. Allowing them to complete their theoretical training and offers them the possibility of developing skills for cross training.

[3] The development of these projects for our students is a process of educational innovation and a way to supplement their education.

[4]. Arduino has been extensively used for educational purposes in electronics during the last years 3-4. It is a powerful learning tool with a low cost that has promoted its use in teaching basic electronics concepts in schools

[5]. Educational community has encouraged the use of Arduino with the development of pedagogical initiatives such as Codebender

[6]. Codebender is an online learning and collaboration hub for makers, students, and engineers

[7]. A mixed software stimulation platform based on Proteus, LabVIEW, MATLAB and Arduino is presented in

[8]. The purpose of this platform is to ease the learning of circuit analysis in analog and digital domain, and embedded systems. The software coding of the microcontroller included in the Arduino platform allows students to acquire skills in programming. The open-source Arduino Software (IDE) provides a simple and easy environment to write code and upload it to the board [1]. Numerous tutorials are available on-line to ease the learning of Arduino programming. An alternative is the use of S4a

[9]. It is a Scratch modification that provides a high level interface to Arduino programmers with functionalities such as interacting with a set of boards through user events. Arduino has been used for educational purposes in several multidisciplinary domains. It has been a very popular platform in robotics [10]-[14]. A compact educational mobile robotic platform using the Robot Operating System (ROS) is described in

[10]. An open educational low-cost modular and extendable mobile robot based on Android and Arduino, with Local Area Network (LAN) and Internet connection capabilities, to be used an educational tool is presented in

[11]. The Robo+Edu project described in

 [12] aims at developing an open source kit for educational robotics based on Arduino to be used in Brazilian schools. A robot that uses LabView and Matlab environment tools for the design and Arduino to interact with sensors is presented in

[13]. The didactic experience of building a low-cost land robot is presented in

[14]. The control of the robot is implemented using Arduino and Raspberry Pi platforms. In the field of mechatronics education, Arduino platform is also used [15]-[16]. Pedagogical strategies and tasks for undergraduate mechatronics education using Arduino are presented in

[15]. An electronic controller based on the Arduino platform to allow students to implement haptic algorithms in multiple mechatronic devices is detailed in

[16]. Arduino platform is very adequate to implement control systems [17]-[19]. Arduino is programmed from Mathworks (Matlab & Simulink) and National Instruments (LabView) to implement DC-motor control in [

17]. ArPi Lab is a remote laboratory for education in the area of process control

[18]. Educational experience in teaching control based on open hardware platforms (Raspberry Pi and Arduino) is presented in

[19]. Programmable logic controllers (PLCs) are programmed using LabView and Arduino in

[20]. Furthermore, Arduino has been used in teaching Information Technology (IT) concepts as described in

[21]. In physics and chemistry curriculum, Arduino microcontroller boards have been introduced to reinforce theoretical contents [22]-[24]. Physics experiments made with Arduino are detailed in

[22]. ChemDuino is a project that exploits the possibilities of the Arduino platform for demonstrations and experiments in chemistry.

[23] a photometer is built around an Arduino that is used an instructional tool for electronics and instrumentation.

[24] Arduino platforms have been oriented to educational purposes in the field of biomedical applications

[25]. A prototype focused on vitro cellular studies is described in

[26] and a resuscitation mannequin for didactic purpose using Arduino platform is presented in

[27]. Finally, a low-cost computer-controlled Arduino-based educational laboratory system for teaching the fundamentals of photovoltaic cells is explained in [28].

This paper is organized as follows:

Section 2 describes the context of the subject in the framework of the Bachelor Degree curriculum. Section 3 includes the description of the four projects performed by students.The degree of success of the educational proposal based on Arduino projects is analyzed in Section 4. Finally, conclusions are expounded in Section 5.

 

II. SENSORS AND SIGNAL PROCESSING COURSE CURRICULUM

Sensors and signal processing (SSP) is an optional subject offered annually at University of Seville in the winter quarter. The students of this subject are undergraduate since they are finishing the last year of the Bachelor Degree in Physics or the double Degree in Physics and Material Engineering. There is no a prerequisite to be accepted as student of this subject, but the majority of the students have passed the subjects related to electronics during the first three years of the curriculum. Students from both Bachelor’s Degrees have normally passed two subjects related to electronics: Electric Circuits, Theory and Instrumentation (ECTI) in the second year, and Physical Electronics (PE) in the third year. After passing the ECTI course, students acquire basic knowledge in basic circuit theory and they are able to analyze circuits including resistive circuits, and linear dynamics circuits in both time and frequency domain. After completing the course of PE students have acquired basic knowledge of semiconductor devices (diodes, bipolar junction transistors, field-effect transistors). The entire curriculum is accessible through the website of the faculty [28]. The SSP subject is comprised of four hours each week with a total number of 60 hours (45 hours of lectures, 15 hours of lab sessions). Lectures are devoted to sensor fundamentals and signal processing in the analog domain (operational amplifiers and filtering) and fundamentals of analog-to-digital conversion. Lab sessions are dedicated to introduce Arduino and to consolidate the concepts about amplification by means of simulations and experimental setups. Usually students have no previous knowledge with the Arduino platform. Neither students are familiar with C language, nor most have never programmed on the Arduino microcontroller. Five lab hours are devoted to introduce students to Arduino. They receive a short description of the platform and a collection of fifteen Arduino projects where they interact with the platform for the first time. They perform these projects autonomously under the supervision of the instructor. During the development of these introductory projects students work with basic sensors: photoresistor or light-dependent resistor (LDR [29]) and IC analog temperature sensors (LM35 [30] and TMP36 [31]).

As a part of the continuos evaluation method students have to develop a project using one or more compatible commercial sensors with Arduino (the evaluation of the project contributes 40% to the final grade of the course.). The project is developed during all the quarter. The need material to develop the project is provided at the beginning of the quarter. The budget of each project is limited to a maximum of 60e(excluding Arduino platforms). However, this budget is adjustable according to the number of students per year. Usually, the total number of students is inferior to fifteen. The economical support is obtained by means of innovative education projects (see Acknowledgments section for further details). Each student develops his own project autonomously (teachers are available in tutorial hours to solve any question and the access to electronics laboratory is provided if students require it).The project can be selected by each student individually between different options offered by the teachers. Another option is to develop a work from the students own initiative. The aim of this second option is to encourage student creativity and innovation. The purpose of the sensory system is not predetermined and depends on the purpose for which develops, making it a multidisciplinary sensory system. In accordance with the intended purpose of the system, a study on the sensor or set of commercial sensors that are on the market has to be elaborated by the student. After finishing their project, they have to present them orally at the end of the quarter. After oral presentations, there is an internal debate between teachers and students where they are encouraged to exchange experiences with the goal of improving the learning based on projects in future editions.

III. DESCRIPTION OF THE PROJECTS

 Four of the projects performed by the students are described in this paper. These projects are selected because they cover several disciplinary fields, being good examples to illustrate how students supplement their knowledge in different materias (robotics, control engineering) and skills (soldering electronic components on PCB boards, programming in a high-level language).

 A. Autonomous Robot Navigation and Collision Avoidance

 This project is aimed at implementing navigation maneuvers on a robot using the Arduino platform. Among the available commercial solutions for educational purposes, the popular Boe-Bot robot chassis provided by Parallax manufacturer [32] has been selected. This robot is built using a shield plugs on top of the Arduino PCB. Both boards and mounts on the popular Boe-Bot robot chassis (see Fig. 1). 


                                           Fig. 1


The student has selected a pair of infrared (IR) LEDs and IR receivers to perform a robot navigation avoiding object collisions. The infrared (IR) LED inside a light shield directs its light forward just like a flashlight [33]. It sends short bursts of 38 kHz infrared light. IR receiver is designed to detect infrared light with a 980 nm wavelength that is either flashing on/off or varying in brightness at a rate in the 38 kHz neighborhood [34]. While the IR receiver detects these bursts it sends a 0 to Arduino, and a 1 when it does not. Therefore, Arduino can detect if the IR LED’s light is reflected off an object. Fig. 1 includes a zoom of the breadboard that shows the wiring of the circuit. As can been seen, the pair of IR LEDs and receivers are mounted on each corner of the breadboard. This spatial location allows detection of objects at both ends (left or right) of the robot. Fig. 2 shows the IR object detection circuit schematic. A simple program is loaded into Arduino to avoid object collision. The robot goes forward at a constant speed (around 9 cm per second). If both IR receivers detect the presence of an object the robot stops. If the right IR receiver detects an object performs a left rotation whereas whether an obstacle is detected by the left IR receiver a right rotation is carried out. This program can be easily modified to obtain the opposite behavior of the robot, that is, an object following robot. In this case, the program is modified in order to interchange the orientation of the rotations. The student has added two ultrasonic sensors [35] and a gyroscope [36] to the platform (see Fig. 3).


                                                 Fig. 3


The aim is that the robot carries out autonomous maneuvers to navigate to a determined position in a model of dimensions 2mx2m. Ultrasonic sensors are mounted on the robot perpendicularly in order to obtain distance measurements on both cartesian axes, whereas the gyroscope controls robot driving direction. A program is loaded into Arduino to determine the maneuver until the target position is reached. A fuzzy logic-based controller is used to optimize the robot trajectory. Two illustrative trajectories are shown in Fig 3.



 

 B. Hearing colors

    This project aims at assisting people with eye deficiencies to distinguish colors correctly. It presents an automatic color detection system based on a light sensor. It is a project entitled ”hearing the colors” which implements a system for color recognition. When a color (red, green or blue) is detected, the colored corresponding LED light turns on and a melody sounds on a piezoelectric speaker (different predetermined songs are selected for each color). The circuit is formed by a white LED that works as a source light to a photoelectric sensor and three LEDs which reproduce the detected color on a surface of colored paper (see Fig. 4). 

                  Fig 4. Color detection schematics circuit.

The photoelectric sensor is a photoresistor (CdS) [29] (resistance whose value decreases as the intensity of the incident light is increasing) and its function is to detect the amount of reflected light to a surface of colored paper. The output of the voltage divider, Vout, depends on the reflected light in the colored surface (see Fig. 4). A simple program is loaded into Arduino to capture the varying levels of reflected light (it will depend on the detected color). A comparison of the captured data is performed and, therefore, this gives us as a result, an estimation of the color detected. This value is used to control the reproduction of a determined melody on a speaker. The student has written an own tone library to be able to reproduce three different melodies. LEDs and the speaker have been soldered on an Arduino Proto Shield board. This shield is plugged into an Arduino One board as can been seen in Fig. 5.




C. Smart temperature controller

    Nowadays, the smart technology is very significative in our style of live. Mobile devices, wearable systems like smartwatches, as well as most advanced security systems are present in our homes. With the development of this project, home plants in our home can also benefit from technological progress. This project performs a Smart Irrigation System (SIS) that supplies water to a plant according to the relative humidity and temperature parameters, but also to the soil moisture of the plant using an own sensor proposed by the student. The relative humidity is measured using an analog sensor [37] whereas the temperature is measured using a digital sensor [38]. The soil moisture of the plant is inferred by implementing a frequency oscillator using a 555 timer integrated circuit (IC). The 555 timer is configured as astable mode (see schematic in Fig. 6). 

In astable mode, the 555 timer puts out a continuous stream of rectangular pulses having a specified frequency. The frequency of the pulse stream depends on the values of R1, R2 and Cplant as follows:

 f = 1/ ln(2)(R1 + 2R2)Cplant 

(1) The capacitor Cplant in Fig. 6 is implemented by using two squared aluminum plates buried in potting soil. The two electrical conductors (plates) are separated by soil used as dielectric. This capacitor has a variable value according to soil moisture since the electrical permeability of the dielectric changes with the degree of moisture. When the soil moisture increases its value, the value of capacitance Cplant also increases. However, the value of frequency decreases according to equation (1). A frecuency-to-voltage converter (LM331) is used to facilitate the Arduino reading. The program loaded into Arduino controls the opening degree of a pump according to the voltage output provided by LM331, the relative humidity and temperature. The microcontroller reads the output frequency of the 555 and one action is taken according to this value: 

1) irrigation: when the value of frequency is superior to a certain value of reference. 

2) no irrigation: when the value of frequency is below to a certain value of reference. 

3) irrigation for a short time: when the frequency value is superior to a certain value of reference and the relative humidity is high. 

4) irrigation for a long time: when the frequency value is below to a certain value of reference and the temperature is high.

 A photo of the SIS is included in Fig. 7.


The system incorporates a LCD display that shows the value of relative humidity and temperature as shown in Fig. 8.
                                         Fig 8. Arduino and the breadboard circuit for the smart irrigation system


A warning message is displayed on the LCD screen to indicate that irrigation is active and water is being deposited on the pot.

D. Smart temperature controller

 In this project, a prototype is developed to monitor and control the temperature variable. The application of this prototype is multidisciplinary but it could be used as basic to build a portable and low cost device for cell culture in which the temperature control is crucial. This device could be used for educational purposes in the development of experimental labs for students. The analog LM35 sensor [30] is used to measure temperature. In order to increase the precision of this measurement an amplification stage is included. Specifically, a non-inverting operational amplifier configuration is implemented with a value of gain equals to 10. The program loaded into Arduino performs the temperature registration as well as the control stage (see Fig. 9). Once the value of temperature is registered by Arduino microcontroller, an error measurement is performed by subtracting the registered value minus the desired value of temperature (preprocessing). This error measurement (error) and the evolution of error measurement over time (change error) are the inputs of a fuzzy logic-based controller. According to the output value of the controller, a heating pad or a fan is activated (postprocessing). A red and a blue LED are also incorporated to indicate that the temperature is out of a range. The red LED is switch on when the temperature is over the high reference value whereas the blue LED is on when the value is inferior to the minimum value of the range. The schematic of the smart temperature controller using Fritzing [39] is illustrated in Fig. 10.


A photograph of the system while it is running in included in Fig. 11.

The lower right corner displays a historical of temperature values obtained over the last 24 records as well as the error and activation percentage of the actuators innovative. The multidisciplinary nature of the project allows them to acquire knowledge in different disciplines such as robotics or engineering. This together with transversal skills such as high-level programming allows students to acquire new knowledge. During the discussion after the oral presentations, all students think they have expanded their knowledge and this will serve in their professional future. A selection of the projects are used in the outreach laboratory of the Physics Faculty. This motivates the students who feel very proud to show their own project. At the same time this also encourages students in lower grades and promotes scientific vocations in secondary and high school students. 

                                                        V. CONCLUSION 

This paper presents several projects based on Arduino developed by Physics undergraduate students in the framework of a subject entitled ‘sensors and signal processing’. The development of these projects allows learning in a practical way. Normally, they are very motivated since the development of their own projects is a challenge for them. Furthermore, this project-based learning enables students to acquire skills that complete their curriculum.

                                                     IV. RESULTS

The degree of success of project-based learning using Arduino platforms is analyzed to see if the challenges have been met. Our first challenge is to encourage the learning about sensors and signal processing. All the students consider that the development of the projects allow the learning in a practical way, being an attractive alternative versus the traditional evaluation with an written exam. One fact that proves this is that none of the students enrolled in the subject chooses a traditional evaluation method. The second challenge is to complete the knowledge of students. Progressive learning using an autonomous project allows them to perform a free practical experience. Practical experiences they have done during their studies are mainly conducted by a closed guide provided by teachers. This is an opportunity to be creative and

                                             ACKNOWLEDGMENT

 This work was economically supported by Teaching Improvement and Innovation Program called ”II Plan Propio de Docencia” from the University of Seville. Particularly, the projects described in this paper has been supported by ”Actions to encourage and promote the improvement and educational innovation among teachers and students of degrees of the Physics Faculty”. This work was partially supported by TEC2014-57971-R from the Spanish Government (with support from FEDER). P. Brox is supported by the ’V Plan Propio de Investigacion’ of the University of Seville.

                                                                 REFERENCES

[1] https://www.arduino.cc/

[2] P. C. Blumenfeld, E. Soloway, R. W. Marx, J. S. Krajcik, M. Guzdial, A. Palincsar, Motivating Project-Based Learning: Sustaining the Doing, Supporting the Learning, Educational Psychologist, vol. 26, no. 3-4, pp. 369-398, 1991.

Fig. 11. Photo of the smart temperature controller

[3] D. Cuartielles, Opensource hardware and education, Lecture Notes in Computer Science, Proc. 5th International Symposium on End-User Development (IS-EUD), vol. 9083, Madrid, Spain, May 2015.

 [4] G. A. Mabbott, Teaching electronics and laboratory automation using microcontroller boards, Journal of Chemical Education, vol. 91, no.9, pp. 1458?1463, 2014.

 [5] M. C. Curras-Francos, J.Diz-Bugar ´ ´Ä±n, J. R. Garc´Ä±a-Vila, A. OrteCaballero, Cooperative Development of an Arduino-Compatible Building Automation System for the Practical Teaching of Electronics, IEEE Revista Iberoamerica de Tecnolog´Ä±as de aprendizaje, vol. 9, no.3, pp. 91-97, 2014.

[6] V. Georgitzikis, D. Amaxilatis, Using Codebender and Arduino in Science and Education, System-Level Design Methodologies for Telecommunication, vol. 9783319006635, pp. 119-134, 2014.

[7] https://codebender.cc/

[8] S. S, Kendre, P. V, Mulmule, S. D. Shirbahadurkar, Developing experimental platforms using common software tools for enhancing technical skills of electronics engineering students in microcontrollers, Proc. 43rd IEEE Annual Frontiers in Education Conference (FIE), Oklahoma City, USA, Oct. 2013, pp. 1450-1452.

[9] http://s4a.cat/

[10] A. Araujo, D. Portugal, M. S. Couceiro, R. P. Rocha, ´ Integrating Arduino-based educational mobile robots in ROS, Journal of Intelligent and Robotic Systems: Theory and Applications, vol. 7, no. 2, pp. 281-298, 2014.

[11] F. M. Lopez-Rodr ´ ´Ä±guez, Andruino-A1: Low-cost educational mobile robot based on Android and Arduino, Journal of Intelligent and Robotic Systems: Theory and Applications, vol. 81, no.1, pp.63-76, 2016.

[12] A.C.R. Ribeiro, D.A.C. Barone, LE.P. Mizusaki, Robo+Edu: Project and implementation of educational robotics in Brazilian public schools, Advances in Intelligent Systems and Computing, vol. 345, pp. 495-503, 2014.

[13] D. L. McPherson, A. R. Ofoli, T. D. Loveless, BasketBallBot: Developing an intelligent controls teaching platform using LabView, Matlab, and Arduino, Proc. IEEE SoutheastCon, Ft. Lauderdale, USA, Apr. 2015, pp. 1-8.

[14] D. Hernandez, H. Trejo, E. Ordo ´ nez, ˜ Development of an exploration land robot using low-cost and Open Source platforms for educational purposes, Journal of Physics: Conference Series, vol. 582, no. 1, pp. 1-6, 2015.

[15] R. Grover, S. Krishnan, T. Shoup, M. Khanbaghi, A competition-based approach for undergraduate mechatronics education using the Arduino platform, Proc. 4th Interdisciplinary Engineering Design Education Conference (IEDEC), Santa Clara, USA, Mar. 2014, pp. 78-83.

[16] J. J. Gil, I. D´Ä±az, X. Justo, P. Ciaurriz, Educational haptic controller based on Arduino platform, Proc. Tecnolog´Ä±as Aplicadas a la Enseanza de la Electronica (Technologies Applied to Electronics Teaching) TAEE, ´ Bilbao, Spain, Jun. 2014, pp. 1-7.

[17] M. A. Hopkins, A.M. Kibbe, Open-source hardware in controls education, Proc. 121 st ASEE Annual Conference and Exposition: 360 Degrees of Engineering Education, Indianapolis, USA, Jun. 2014.

[18] M. Kaluz, L. Cirka, R. Valo, M. Fikar, ´ ArPi Lab: A low-cost remote laboratory for control education, Proc. 19th International Federation of Automatic Control (IFAC), Cape Town, South Africa, Aug. 2014, vol. 19, pp. 9057-9062.

[19] J. Sobota, R. Pisl, P. Balda, M Schlegel, Raspberry Pi and Arduino boards in control education, Proc. 10th IFAC Symposium on Advances in Control Education, vol.10, no. 1, Sheffield, UK, Aug. 2013, pp. 7-12.

[20] W. B. Williams, LabVIEW and Arduino as a gateway to PLC programming, Proc. 120th ASEE Annual Conference & Exposition, Atlanta, USA, Jun. 2013, pp. 23.846.1 - 23.846.12.

[21] R. G. Helps, Teaching IT concepts is enhanced by including hardware in experimental learning, Proc. 122nd ASEE Annual Conference and Exposition: Making Value for Society, Seatle, USA, Jun. 2015.

[22] http://www.fisicayarduino.com.ar/en/

[23] S. Kubinova, J. Slegr, ChemDuino: Adapting Arduino for Low-Cost Chemical Measurements in Lecture and Laboratory, Journal of Chemical Education, vol. 92, pp. 1751-1753, 2015.

[24] R. L. McClain, Construction of a photometer as an instructional tool for electronics and instrumentation, Journal of Chemical Education, vol. 91, no. 5, pp. 747-750, 2014.

[25] M. P. Walzik, V. Vollmar, T. Lachnit, H. Dietz, S. Haug, H. Bachmann, M. Fath, D. Aschenbrenner, S. Abolpour Mofrad, O. Friedrich, D.F. Gilbert, A portable low-cost long-term live-cell imaging platform for biomedical research and education, Biosensors and Bioelectronics, vol. 64, pp. 639-649, 2014.

[26] N. Draghiciu, A. Pepeneata, Educational purpose cardiopulmonary resuscitation simulator, Journal of Electrical and Electronics Engineering, vol. 7, no. 1, pp. 39-42, 2014.

[27] K. Zachariadou, K. Yiasemides, N. Trougkakos, A low-cost computercontrolled Arduino-based educational laboratory system for teaching the fundamentals of photovoltaic cells, European Journal of Physics, vol. 33, no. 6, pp.1599-1610, 2012.

[28] http://fisica.us.es/titulaciones-fac

[29] http://docs-europe.electrocomponents.com/webdocs/0032/0900766b80032dc2.pdf

[30] http://www.ti.com/lit/ds/symlink/lm35.pdf

[31] http://www.analog.com/media/en/technical-documentation/datasheets/TMP35 36 37.pdf

[32] https://www.parallax.com/catalog/kits/robotics

[33] https://www.parallax.com/sites/default/files/downloads/350-00017-IRTransmitter-Documentation.pdf

[34] https://www.parallax.com/sites/default/files/downloads/350-00039- GP1UX51QS.pdf

[35] https://www.parallax.com/downloads/ping-ultrasonic-distance-sensorproduct-guide

[36] https://www.parallax.com/product/27911

[37] http://docs-europe.electrocomponents.com/webdocs/138b/0900766b8138b8e7.pdf

[38] http://docs-europe.electrocomponents.com/webdocs/078b/0900766b8078b130.pdf

[39] http://fritzing.or

0/Post a Comment/Comments

Previous Post Next Post

header

Sponsor