Programming of an Educational Robot to be Applied in STEAM areas

Caio Rafael Dias Camargo - 38847

Dissertation submitted to the School of and Management of Polytechnic Institute of Bragança to obtain the Master Degree in Industrial branch of Electronic Engineering, in the scope of Double Diploma programme with the Federal University of Technology from Parana - Brazil.

Dissertation Advisers: Prof. Ph.D José Gonçalves Prof. Ph.D José Lima Prof. Ph.D Luís Duarte

Bragança 2019-2020 ii Acknowledgement

First of all, I would like to thank God, I thank to my parents and sister for the all support given until now, for always trust and believe in me. I also thank my Professors José Gonçalves and José Lima for the shared knowledge, the patience and the support in the realisation of this work, and in special the Professor Luís Duarte for his incentive and the concern in always to help and assistance even with the distance. I would like to leave an honorable mention to the Polytechnic Institute of Bragança (IPB) and Federal University of Technology from Paraná where, is the place I have invested the most of the time of my live in the past years, in order to accomplish my dream of become engineer. And for last but not even less important, I thank my all friends, for the friendship, support and company, even those that are in Brazil.

iii Abstract

The world is increasingly digital. Countries around the world strive to attract and pre- pare future generations to occupy the positions, where, for the most part, they will focus on Science, Technology, Engineering, Arts and Mathematics (STEAM). An approach al- ready consolidated in the literature is the use of robots applied in to encourage students to develop essential skills such as critical thinking, problem-solving and com- putational thinking. This work, linked to the RoboSTEAM project, aims to explore educational robots that can be applied in this context, considering that most approaches use LEGO’s platform, which can sometimes be difficult to access due to its high price. The robot used was the mBot in which it uses the mBlock 5 to program it, from the MakeBlock Co. Ltd. company, being applied in two educational approaches during the execution of the project in which it is based on challenge based-learning methodology. A methodology for adding sensors to the mBot has been also explored. Finally, evaluations were made about the performance of students who participated in this project.

Keywords: Mobile , STEAM, Programming, Computational Think- ing.

iv Contents

1 Introduction1 1.1 Goals...... 2 1.2 Document Structure...... 3

2 State of Art5 2.1 The Concept of STEM...... 5 2.2 The Concept of STEAM...... 7 2.3 Robotics used in STEM/STEAM Education...... 8

3 Materials and Methodology 11 3.1 mBot Robot...... 11 3.2 mBlock 5 Integrated Development Environment (IDE)...... 14 3.3 mBot with other Sensors...... 15 3.3.1 Creating an extension for mBlock 5...... 17 3.4 Challenge Based Learning...... 21 3.5 Challenge Concept...... 23 3.5.1 Challenge...... 24 3.5.2 Mini-challenge...... 24 3.5.3 Nano-challenge...... 25

4 RoboSTEAM Erasmus+ Project Activities 27 4.1 Educational Robotics Summer Camp at IPB...... 28

v 4.1.1 Challenges Descriptions...... 29 4.1.2 Nano-Challenge using mBot and mBlock 5...... 30 4.2 Emídio Garcia School Pilot A RoboSTEAM Erasmus+ Project Activity based on a Challenge Based Learning Approach...... 32 4.2.1 Challenges Descriptions...... 33

5 Results and Discussion 35 5.1 Results obtained from Educational Robotics Summer Camp at IPB.... 35 5.2 Results obtained from Emídio Garcia School Pilot...... 37

6 Conclusions and Future Works 41 6.1 Future Works...... 42

A Schematics A1

B Codes B1

vi List of Tables

5.1 Response Values of Line-follow Sensor...... 36 5.2 Groups description table [21]...... 38 5.3 Groups performance table [21]...... 39

vii List of Figures

3.1 mBot Robot [17]...... 12 3.2 mBot Parts [17]...... 13 3.3 mBlock 5 IDE Environment [20]...... 14 3.4 Devices for programming with mBlock 5 [20]...... 15 3.5 Standard extensions for mBot [20]...... 16 3.6 Flame Sensor and its support [21]...... 16 3.7 The mBot adapted [21]...... 17 3.8 Extension Builder IDE [22]...... 18 3.9 Creating the Flame sensor extension [22]...... 19 3.10 Creating the Flame sensor Block [22]...... 19 3.11 Fields to Program the Sensor [22]...... 20 3.12 Flame Sensor in an example [22]...... 21

4.1 RoboSTEAM Project Logo [21]...... 28 4.2 Group of IPB Summer Camp [35]...... 28 4.3 Robot and the track used during the 2 Nano-Challenges [35]...... 30 4.4 The functioning of the line-follower sensor [37]...... 31 4.5 Track used during the challenge [35]...... 32 4.6 Monitors and teacher observing the scenario model made by students [21]. 33

viii Acronyms

CBL Challenge Based Learning. 3, 11, 21–23

CT Computational Thinking. 2, 35

EACEA Education, Audiovisual and Culture Executive Agency. 1

EDF Environmental Defence Fund. 33

GW Global Warming. 33

ICASE International Council of Associations for Science Education. 6

IDE Integrated Development Environment. v, viii, 2, 11, 14, 17, 18, 21, 27, 42

IPB Polytechnic Institute of Bragança. iii, v, vi, viii, 28, 32, 35

LCAR Laboratory of Control, Automation and Robotics. 28

NSF National Science Foundation. 5

PDR Physical Devices and Robotics. 2

R@FL Robot @ Factory Lite. 29

RISD Rhode Island School of Design. 7

SMET Science, Mathematics, Engineering and Technology. 5

ix STEAM Science, Technology, Engineering, Arts and Mathematics. iv, 1–3, 5, 7–9, 32, 41

STEM Science, Technology, Engineering and Mathematics. 1, 3, 5–9, 41

US United States. 1

WWII World War II. 1, 5

x Chapter 1

Introduction

The world is becoming a complex digital society, which will require a workforce prepared to deal with the robotization of the global economy. For this workforce become valuable not only for the job market but for the whole society, they need to have a set of key skills and knowledge that will allow to design solutions for modern problems and those that even not exist. In [1] there are listed and discussed the main key skills that are essential for a person to learn and develop for living in 21st century. Many of these skills can be taught and learned through Science, Technology, Engineering and Mathematics (STEM) and STEAM education. It is in these areas where the main jobs opportunities will be expected, and several countries around the globe are striving to make the STEM and STEAM areas more appealing to the students, since these concepts started to emerge in 20Th century after the World War II (WWII) and the spatial race between the Soviet Union and the United States (US). In the European context, there is a great importance in teaching STEM areas as stated by Education, Audiovisual and Culture Executive Agency (EACEA) in a report released in 2012, which emphasizes in tackling low achievement in reading, mathematics and science; increasing the number of mathematics, science and technology graduates; and further support in others essentials skills [2]. One effective educational approach that can foster STEM/STEAM skills and knowledge it’s through applying robotics in education, a phrase used to describe the use of robotics as a learning tool due to the transdisciplinary

1 this subject can bring [3], [4].

This work it is wholly related to ERASMUS+ Project named as RoboSTEAM - Inte- grating STEAM and Computational Thinking Development by using Robotics and Phys- ical Devices [5], in which have has general purpose to increase the vocation and interest of students in pre-university formation toward in STEAM fields, by using Physical De- vices and Robotics (PDR) in order to develop their Computational Thinking (CT), an essential competence that can be associated as one of the main skills needed to a future worker in society [1], [6]. The project also seek to improve teacher education, providing a framework for STEAM integration in different education contexts and giving guidelines for good practices and lessons learned adapted to different contexts.

1.1 Goals

The original objective of this work was to develop and prototype a mobile robot for robotics competitions like Line Follower of Robotic Day, and support classes in STEAM areas. The device developed could be used in teach and training in STEAM areas leading increase students interest for these fields and robotic competition. Instead of develop and built an entire robot from nothing, all the efforts have been put into finding a device that allow the student in understand the main concepts about mobile robotics, as the function of motors, sensors, microcontrollers and among others. Also find a programming tool known as IDE that can be friendly for the first lines of coding, in order to encourage the student to learn and improve the CT [6], [7]. Furthermore, supply a guideline from engineering perspective and to explore other possibilities about the use of this robot to be used as teaching tool, considering that most of educational studies in the literature uses LEGO’s robot [4].

2 1.2 Document Structure

In chapter2 it is presented the STEM and STEAM concepts, how these concepts were born and how it is applied in educational context using robotics. Then, the chapter3 de- scribes the information about the robot chosen to be used in the RoboSTEAM project and the reasons for this choice taking into account the advantages and disadvantages to other robots that are used in the literature, also it is shown a methodology for to use the mBot with other sensors and how to built its own extensions as well as describing the Challenge Based Learning (CBL) and Challenges concepts in which are the approaches used during the RoboSTEAM Project. In Chapter4 it is reported with details the information about the RoboSTEAM project, the two activities carried out through of challenge based learn- ing approach. After that in chapter5 it are discussed the obtained results from previous chapter. For last, the chapter6 it are conclusions about the work made and some ideas for future work.

3 4 Chapter 2

State of Art

In this chapter it is presented the STEM and STEAM concepts, how these concepts were born and how it is applied in educational context using robotics.

2.1 The Concept of STEM

What is this term STEM? When is searched very quickly on the internet, is usually confused with stem cell research, but it is an acronym to: Science, Technology, Engineering and Mathematics. Initially, STEM was first known as Science, Mathematics, Engineering and Technology (SMET), being a term created by National Science Foundation (NSF) in the United States in the 1990s. This concept is widely applied in educational context being acknowledged as STEM Education [8]. STEM Education is the outcome of sundry historical events. Two of the most impor- tant events that push this concept to born, was the WWII and the launch of the Soviet Union’s Sputnik. During the WWII, the developed and implemented were huge, this led the scientists, mathematicians and engineers to work with military force in order to produce innovative products that helped won the war and to foment the STEM Education. At the end of World War II the NSF was created, in an effort to recognize the contribution and preserve the research the documentation of commodities created during the war [9].

5 Since then, STEM education continued to expand and develop, and it has been applied in lot of different approaches in education, to list a few examples, is used in: competitions, classrooms, workshops, videos, summer experiences among others. D. W. White [9], suggests one purpose to STEM education, and says that it is should be available for all students to learn of how to apply their basic knowledge content and practices of the STEM disciplines into many situations of they will encounter in life. He also refers to STEM literacy to an individual’s:

• Knowledge, attitudes, and skills to identify questions and problems in life situations, explain the natural and designed world, and draw evidence-based conclusions about STEM related-issues;

• Understanding of the characteristic features of STEM disciplines as forms of human knowledge, inquiry, and design;

• Awareness of how STEM-related issues and with the ideas of science, technology, engineering, and mathematics as constructive, concerned, and reflective citizen.

In the last two decades, STEM Education has become an international topic of dis- cussion driven by the changing global economy. Around the world, workforce will need be prepared to deal with STEM areas [10]. The International Council of Associations for Science Education (ICASE) release in 2013 in ICASE World Conference, the Kunching Declaration on Science and Technology Education, which had input from participants representing thirty-four countries, in order to recognize the need to better prepare students for their future lives as global citizens. Part of this declaration is following below:

"Access to high quality education is a fundamental right for all. In times of global vulnerability, issues such as sustainability, health, peace, poverty alleviation, gender equity, and biodiversity conservation need to be at the forefront of thinking, planning and actions related to strengthening STEM education. While the relative balance and emphases of these disciplines varies

6 around the world, it is the interrelatedness and combination of these that will propel progress [11].”

This gives us an initial idea of how STEM education programs should work in general, presenting us with concepts that should be worked with students in order to develop crit- ical thinking, problem solving, creativity, communication skills through transdisciplinary, teamwork, centralized learning, and project-based learning and challenges [3]. However, as it can be seen in the following sections, this concept is worldwide applied in programs in all grade levels, being the main focus on K-12 education and how each country in which apply this concept in your education system has your own policy and goals for his programs, regardless of the country are developed or not.

2.2 The Concept of STEAM

The main concept of STEAM it is add the subject of Art into STEM. But what does change one concept from another? According to John Maeda, president of Rhode Island School of Design (RISD), only the STEM subjects will not lead the innovations that 21st century request, and art and design education fosters creativity and innovation [12]. For B. Trilling and C. Fadel [1], there a first set of 21st century skills that are keys to learning and creative work. This set of skills is listed as:

• Critical Thinking and problem solving;

• Communication and collaboration;

• Creativity and innovation;

These skills are crucial to 21st century global economy, which is requiring higher lev- els of imagination, creativity, and innovation in order to improve existing products and services and also invent new ones to the global marketplace. This aligns with Maeda’s thoughts and can show the importance of adding arts in STEM education, this new ap- proach bring a new whole viewpoint seeing by arts-integration, which is know as STEAM

7 education, this is expressed through creating an environment where students can learn through creative problem solving. C. Liao [13] says:

Integrated STEAM education, in this regard, is interdisciplinary education focused on transformative learning experiences whereby STEAM subjects are presented together.

Also from her viewpoint, solving problems in a creative way through art-making should be at the center of -integration approach, according with problem-based learning as well, which students learn by solving problems presented in a given project. This approach encourages students to see connections amid their abilities, skills and knowledge and for these connections will eventually contribute to solutions to 21st-century problems. In the next section, it will be show a few examples of studies/programs using robotics applied in education context in STEM/STEAM programs to set up a background to this work.

2.3 Robotics used in STEM/STEAM Education

For the first case study, as an example, an interesting case can be found in [14], which have developed a low-cost line follower robot that cost less than 25USD, using integration of free educational software and low cost electronics and mechanical devices as tool for teaching and learning, aiming to increase the students interest in engineering areas. The activity of building a line-follow robot allowed the students to have the interaction of electronic and mechanical components, requiring to learn and use the knowledge of those areas, also they had to develop skills in the manufacture of structural elements using cardboard to support all the components of the robot, and can be used as an educational tool. During the project they also have been exposed through several free educational software, by using software such as Sketchup free to 3D design and modeling, Fritzing to learn how to use electronic elements, Arduino IDE and Scratch program language

8 to introduce microcontrollers programming and thus were presented to computational thinking and programming concepts and sentences. The number of students enrolled in this project was 28 which the average age was 17.3 years. To evaluate the appropriation of knowledge by the students, was applied one test at the begin of the activity in order to know the previous experience, knowledge and interest, and other test at the end. The results with the tests made possible to observe that the students gained greater knowledge, increasing their interest in the engineering fields as so their confidence and performance to programming microcontrollers and using electrical circuits. This work was took at University Technological of Mexico which is a developing country, and it is important because the most of the students have difficult to have access to technological tools, and this break the technological and economic barriers for then for being a project that cost less than 25 USD [14].

H. Costelha and C. Neves [7] bring a research about the database on robotics-based educational platforms for K-12 education, where gather the most used robots in the literature studies. The paper summarize in tables the information collected about the robots researched, and sort by Project, Ages, Types, Motion Type, if the robot is Open- source and among other characteristics. The author concludes there are several types of educational robotics platforms available on the market, with the associated learning resources its the using increasing, but as seen in the [4] the LEGO’s robot domain with 90% in the education scenario in 2012 as the main choice for STEM/STEAM activities. The following references show the future trend where mobile robots are made by using 3D printers and being Arduino-based, to be applied in an educational context.

Another paper that uses the robotic in field’s education is [15], the authors had de- veloped a new platform to introduce sensoring and navigation skill to new users, using a simple approach on the use of the robot to show the problems in the field of mobile robotics. Tacking into account that the target audience for use this robot is inexperience, its was designed to be small and simple, with parts that can be acquired and replace easily. The robot was tested in the Robotic Day 2017 in Czech Republic which is a competition environment that the participating students can improve their mobile robotic skills in a

9 real use case. Gonçalves, José et al. [16], propose a low cost educational mobile robotics experiment: an approach based on hardware and simulation. The mobile robot it is 3D printed and the hardware used is not expensive, could be reply in other possibles scenarios. The proto- typed robot was simulated in the SimTwo a realistic simulation software. The experiment was done with the objective to introduce students in the mobile robotics challenges, doing all the step until the competition that was the assessment used, they started programming the simulated robot, testing in the virtual environment and then did in the real robot. This approach in very useful and can be applied in schools of developing countries that usually have reduced budget.

10 Chapter 3

Materials and Methodology

This chapter describes the information about the robot chosen to be applied in the Ro- boSTEAM project and the reasons for this choice taking into account the advantages and disadvantages to other robots that are used in the literature. It also described the CBL concept in which is the approach used during the RoboSTEAM Project. Later it is explained the concept about Challenges. As seen previously, there is an urgent demand for new approaches involving robots as teaching tool [3], when in 2012 the most of educational experiences/studies conducted in literature use the LEGO’s robot in which some of viewpoint can be expensive [4]. H. Costelha and C. Neves [7] gather and show others robots that can be used in educational context, after making a research about each robot, it was found a robot that has an interesting potential for use due the wide of sensors embedded and for his price compared to others in this paper. The robot chosen was the mBot robot from Makeblock Co. Ltd, a and the features about the robot as well as the features about the IDE that its need to program the robot it will be described in the following sections.

3.1 mBot Robot

The mBot robot as is shown in the Figure 3.1 is an entry-level STEAM educational robot kit for beginners that makes teaching and learning robot programming easy. When a

11 customer acquires the mBot, it does not comes ready for use, it needs to be assembled. Therefore, for many students in K-12 education, this may be their first experience with mechanical and electronic parts of a robot. In Figure 3.2 it are shown the parts that compose the mBot.

Figure 3.1: mBot Robot [17].

Concerning the technical specifications of mBot, the main control board is the micro- controller ATmega328P being the same chipset that is embedded in Arduino Uno board, and comes with a light sensor, a button, an IR receiver, an ultrasonic sensor, a line fol- lower sensor, there is also the possibility to program other modules like a buzzer, 2x RGB LED, an IR transmitter and two motors. It can be powered with a 3.7V lithium battery or 6V (4x 1.5V) batteries. It also comes by standard, with 3 preset control modes: 1 - Obstacle avoidance mode, 2 - Line - follow mode and 3 - Manual control mode. In mode 1, the mBot moves and avoids obstacles autonomously, in mode 2 the mBot moves au- tonomously along the black lines on the map, and the last mode 3, the mBot is controlled by the remote controller that comes included in the package. As can be seen in [7], the mBot comes with a large range of sensors whether compared to others, with all these sensors, it allows the students to learn about their physical concepts as an example the line follower sensor and ultrasound sensor, the schematic of mCore, the line-follower and the ultrasonic sensors can be found in appendixA. Observing

12 Figure 3.2: mBot Parts [17].

13 the price it is possible to conclude that it is much cheaper than Lego’s robot, in the paper the mBot its shown the price of 99 e, but making a research on the internet, it can be found even cheaper, as 63 e on the Amazon’s website [18]. The mBot also allows the user to acquire some of additional hardware packages, as an instance the Talkative Pet, offering some others mechanical parts and sensors as well, showing the mBot can propose several possibilities with different approaches to learn about robotics[19].

3.2 mBlock 5 IDE

To program the mBot it is required to install the mBlock 5 IDE for the PC version, a Scratch 3.0-based software designed to support STEAM training, as shown in Figure 3.3 the initial environment of the IDE on the Windows Software. By supporting block-based programming, mBlock 5 allows users to freely program various Arduino-based devices and devices from Makeblock Co. Ltd., it is also through this software that students can program the additional hardware packages for mBot. Figure 3.4 shows a few devices available to program with mBlock 5.

Figure 3.3: mBlock 5 IDE Environment [20].

14 Figure 3.4: Devices for programming with mBlock 5 [20].

3.3 mBot with other Sensors

Whereby described in the section 3.1, the mBot allows the users to acquire additional hardware packages. To program these additional hardware packages the user must add the respective extensions to each type of hardware in the mBlock 5. The Figure 3.5 shows a few examples of extensions developed by Makeblock Co. Ltd. However, if the additional hardware packages and extensions are not provided by the mBot’s company and not fit for the needed objectives, it is possible to create extensions blocks to use according to the sensors and devices the user is going to use. In the case for this project and due to the theme of the challenges as will be seen in the section 4.2, the mBot robot needed to be adapted so that the challenges could be solved, adding a flame sensor as shown in Figure 3.6a). To unite the sensor to the robot it was designed a support using the free software OpenSCAD and prototyped using a 3D printer, the support can be observed in Figure 3.6b). The final result of mBot is shown in Figure 3.7.

15 Figure 3.5: Standard extensions for mBot [20].

Figure 3.6: Flame Sensor and its support [21].

16 Figure 3.7: The mBot adapted [21].

With the mBot already adapted, it was necessary to create an extension for the mBlock 5 so that the analog or digital values of the flame sensor could be obtained and read by the mBot. In order to do this, the MakeBlock Co. Ltd provide a platform for makers and stakeholders and it is available on [22]. The whole process to create a new extension it is described in the subsection below, using as example the flame sensor.

3.3.1 Creating an extension for mBlock 5

Before begin to create an extension for any sensor, we must know how it does work the sensor by reading its data sheets, the flame sensor scheme and user manual it is found in the appendixA and its the data sheet on [23]. An instance it is shown in the appendix B, using the Arduino IDE. With this structure in mind, it is will be applied in the Extension Builder web-based IDE, in which its appearance is shown in the Figure 3.8. To start create the new extension, just click in the "Add extension" button as can be seen in the previous picture, then choose the "Universal Template" option and will appear the box to the user fill the basic information about the extension, being mandatory the user complete the "ID", "Version" and "Name" fields, for the "Support device/sprite" field the user must select the "mcore" option, because it is the name of mBot’s board, like

17 Figure 3.8: Extension Builder IDE [22]. shown in the Figure 3.9. After this step, the extension created it will be listed in the Extension Builder IDE, and now its required to configure the block of the extension. In order to this, the user has to select in the "Operate" column the option "Edit". The next step it is add a category of block in the "Blocks Settings", then choose the name and color to the block’s category. In the case of the flame sensor, the block category’s name is "Sensors", and the analog value is read and this value that will return from the block is a integer number as presented in the structure on the appendixB, so the block category to chose it must to be the "Number" option, this whole step can be see in the Figure 3.10. For the last and the most important step before we generate and import the extension to the mBlock 5, the user needs to set and save in the tab "Transcode Settings" the code language that the block will to use, in the flame sensor is the "Arduino C" option, that means the block’s codification will to be C-language-based. Thus, in the tab "Upload Transcode", as can be seen in the Figure 3.10, it is the place where the main coding of the sensor going stay. The flame sensor example it is shown the Figure 3.11. Therefore, the extension and the block it ready to be downloaded and imported to the mBlock 5 IDE, the file downloaded it has the "ID" name and the ".mext" format.

18 Figure 3.9: Creating the Flame sensor extension [22].

Figure 3.10: Creating the Flame sensor Block [22].

19 Figure 3.11: Fields to Program the Sensor [22].

20 Figure 3.12: Flame Sensor in an example [22].

To import this file to Scratch Environment just drag into mBlock’s work’s space and the extension will be added successfully. The Figure 3.12 demonstrate the example made to the flame sensor with a little application in the mBlock’s IDE. This method used in this section shows that can be possible to adapt it to several types of sensors to the mBot robot in order to be applied in many situations or challenges for STEAM teaching, being the important part of this work.

3.4 Challenge Based Learning

As pointed out by Camargo et at.[21], CBL is a flexible methodology that encourages students to leverage the technology they use in their daily lives to solve real-world prob- lems [24]. CBL is a collaborative methodology. It is going to involve the student’s groups, but also other peers, teachers, experts, parents, etc. in order to solve a real problem. A CBL approach requires to propose to the students a big idea, this idea will be discussed in order to find some main questions. The students analyze the questions and define a

21 challenge. The challenge is addressed by the students in a collaborative way and involving people from their educational contexts and from the outside [24]. Some authors identify 3 phases in a CBL methodology [25]:

• Engage. Through a process of Essential Questioning the Learners move from an abstract Big Idea to a concrete and actionable Challenge.

• Investigate. All Learners plan and participate in a journey that builds the founda- tion for Solutions and addresses academic requirements.

• Act. Evidence-based Solutions are developed, implemented with an authentic audi- ence, and then evaluated based on their results.

Some samples of the application of CBL could be [24]–[32]. From these experiments and other it is possible to describe some advantages of this methodologies [33]:

• CBL provide to the students a deeper understanding of different topics and the possibility to learn how to analyze the problems in order to pose the better solutions.

• CBL involve learners both in the definition and solution of a problem.

• CBL promotes collaborative working between students from different disciplines in order to solve a problem. This collaboration goes beyond their classmates, but includes also parents, teachers, researchers, experts, etc. This collaboration could help them in their professional development.

• CBL connects the student with the real world in order to address the challenges.

• CBL promotes the development of communication skills by using social and media tools.

However also previous works have shown some drawbacks in the methodology:

• Global projects are often away from the specific contents of academic subjects [29].

22 • Traditional assessment systems can be a problem for students, because they may be more focused on assessments than on learning [26].

• Most of the CBL experiments cannot be easily associated to a specific subject in academic contexts. They used to be applied to CBL specific designed subjects or to master projects [31].

• Students’ perception about this approach is not clear because not all the experiments have indicators to evaluate this [32].

• The participation of people with different roles may cause difficulties for students that should adapt their way to work to this situation [29].

• The results of the global projects are typically obtained when the academic year has finished [28].

• There is wide choice of tools to use in CBL experiences so evaluation is not easy [33].

Some of these drawbacks are also present in the RoboSTEAM project. RoboSTEAM aims to carry out two pilot stages. The first phase includes piloting in 5 schools with stu- dents from 12 to 16 applying the methodology and later to carry a pilot stage exchanging challenges and tools. In order to check if the same solutions and challenges can be applied in different socioeconomic context. At this moment, this piloting is being designed and one of the most relevant issue found is to understand what a Challenge is, and how to define challenges to be applied in different schools, with time and students background constraints.

3.5 Challenge Concept

Camargo et al. also shown the Challenge concept. Being necessary to describe the challenge concept with different granularity levels, so it can be adapted to the specific

23 needs of each institution,in the case for the RoboSTEAM project team decides to apply the concept of Challenge, Mini-Challenge and Nano-Challenge proposed by Nichols et al. [25]. In the next subsections these concepts will be commented.

3.5.1 Challenge

It works posing to students a big idea, they should discuss about it and define some main questions about this idea, from these questions a challenge is proposed. Students should address the challenge looking for a collaborative solution that involves their peers, teachers, experts, etc. After this, the solution, will be assessed [25]. “Standard Challenges are longer (one month and longer) and allows considerable latitude for the Learners. Working together, the Learners identify and investigate Big Ideas, develop Challenges, do extensive investigation across multiple disciplines and take full ownership of the process. The Framework is used from start to finish, including implementation and evaluation of the Solution in an authentic setting.” Although in the literature there is not a clear description about how many hours the students employ to these types of challenges per day the authors consider 4 hours per day, 5 days per week and 4 weeks per month. This means that it should comprise 80 working hours, from which around 40-60 should be at class and 20-40 is personal work of the student. Examples of standard challenges [34]:

• Big Idea: Gender Equality

• Main question: How it is achieved gender equality?

• Challenge: Build a culture of gender equity!

• Later the authors will have some guiding questions, research, act and reflect.

3.5.2 Mini-challenge

The Mini-challenges are not so big as a standard challenge and increase the level of choice and responsibility of a nano-challenge, typical duration is around 2-4 weeks. These

24 challenges allow learners “to start with a Big Idea and work through the entire framework. The research depth and the reach of their Solutions increases and the focus can be content specific or multidisciplinary. Taking a “show me what you can do” perspective, Mini Challenges are good for intense learning experiences that stretch the Learners and prepare them for longer Challenges” [25]. Regarding duration with 4 hours per day, 5 days per week model we can talk about a minimum of 40 hours per mini challenges, which 20- 30 should be at class and 10-20 are devoted to students’ personal work. Several mini- challenges could be the base for a standard challenge.

3.5.3 Nano-challenge

“Nano Challenges are shorter in length, focus on a particular content area or skill, have tight boundaries and are more teacher directed. The Learners typically start with the Challenge without identifying a Big Idea or Essential Question. The process includes the Investigation and Act phases, but at a significantly lower level of intensity and often stop short of implementation with an external audience. Typically, Nano Challenges are used as scaffolding leading to more significant Challenges or during longer Challenges to address specific concepts”[32].

That is, nano-challenge will be our minimum unit to build challenges, it is more oriented to a Project based learning approach, it could involve external people but it is not nec- essary. Regarding the number of hours required by it we are talking between 6-10 hours of classes and 4-6 of students work. Several nano-challenges can be used to address a mini-challenge.

25 26 Chapter 4

RoboSTEAM Erasmus+ Project Activities

The RoboSTEAM ERASMUS+ Project, which is an European project co-funded by Eras- mus+ KA2-Cooperation and Innovation for Good Practices and Strategic Partnerships for school education, has as goal to provide frameworks and tools to facilitate the learning actions based on robotics to teach STEAM areas. In order to accomplish this goal the project has eight partners which are: the Karlsruher Institut Fuer Technologie from Ger- many, ITA-Soumen Yliopisto from Filand, IES Eras De Renueva, Salamanca University and León University from Spain, Polytechnic Institute of Bragança, Carvalhos Boarding School and Emídio Garcia School, the last three are from Portugal. During this project had occurred exchanges between partner’s students in order to understand if the same tools and methods can be applied in different socioeconomic context[5]. The Logo of the RoboSTEAM project it is shown in the Figure 4.1.

In the following sections it are depicted two exchanges in which mBot and mBlock 5 IDE were used as the tools that helped the students thinking through the proposed challenges, each one with a central theme with a challenge based learning case study.

27 Figure 4.1: RoboSTEAM Project Logo [21].

4.1 Educational Robotics Summer Camp at IPB

The summer camp at IPB happens every year. It has as objective to promote science to technical and secondary schools, in July of 2019 the summer camp took place in the Laboratory of Control, Automation and Robotics (LCAR), and took 5 days to be done. The number of persons involved in this project was 22, being 16 students, 4 monitors and 2 professors, the whole group can be seen in the Figure 4.2. The students were from secondary schools from all over of Portugal with average ages nearly 15,5 years old, however the ages range goes from 14 to 17.

Figure 4.2: Group of IPB Summer Camp [35].

For the Summer Camp being a challenge based learning case study, it needed to have

28 a central challenge for the students to think and study about and solve, however in [25] the development of a challenge involves too many hours whether compared with the hours available for the camp, so based on theme, the challenge was turn into something more concrete as Mini-Challenges and this was separated in 4 Nano-Challenges being one of them the one that use the mBot and mBlock 5 as tools to solve it.

4.1.1 Challenges Descriptions

The main theme of the summer camp was Transportation and Navigation of Mobile Robotics and all the 4 Nano-Challenges were based on this topic. This was proposed to encourage the students to reason about the increasing using of fossil fuels as a source of energy over the years, and how the vehicles based on this source of energy impacts the environment. They had to develop the tasks to work together that makes the mobile robots solve problems that seems simple to humans, in order to think in to reduce the environmental impact caused by the use of fossil fuels. The students were separated in 4 groups, 2 groups had 4 students, one group with 3 students and the last one with 5 students, in this way, each group had to solve a different Nano-Challenge to develop a solution. A brief description upon the 3 Nano-Challenges is given below, and the one uses the mBot and mBlock 5 is described with details in the next subsection. The first nano-challenge to be described involves the transportation of loads by mobile robots through a controlled environment, the robot should move along the track without any help of a joystick. Thus, it was proposed to the students the process of digitizing a factory floor, so the robot can indicate which region it is moving through and decide to take an action for the possibles occasions it may have. The main idea here was that on the factory floor there would be circles or squares with different colors, and with the color sensor, the robot would take a pre-programmed action according to the color identified. The second nano-challenge given to students was to learn and develop a mobile robot that identify an intersection while follow a line based on the rules of Robot @ Factory

29 Lite (R@FL) competition as can be seen in [36]. This task it is linked with the first nano-challenge and these 2 groups work together to solve these 2 problems, the Figure 4.3 shows the robot and the track used during these 2 first nano-challenges.

Figure 4.3: Robot and the track used during the 2 Nano-Challenges [35].

For the last nano-challenge before we discuss about the challenge that uses the mBot and mBlock 5, the students had to develop a low cost stroboscope prototype, which is a optical instrument that generate flashes of light with frequencies that can be chosen for the user and be applied in the maintenance, calibration or do the measurement of bodies in a movement.

4.1.2 Nano-Challenge using mBot and mBlock 5

This subsection it is focus on describing all the activities made by the 5 students that realized this nano-challenge. The main goal was to build a program based on Scracth language that makes the mBot follow a line. The monitor started showing the functioning of the 3 preset modes as is described in the Chapter3, following with the explanation in how it does work the line-follow sensor of mBot and the logic behind the functioning of the sensor, as can be seen in the Figure 4.4, in which allows the students associates the infrared light used in the sensor with the physics subject, moreover explaining and showing how to use and create their own block programming. After this, the monitor proposed to students the main goal of this challenge.

30 Figure 4.4: The functioning of the line-follower sensor [37].

In that way, the line - follow challenge was set, using the mBot the student had to build a block program in mBlock 5 that makes the robot follow a line similar presented in the preset mode. When the students finishes the program they upload the code to the mBot and test their logical think in the track shown in the Figure 4.5. The main objectives of this activity was:

• Study mobile robots;

• Study navigation issues in mobile robots;

• Study possible ways facilitate that a mobile robot follow a line;

• Explore the scenarios were mobile robots can be applied.

And the points to evaluate the students after to conclude the challenge was:

• Time employed to solve the challenge;

• Degree of success using the mBot robot to follow the line;

• Robot accuracy following the line.

31 Figure 4.5: Track used during the challenge [35].

The complete description and results about the others nano-challenges previous com- mented can be found in [35]. The results of the evaluation realized with the students it is discuss and presented in the Chapter5.

4.2 Emídio Garcia School Pilot A RoboSTEAM Eras- mus+ Project Activity based on a Challenge Based Learning Approach

Another exchange of students from the RoboSTEAM Erasmus+ project, occurred at the Emídio Garcia School from Bragança in Portugal, this pilot was done with the collab- oration of the IPB, the University of León and IES ERAS DE RENUEVA School also from León in Spain. This STEAM activity took 5 days to be done and uses the challenge based learning approach to promote technological knowledge being related with mobile robotics, using as physical device the mBot robot and the mBlock 5 to program it. In the following subsections it is described the challenge theme as well as the mini-challenge and

32 the four nano-challenges done by the students, and also is depicted the procedure realized to adapt the mBot to be used in this project.

4.2.1 Challenges Descriptions

A worldwide issue that concern all of us it is the wildfires. This problem has annually double in the American west according to Environmental Defence Fund (EDF). In Eu- rope this problem must be similar about the numbers and facts. Setting in this way, the main theme of this challenge, aiming the use of robotics the project sought to improve the environment and to look for successful strategies to prevent fires reducing the Global Warming (GW). An artwork also was made by the art students, contributing in a mean- ingful way to provide the context for the scientific challenge based on team work. The Figure 4.6 shows the complete artwork, highlighting the damage caused by fires in our community and lives.

Figure 4.6: Monitors and teacher observing the scenario model made by students [21].

With this global issue as background, the students had to work in four nano-challenges

33 using the mBot, in order to perceive the problem and think about it. The first nano- challenge was to make the mBot following a line, the second one was to use the detector flame sensor, thus they could understand the functioning by detecting a flame, then the next nano-challenge was to gather the first and the second nano-challenges to run into mBot, the last one was to make the robot avoid obstacles, add posteriorly this block in the third nano-challenge code. Once complete all the nano-challenges, the mBot navigated in the scenario of the Figure 4.6, was giving the idea to students that using mobile robots we can prevent early ignition and also using it for surveillance tasks and among others examples. So that mBot could be used in the challenges it was necessary an adaptation to use the flame sensor, this is described in the next section. And the discussion about the obtained results of this challenge based learning project it is presented in the chapter5.

34 Chapter 5

Results and Discussion

In this chapter it are discussed the results obtained from the two RoboSTEAM activities based on the challenge based learning approach that involved the use of mBot robot and the mBlock 5, each one with different central themes, leading the students to think through the proposed problems and developing their CT.

5.1 Results obtained from Educational Robotics Sum- mer Camp at IPB

As seen the subsection 4.1.2 the assessment of the students was made by observing the time employed, the degree of success and the accuracy to follow the line using the mBot. To solve the proposed challenge, the students had to understand the operation of the line-follow sensor, understanding the decimal values that return from sensor in order to structure the block-code, thinking in what the robot should do in the each situation as shown in the Figure 4.4. The mBot’s line sensor have two infrared sensors as can be observed in the Figure 3.2, being 1, the left sensor and 2, the right sensor, these sensor can represent values in bit as well as in decimal, to better comprehend this its shown in the Table 5.1. The group that had 5 students participated in this challenge, being 3 males and 2

35 Situations Sensor Values in Bits Sensor Values in Decimal Situation 1 00 0 Situation 2 01 1 Situation 3 10 2 Situation 4 11 3

Table 5.1: Response Values of Line-follow Sensor.

females and the average of their ages was 15.2 years. Three of them said they were the first experience in programming a mobile robot, one said already had experience in programming in another platform using scratch, and the last one informed already had programmed LEGO’s robot and shown facility in structuring the blocks to solve the problem.

After a few hours working, the students were able to understand and code in block language the logic according the Table 5.1 to make the mBot follow the line, in which performed efficiently for 3 first cases where the response value of the line sensor was 0, 1 and 2. For the last case, the students had some performance problems, because when the robot reach this case, it changed the direction going the reverse path. Took while to they thought of a way to solve it, in which was when the robot was doing the curves, it did with lower speed in the motors, therefore, the robot would never reach the case where the response value is 3.

Viewing the general context, the students were efficient to solve the challenge around 3 hours, taking in count that 60% of the team never had previous experiences with the programming of mobile robots. The degree of success of the program was considered good, but they tested the robot several times without think better if the code was going to make the robot run the whole track or not before to test.

36 5.2 Results obtained from Emídio Garcia School Pi- lot

During the described Pilot there were seventeen students involved in total, being eight Spanish and nine Portuguese. They were divided into four groups, three groups of four students and one group with five students, as presented in the Table 5.2. The students were distributed regarding their backgrounds, each group had as many students of Arts as of Sciences and Technology. They were all from regular secondary schools, that is part of the consortium of the RoboSTEAM project. In the first group, there were two Spanish students from the fourth year of High School and two Portuguese students, one from Sciences and another from Arts, with an age average of fifteen years old. The second group was composed of two Spanish students from fourth year of High School and three Portuguese students, two from Arts and one from Sciences and Technology, all of them were fifteen years old. The third group consisted of two Spanish students from the third year of High School and two Portuguese students, one from Arts and another from Sciences, with their age around fourteen years. In the last and fourth group, there were two Spanish students, one from the third year and one from the fourth year of High School, two Portuguese students, one from Sciences and Technology and another from Arts, being the average age around of fifteen years old. It were applied four nano challenges for the all groups, as seen in the subsection 4.2.1, in the nano challenge 1 the students had to write a program in scratch that makes mBot follow a line. In the nano challenge 2 they had to use the flame sensor to detect a flame and the nano challenge 3 consisted to merge both functions for the mBot follow a line, detect a flame, stop, play a buzzer during three seconds and then continue the navigation. In the last nano challenge, the students had to make the robot avoid obstacles, using an ultrasonic sensor, and then to present the four nano-challenges together running in the mBot. On Table 5.3 it are presented the groups performance, the total time to complete the nano challenge, the respective grades, as well as, the final grade calculated for all the groups, through the average grade of each nano challenge. The evaluation and the grades

37 Groups Students Nationality Age Course Student 1 Portugal 15 Sciences Student 2 Spain 15 4o ESO Group 1 Student 3 Spain 14 4o ESO Student 4 Portugal 16 Arts Student 5 Spain 15 4o ESO Student 6 Spain 15 4o ESO Group 2 Student 7 Portugal 15 Sciences and Technology Student 8 Portugal 15 Arts Student 9 Portugal 15 Arts Student 10 Spain 14 3o ESO Student 11 Portugal 14 Sciences Group 3 Student 12 Spain 14 3o ESO Student 13 Portugal 15 Arts Student 14 Portugal 15 Sciences and Technology Student 15 Spain 14 4o ESO Group 4 Student 16 Spain 14 3o ESO Student 17 Portugal 16 Arts

Table 5.2: Groups description table [21]. were based on the time that the groups spent to complete the nano challenge, as well as the effort and cooperation between the students evaluation. Besides that, the groups that thought more before testing got better grades than those who just tested. Group 2 obtained the highest grade and group 4 the lowest. The group 3 spent much time to finish the nano challenge 1, it was observed that they had more difficulty to understand the scratch program language, because two Portuguese students already had knowledge about high-level programming, therefore they felt confused to work with simpler programming and thus they took more time to reach the goal. In the nano challenge 4, groups 1 and 2 had more difficulty to develop the avoid obstacles task, because this challenge was the most complex, being necessary to spend more time to reach a good and reliable solution. However, groups 3 and 4 were faster, this happened because they already knew what adjustments were needed. In general, all groups presented a good performance and managed to finish the nano challenges.

38 Groups Group 1 Group 2 Group3 Group 4 Time nano challenge 1 35 min 25 min 52 min 40 min Grade 6 8 2 4 Time nano challenge 2 20 min 8 min 13 min 28 min Grade 8 10 7 7 Time nano challenge 3 24 min 38 min 19 min 47 min Grade 10 10 9 5 Time nano challenge 4 50 min 56 min 28 min 26 min Grade 8 8 8 8 Final grade 8 9 6.5 6

Table 5.3: Groups performance table [21].

39 40 Chapter 6

Conclusions and Future Works

The preparation of future students for our current Digital Society is not an easy task. The students are used to the use of technologies; however this is not enough. They should develop skills as critical thinking, problem solving techniques, work distribution, etc. In may case this is achieved through STEM/STEAM related subjects or the development of Computational Thinking. But integrating this in our current educational landscape is really hard. A possible way is during educational initiatives as the Summer Camp and the pilot exchange described through the chapter4. These kind of approaches allows to work with a reduced number of students, in groups and with advanced technology as are Robotics and Physical Devices. In this case, with the support of RoboSTEAM project also methodological innovations as Challenge Based Learning Approaches were also ap- plied. From the two experiments accomplished in this work, it was possible to obtain several conclusions: 1) Students are easily engaged with technology and programming, being the themes robotics related very appealing to them; 2) The use of challenges give them more freedom to address their tasks and the possibility to involved not only their peers but teachers, experts, parents, etc; 3) The use of Challenges provides students of a wider perspective of problems that not only solving problems or projects, because the challenge based learning approach inserts the students into the challenge theme, making them research about the topics approached; 4) It is not necessary a deep knowledge on programming or robotics to complete Nano-Challenges using the mBot and the mBlock

41 5; 5) Students perception about STEAM improves after the experiments. Taking this into account, it is clear that Challenge Based Learning approaches work properly in controlled environments and the use of Robotics and Physical devices can be positive to develop skills related to those demanded by the digital society.

6.1 Future Works

This work explores the potential of the mBot robot and its mBlock 5 IDE an educational tool, applied during the RoboSTEAM project in two different programs with challenge based learning approach. There is a few considerations to do about the mBot as well as the mBlock 5 to relate as future works. The first point to discuss about it is the importance of the mBlock 5 IDE, this is a powerful tool that it is supported by several devices, from smartphones to personal com- puters, this software can be implemented in the early stages of K-12 education, allowing the students to create their own histories and games just using the standards sprites of the program, may using Scratch language for beginners or Python language for those more interested in coding. Its all in order to improve the critical and computational thinking of the students, being also a great education tool to start teaching programming microcontrollers. Another aspect to highlight is about the hardware of mBot it is too simple, its impose limits in the number of activities that could be used for, a instance for this affirmation it is the adaptation realized in the 3.3 and the mBot could have coupled an accelerometer and a 3-axis gyroscope sensors to enable the possibility of the robot could measure its speed, distance and directions. With these sensors the robot can be used in physics subject to teach for example kinetics, and using the method as in the subsection 3.3.1.

42 Bibliography

[1] B. Trilling and C. Fadel, 21st century skills: Learning for life in our times. John Wiley & Sons, 2009.

[2] A. European Comission. Education and C. E. Agency(EACEA), “Developing key competences at school in europe: Challenges and opportunities for policy”, Tech. Rep., 2012.

[3] A. Eguchi, “Bringing robotics in classrooms”, in Robotics in STEM education, Springer, 2017, pp. 3–31.

[4] F. B. V. Benitti, “Exploring the educational potential of robotics in schools: A systematic review”, Computers & Education, vol. 58, no. 3, pp. 978–988, 2012.

[5] European-Comission, “Robosteam project description”, Tech. Rep., Oct. 2018.

[6] S. Grover and R. Pea, “Computational thinking in k–12: A review of the state of the field”, Educational researcher, vol. 42, no. 1, pp. 38–43, 2013.

[7] H. Costelha and C. Neves, “Technical database on robotics-based educational plat- forms for k-12 students”, in 2018 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), IEEE, 2018, pp. 167–172.

[8] R. W. Bybee, The case for STEM education: Challenges and opportunities. NSTA press, 2013.

[9] D. W. White, “What is stem education and why is it important”, Florida Association of Teacher Educators Journal, vol. 1, no. 14, pp. 1–9, 2014.

43 [10] T. Kennedy and M. Odell, “Engaging students in stem education.”, Science Educa- tion International, vol. 25, no. 3, pp. 246–258, 2014.

[11] ICASE, The kunching declaration, Final Proceeding of the World Conference on Science on and Technology Education http://www.icaseonline.net/ICASE% 20Kuching%20Declaration_Final.pdf, Sep. 2013.

[12] J. Maeda, “Stem+ art= steam”, The STEAM journal, vol. 1, no. 1, p. 34, 2013.

[13] C. Liao, “From interdisciplinary to transdisciplinary: An arts-integrated approach to steam education”, Art Education, vol. 69, no. 6, pp. 44–49, 2016.

[14] E. Serrano Pérez and F. Juárez López, “An ultra-low cost line follower robot as educational tool for teaching programming and circuit’s foundations”, Computer Applications in Engineering Education, vol. 27, no. 2, pp. 288–302, 2019.

[15] V. H. Pinto, J. M. Monteiro, J. Gonçalves, and P. Costa, “Prototyping and program- ming a multipurpose educational mobile robot-nassie”, in International Conference on Robotics and Education RiE 2017, Springer, 2018, pp. 199–206.

[16] J. Gonçalves, M. Silva, P. Costa, and A. Sousa, “Proposal of a low cost educational mobile robot experiment: An approach based on hardware and simulation”, in 6th internation conference on Robotics on Education, 2015.

[17] Mbot robot, https://www.makeblock.com/mbot, Accessed in July 2019.

[18] Amazon, https://www.amazon.com/, Accessed in January 2020.

[19] Mbot add-on packs - talkative pet, https://www.makeblock.com/mbot-add-on- packs-talkative-pet, Accessed in July 2019.

[20] Mblock 5, https://www.mblock.cc/en-us/, Accessed in July 2019.

[21] C. R. D. Camargo, L. S. Brancalio, J. Gonçalves, J. Lima, M. João, L. Fernandes, M. Trovisco, and M. A. Conde, “Emídio Garcia School Pilot description: A Robosteam Erasmus+ Project Activity based on a Challenge based Learning Approach”, Ac- cepted for publication in EDUCON2020 – IEEE Global Engineering Education Con- ference, 2020.

44 [22] Extension Builder makeblock co. ltd. https://ext.mblock.cc/, Accessed in July 2019.

[23] Datasheet Flame Sensor, https://www.waveshare.com/wiki/Flame_Sensor, Accessed in July 2019.

[24] L. Johnson and S. Brown, “Challenge based learning: The report from the imple- mentation project”, The New Media Consortium, Tech. Rep., 2011.

[25] M. Nichols, K. Cator, and M. Torres, Challenge based learning guide. redwood city, ca: Digital promise, 2016.

[26] J. R. Savery and T. M. Duffy, “Problem based learning: An instructional model and its constructivist framework”, Educational technology, vol. 35, no. 5, pp. 31–38, 1995.

[27] Á. Fidalgo-Blanco, M. L. Sein-Echaluce, and F. J. Garcıa-Peñalvo, “Integration of the methods cbl and cbi for their application in the management of cooperative academic resources”, in 2016 International Symposium on Computers in Education (SIIE), IEEE, 2016, pp. 1–6.

[28] N. Baloian, K. Hoeksema, U. Hoppe, and M. Milrad, “Technologies and educational activities for supporting and implementing challenge-based learning”, in IFIP World Computer Congress, TC 3, Springer, 2006, pp. 7–16.

[29] W. B. Gaskins, J. Johnson, C. Maltbie, and A. Kukreti, “Changing the learning envi- ronment in the college of engineering and applied science using challenge based learn- ing”, International Journal of Engineering Pedagogy (iJEP), vol. 5, no. 1, pp. 33–41, 2015.

[30] T. Giorgio and S. Brophy, “Challenge-based learning in biomedical engineering: A legacy cycle for biotechnology”, age, vol. 6, p. 1, 2001.

45 [31] J. Malmqvist, K. K. Rådberg, and U. Lundqvist, “Comparative analysis of challenge- based learning experiences”, in Proceedings of the 11th International CDIO Confer- ence, Chengdu University of Information Technology, Chengdu, Sichuan, PR , 2015.

[32] C. Marin, J. Hargis, and C. Cavanaugh, “Note for editor: Ipad learning ecosystem: Developing challenge-based learning using design thinking”, Turkish Online Journal of Distance Education, vol. 14, no. 2, pp. 22–34, 2013.

[33] Oie-Tec-Monterrey., Aprendizaje basado en retos. tecnológico de monterrey, mon- terrey, nuevo león, méxico. 2016.

[34] Digital-Promise., Big idea: Gender equality. 2018.

[35] J. Gonçalves, J. Lima, T. Brito, L. Brancalião, C. Camargo, V. Oliveira, and M. Á. Conde, “Educational robotics summer camp at ipb: A challenge based learning case study”, in Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing Multiculturality, ACM, 2019, pp. 36–43.

[36] J. Braun, L. A. Fernandes, T. Moya, V. Oliveira, T. Brito, J. Lima, and P. Costa, “Robot@ factory lite: An educational approach for the competition with simulated and real environment”, in Iberian Robotics conference, Springer, 2019, pp. 478–489.

[37] Mblock examples - simple line follow program, https://education.makeblock. com/resource/simple-line-follow-program/, Accessed in July 2019.

46 Appendix A

Schematics

A1 1 2 3 4 A2

A A

COC2C2 10K DOUT VCC PIREC0R601 PIREC0R602 PIC201 PIC202 GND COREC0R6REC_R6 0.1uF

C1COC1 1K VCC PIC101 PIC102 GND VCC PIREC0R501 PIREC0R502 PIREC0L301 PIREC0L302 GND VCC B B 0.1uF COREC0R5REC_R5 REC_L3COREC0L3

PIREC0R202 1K DOUT VCC PIREC0R301 PIREC0R302 PIREC0L101 PIREC0L102 VCC PIREC0P101 1 4.7K GND PIREC0P102 2 COREC0R2REC_R2 COREC0R3REC_R3 REC_L1COREC0L1 NLAOUTAOUT PIREC0P103 3 PIREC0R201 NLDOUTDOUT PIREC0P104 4 AOUT VCC REC_PCOREC0P11

PIREC101 REC_L2COREC0L2 COREC1REC1 PIREC0R401 DOUT 1 8 PIREC0L201 OUT1 VCC PIREC0L208 VCC FLAME_TUBE COREC0R4REC_R4 2 7 PIREC0R402 PIREC0L202 IN1- OUT2 PIREC0L207 10K AOUT 3 6 PIREC0L203 IN1+ IN2- PIREC0L206 PIREC0R403 4 5 PIREC102 PIREC0L204 GND IN2+ PIREC0L205 LM393 Waveshare COlogo1 C C GND GND Flame Sensor

D D

1 2 3 4 Flame Sensor User Manual Waveshare

Flame Sensor User Manual

1. Features Voltage comparator LM393 (wide voltage chip range) Detection wavelength 760nm-1100nm Operating voltage 3.3V-5.3V Detection angle 0 degree-60 degree Operating temp. -25℃-85℃ Dimensions 29.2mm*11.2mm Fixing hole size 2.0mm 2. Applications This module can be applied to fire detection system, fire-fighting robot, fire alarm system, etc. 3. Interfaces Pin No. Symbol Descriptions 1 DOUT Digital output 2 AOUT Analog output 3 GND Power ground Positive power supply 4 VCC (3.3V-5.3V) 4. How to use We will illustrate the usage of the module with an example of fire detection by connecting a development board. ① Download the relative codes to the development board. ② Connect the development board to a PC via a serial wire and the module to the development board. Then, power up the development board and start the serial debugging software. Here is the configuration of the connection between the module and the development board.

Port STM32 MUC pin DOUT GPIOA.4 AOUT GPIOA.6 GND GND VCC 3.3V A3

1

1 2 3 4 5 6 7 8 A4

PIR102 COR1R1 PIR101 2.2k RCOR22 VBUS PIR202 PIR201 PID301 PID201 5V 0.4R COU2U2 COD3D3 COD2D2 5V PIR2302 1 8 red green COR23R23 COR5R5 PIU201 TEMP1 CE PIU208 PID302 PID202 PIR501 PIR502PIU2022 PIU2077 2.2k A GND PROG2 CHRG PID602 PIR2301 A PIU2033 PIU2066 1.2K GND D STDBY COD6D6 PIU2044 A PIU2055 BAT VCC P BAT PIC401 PIC501 PIC601 PIC701 SMAJ5.0APIPWR01 COC4C4 COC5C5 COC6C6 COC7C7 PID601 PWRCOPWR PIC402 10uF/PIC50210V0.1uF PIU2099 PIC602 10uF/10VPIC702 0.1uF red TP4056 PIPWR02 GND GND GND GND

COU1U1 COS1S1 3 4 3 NLFBFB PIS103 PIU104 EN FB PIU103 NLBATBAT 3 2 2 COF3F3 1.1A COD4D4 2 GND 5V PIQ303 PIQ302PIS102 GND PIU102 COQ3Q3 1 5 1 PID502 PIS101PIF301 PIF302PID401 PID402 PIU105 IN SW PIU101PID101COD1 PID102 PIC801 COC8C8 PIC3501 D1 PIC201 PIC301 PIR402 COD5D5 SS34 220uF/16V COC35C35 TP3605 SS34 CCOC22COC3C3 RCOR44 PIQ3011 SS34 PIC802 PIC3502 0.1uF PIC202 220uF/PIC302 0.1uF16V 220k JCOJP2P2 GND 1 NLVINVIN PID501 PIR401 COU4U4 1 PIJP201 COL1L1 PIQ101 COP1P1 2 PIR902 COF2F2 1.1A COD11D11 PIR702 1 24 PIJP202 PIL101 PIL102 PIU401 AO1 VM1 PIU4024 3 COR9R9 V-M GND RCOR77 NLM10M1+ 2 23 NLPWM10D6PWM1_D6 PIP101 1 PIJP203 PIF201 PIF202PID1101 PID1102 4.7uH PIU402 AO1 PWMA PIU4023 BAT 2 3 100k 30k 3 22 NLDIR10D70DIR1_D7- 5V PIQ102 PIQ103PIP102 2 PIU403 PGND1 AIN2 PIU4022 PIR901 PIR701 4 21 NLDIR10D70DIR1_D7+ SS34 PIU404 PGND1 AIN1 PIU4021 PH2.0_2P 5 20 PIC1202 PIU405 AO2 VCC PIU4020 NLM10M1- 6 19 CCOC1212 COQ1Q1 PIU406 AO2 STBY PIU4019 GND GND 7 18 PIC1201 0.1uF PIU407 BO2 GND PIU4018 M2+ 8 17 NLDIR20D40DIR2_D4- PIU408 BO2 BIN1 PIU4017 9 16 NLDIR20D40DIR2_D4+ PIU409 PGND2 BIN2 PIU4016 10 15 NLPWM20D5PWM2_D5 GND PIU4010 PGND2 PWMB PIU4015 B 11 14 B PIU4011 BO1 VM3 PIU4014 M2- 12 13 NLV0MV-M PIU4012 BO1 VM2 PIU4013 PGND PIC1501 PIC1402 PIC1301 COC13C13 COC15 COC14C14 5V 5V TB6612 COR10 C15 22uF/25V R10 NLPGND PIC1502 PIC1401 0.1uFPIC1302 GND PIR1001 PIR1002PGND 0.1uF 5V PIR1102 PIR1202 0R COR11R11 COR12R12 PIR1302 COU5U5 CH340G 10k 10k PGND COR13R13 5V PIR1101 DIR2_D4- PIR1201 DIR1_D7- COD7 COUSB1USB1 NLVBUSVBUS 10k D7 PIU5011 PIU501616 M1+ P2COP2 NLM20M2+ COP3P3 GND VCC 3 3 1 D0/RXDPIR1301 2 15 PIC1601 PIQ403 PIQ503 PIC1702 PIC1802 + PIUSB101 PID701 PID702 PIU502 TXD R232 PIU5015 COR14 COR15 PIP201 1 PIP301 1 2 D_N D1/TXD 3 14 NLRTSRTS COC16C16 DIR2_D4+ R14 1 COQ4Q4 DIR1_D7+ R15 1 COQ5Q5 CCOC1717 COC18C18 D - PIUSB102 4148 PIU503 RXD RTS# PIU5014 PIR1401 PIR1402PIQ401 PIR1501 PIR1502PIQ501 PIP202 2 PIP302 2 3 D_P 4 13 DTR 0.1uF PIC1602 S9013 S9013 M1- PIC1701 0.1uF NLM20M2-PIC1801 0.1uF D+ PIUSB103 PIU504 V3 DTR# PIU5013 1k 1k 4 COC19C19 PIC1902 NLD0PD_P 5 12 NLDCDDCD - PIUSB104 PIU505 UD+ DCD# PIU5012 2 2 0.1uF NLD0ND_N 6 11 NLRIRI PIQ402 PIQ502 PIU506 UD- RI# PIU5011 USB-B PIR1802 PIR1902 7 10 NLDSRDSR GND PIC1901 YCOY11 PIU507 XI DSR# PIU5010 COR18R18 COR19R19 2 1 8 9 NLCTSCTS PIY102 PIY101PIU508 XO CTS# PIU509 PIC2001 PIC2101 GND GND COC20C2012M COC21C21 PIR1801 PIR1901 PIC2002 22pF PIC2102 22pF COP4P4 Header 3 5V

GND GND PIR602 NLRESETRESET 1 2 3 COR6R6 COJ1 COJ2 COJ3 COJ4 COD10D10 COC22 PIQ8022 J1 J2 J3 J4 C22 COR31 10k 5V COU6U6 1 SCL 1 SCL 1 SCL 1 SCNLSCLL NLDTRDTR PIP401 PIP402 PIP403 R31 PIR601 1 COQ8Q8 SCL PIJ101 SCL PIJ201 SCL PIJ301 SCL PIJ401 PID1002 PID1001 R PIC2202 PIC2201PIR3101 PIR3102PIQ801

NLSDA T S8550 PIU6066 PIU601919 A6 5V PIJ1022 SDA PIJ2022 SDA PIJ3022 SDA PIJ4022 SDA PIR3302 VCC ADC6 SDA SDA SDA SDA D 1k D _

T 0.1uF PIU6044 PIU602222 A7 PIJ1033 GND PIJ2033 GND PIJ3033 GND PIJ4033 GND 4148 COR33R33 3 N

C S C

VCC ADC7 GND GND GND GND NLEX0DTRX 5V 4 5V 4 5V 4 5V 4 5V NLRST 20k PIQ803

PIR2002 R G E COL2L2 5V PIJ104 5V PIJ204 5V PIJ304 5V PIJ404 18 23 A0 COR20R20 5 D11/MOSI 5 D9 5 NLA2A2 5 ANLA00 PIL201 PIL202 PIU6018 AVCC PC0 (ADC0/PCINT8) PIU6023 S1 PIJ105 S1 PIJ205 S1 PIJ305 S1 PIJ405 PIR3301 PIU602424 A1 10k PIR2102 PIJ1066 D12/MISO PIJ2066 D10 PIJ3066 NLA3A3 PIJ4066 ANLA11 NLAREF PC1 (ADC1/PCINT9) COR21 S2 S2 S2 S2 AREPIU6020F20 PIU602525 A2 RESET PIR2001PIC2602 PIC2601DTR R21 D AREF PC2 (ADC2/PCINT10) D COC23C23PIC2302 COC24C24 PIC2402 COC25C25 PIC2502 26 A3 COC26C26 10k RJ25 RJ25 RJ25 RJ25 GND X PC3 (ADC3/PCINT11) PIU6026 X T R NLA7 D PIS202 / / PIU602727 SDA 0.1uF A7 PIR2101 PC4 (ADC4/SDA/PCINT12) 1 0 N

NLD10TXDNLD00RXD V 0.1uF 0.1uF 0.1uF 28 SCL COP6P6 P7COP7 NLGNDNL5V PIC2301 PIC2401 PIC2501 PC5 (ADC5/SCL/PCINT13) PIU6028 D D G 5 29 RESET COS2S2 PIS302 COC27C27PIC2702 SCL NLD120MISOD12/MISO PC6 (RESET/PCINT14) PIU6029 6 PIP606 6 PIP706 SDA NLD110MOSID11/MOSI PIP504 PIP503 PIP502 PIP501 5 PIP605 5 PIP705 30 D0/RXD COS3S30.1uFPIC2701 A3 NLD10D10 PD0 (RXD/PCINT16) PIU6030 4 PIP604 4 PIP704 4 3 2 1 31 D1/TXD PIS201 A2 NLD9D9 PD1 (TXD/PCINT17) PIU6031 3 PIP603 3 PIP703 32 D2 A1 5V PD2 (INT0/PCINT18) PIU6032 2 PIP602 2 PIP702 1 D3 PIS301 A0 GND COP5P5 Header 4 PD3 (PCINT19/OC2B/INT1) PIU601 1 PIP601 1 PIP701 2 DIR2_D4+ GND PD4 (PCINT20/XCK/T0) PIU602 9 PWM2_D5 Header 6 Header 6 PD5 (PCINT21/OC0B/T1) PIU609 10 PWM1_D6 GND 5V PD6 (PCINT22/OC0A/AIN0) PIU6010 11 DIR1_D7+ 5V PD7 (PCINT23/AIN1) PIU6011 12 D8 PID801 PB0 (PCINT0/CLKO/ICP1) PIU6012 13 D9 PID902 COLS2LS2 COD8D8 5V PB1 (PCINT1/OC1A) PIU6013 14 D10 COD9D9 IR_LED 5V COLED1LED1 PB2 (PCINT2/SS/OC1B) PIU6014 PILS201 15 D11/MOSI 4148 COU7U7 PID802 1 4 DNLD130SCK13/SCK PB3 (PCINT3/OC2A/MOSI) PIU6015 PIC2801 PILS102 PILED101 VDD IN PILED104 16 D12/MISO PID901 PIR2402 CCOC2828 COLS1LS1 COC29C29 PIC2902 2 3 PIR3201 COH1H1 HCOH22 COH3H3 HCOH44 PB4 (PCINT4/MISO) PIU6016 PILS202 PILED102 OUT VSS PILED103 3 17 D13/SCK RCOR2424 0.1uF RCOR3232 PIU603 GND PB5 (SCK/PCINT5) PIU6017 PIR2202 GND PIC2802 5 7 PIR2502 RCOR2222 5V 100R 0.1uFPIC2901 WS2812 100k PIU605 GND PB6 (PCINT6/XTAL1/TOSC1) PIU607 BUZZER 21 8 COR25R25 51R PIR2401 COLED2LED2 GND PIR3202 PIU6021 GND PB7 (PCINT7/XTAL2/TOSC2) PIU608 COR26 1 1 1 1 R26 2.2k PIR2201 PIR2702 NLA6A6 PILS101 1 4 PIH101 PIH201 PIH301 PIH401 3 PIR2602 PIR2601 1 2 3 PILED201 VDD IN PILED204 D ATmega328-AU PIR2501 COR27R27 5V PIQ703 PIC3001 PIR2801 GNCCOC34D34 PIC3402 2 3 D

3 hole hole hole hole 1MCOY2Y2 PIU701 PIU702PIU703 PILED202 OUT VSS PILED203 GND PIQ603 10k DNLD33 1 CCOC3030 COR28R28 GND 2 1 COR29R29 PIR3001 PIR3002PIQ701 PIY202 PIY201 PIL01 NLD8D8 1 COQ6Q6 NLD2D2 PIR2701 PIC3101 0.1uF PIC3002 47k 0.1uFPIC3401 WS2812 COlogologo PIC3201 PIC3301 PIR2901 PIR2902PIQ601 COICSP1ICSP1 5V COLL S9013 COC31C31 PIR2802 GND COC32C3216M COC33C33 1k 2 D12/MISO blue 0.1uF PIC3102 COR30R30 1k PIQ702 logo PIICSP101 1 2 PIICSP102 22pF 22pF 2 D13/SCK D11/MOSI PIC3202 PIC3302 PIL02 PIQ602 COQ7Q7 GND PIICSP103 3 4 PIICSP104 RESET S9013 GND makeblock PIICSP105 5 6 PIICSP106 GND GND GND Header 3X2 GND GND GND

1 2 3 4 5 6 7 8 1 2 3 4

VCC VCC VCC GND PIR101 PIR201 PIR301 COR1R1 LED_Red VCC COR2R2 COR3R3 COU1U1 COJ1J1 2.2k 5 A 27k 750R PIU105 SN74LVC1G14DBVR A 1 PIR102 SCL PIJ101 PIC102 PIR202 PIR302 2 4 S1 2 COD1D1 PIU102 A Y PIU104 SDA PIJ102 C1COC1 PIR401 3 GND PIPWR01 2 1 GND PIJ103 PIC101 0.1uF PIU202 PIU201 COR4R4 4 VCC_IN VCC COPWRPWR 3 VCC PIJ104 PID101 PID102 COU2U2 PIU103 2.2k C PIJ1055 S1 N PIR402

S1 A 6 S2 SS14 PIPWR02 S2 PIJ106 GND SS14 LED_Blue A GND PID301

RJ25 E C COD3D3 GND

PIU2033 PIU2044 PID302

GND GND COP1P1 GND 4 PIP104 VCC_IN 3 PIP103 S1 VCC 2 PIP102 S2 VCC B 1 PIP101 PIR501 PIR601 B Header 4 COR5R5 COR6R6 COU3U3 27k 750R PIU3055 SN74LVC1G14DBVR PIR502 PIR602 2 4 S2 PIU302 A Y PIU304 PIR701 PIU4022 PIU4011 COR7R7 COU4U4 PIU3033 2.2k C N PIR702 A LED_Blue A GND PID401 E C COD4D4

PIU4033 PIU4044 PID402 lCOlogo1ogo1

logo GND GND makeblock

C C

D D Title: Me-Line Finder V2.2

Date: 2014/5/24 Time: 11:38:25 www.makeblock.cc 1 2 3 4 A5 A6

1 2 3 4 VCC VCC GND PIR201 PIQ202 COJ1J1 COR2R2 T_PWR RCOR11 Q2COQ2 1 2k PIR101 PIR102PIQ201 SCL PIJ101 1k COD1 COU1 COC1 SDA PIJ1022 D1 PIR202 U1 1k C1 3 VCC D2COD2 COU2U2 CCOC22 0.1uF1 16PIQ203 COC3 0.1uF A GND PIJ103 PIC202 PIC201PIU101 C1+ VCC PIU1016 C3PIC101 PIC102 A 4 5V PID201 VCC P34 1 8 T2 3 2 5V PIJ1045 T_PWPID101R PID102 LED_Red PIU2012 P34 P33 PIU2087 T1 0.1PIU103uF4 C1- V+ PIU102PIC302 PIC301 S1 PIJ105 PIU202 VCC P32 PIU207 PIC401 PIC402PIU104 C2+ 6 SIG PIC502 P35 3 6 T_PWR CCOC44 5 0.1uF S2 PIJ106 PID202 COC5C5 PIU203 P35 P31 PIU206 PIU105 C2- COLS1LS1 SS14 PIU2044 GND P30 PIU2055 SIG GND PIC501 0.1uF PIR2001 T1 11 14 STC15F101W COR20R20 PIU1011 T1 PIU1014 PILS101 GND 100k T2 10 7 PILS102 PIU1010 T2 PIU107 COP1P1 GND PIR2002 Tx GND 12 13 3 PIP103 PIU1012 R 1 PIU1013 5V 2 PIP102SIG GND 9 8 1 PIP101 PIU109 R 2 PIU108 COC6C6 Header 3 15 6 0.1uF PIU1015 GND V- PIU106PIC601 PIC602 MAX232 GND GND

B B

COC7C7 1nF PIC702 PIC701 VCC RCOR33 COR6R6 75k RCOR44 75k RCOR55 120k PIR301 PIR302 PIR601 PIR602 PIR401 PIR402 PIR501 PIR502 47k 75k 120k PIR702 VCC VCC VCC VCC COR7R7 10k PIR701 P35 LCOLS2S2 PIU3044 COU3DU3D PIU3044 COU3CU3C RCOR1010 CCOC1010 PIU3044 COU3BU3B PIU3044 COU3AU3A RCOR88 COC8 TL074CD TL074CD TL074CD PIQ103 PILS202PIR801 PIR802PIC802C8 PIC801PIU301313 1nF PIU3099 TL074CD PIR1001 PIR1002PIC1002 PIC1001PIU3066 PIU3022 1nF 14 RCOR99 COC9C9 1nF 8 7 1 RCOR1212 COQ1Q1 PILS201 10k D PIU3014PIR901 PIR902PIC902 PIC901 C PIU308 10k B PIU307 A PIU301PIR1201 PIR1202PIQ101 12 PIR1302 10 1nF 5 RCOR1111 3 PIR1401 PIU3012 6.8k PIU3010 PIU305 PIR1101 PIR1102 PIU303 10k Rx COR13R13 2k COR14R14 GND 160 VCC 3.9k PIQ102 1 1 1 1 PIU30111 PIR1301160 PIU30111 PIU30111 PIU30111 PIR1402 C PIR150110k C COR15R15 GND GND GND COR19R19 GND GND RCOR1616 10k P34 PIR1502PIR1601 PIR1602 PIR1901 PIR1902 CCOC1111 PIC1101 PIR1701 120k PIR1801 PIC1301 RCOR1717 RCOR1818 COC13C13 VCC 0.1uFPIC1102 10k 3.3M PIC1302 15nF PIR1702 PIR1802 PIC1402 COC14C14 PIC1401 0.1uF GND COlogo1logo1 logo GND logo

D D Title: Me-Ultrasonic V3.0

Date: 2014/3/24 Time: 12:14:50 www.makeblock.cc

1 2 3 4 Appendix B

Codes

1 // lowest and highest sensor readings:

2 const int sensorMin = 0 ;// sensor minimum

3 const int sensorMax = 1024 ;// s e n s o r maximum

4

5 void setup(){

6 // initialize serial communication @ 9600 baud :

7 Serial .begin( 9600 );

8 }

9 void loop(){

10 // read the sensor on analog A0 :

11 i n t sensorReading = analogRead(A 0 );

12 // map the sensor range (four options):

13 // ex:’long int map(long int, long int, long int, long int, long i n t)’

14 i n t range = map(sensorReading , sensorMin , sensorMax, 0 , 3 );

15

16 // range value:

17 switch (range) {

18 case 0 :// A fire closer than 1.5 f e e t away .

19 Serial .println(" ∗∗ Close Fire ∗∗ ");

20 break;

21 case 1 :// A fire between 1−3 f e e t away .

22 Serial .println(" ∗∗ Distant Fire ∗∗ ");

B1 23 break;

24 case 2 :// No fire detected.

25 Serial .println("No Fire");

26 break;

27 }

28 delay( 1 );// delay between reads

29 }

Listing B.1: Arduino Flame Sensor Example.

B2