logo-girl-color-white-bg (9)
Ë
By Launch Coding • June 5, 2019

Teaching the Basics of Coding Through Arduino and IOT Projects

Launch Curriculum Writer Stefanie Garcia explains why project-based instruction using microcontrollers creates a great on-screen and hands-on computer science and engineering learning experience for young coders.

Every year our world becomes more and more interconnected as electronics brings people and machines closer together. In the past decade, we have witnessed a technological revolution that has resulted in many of our appliances evolving from average, to “smart”. Smart devices are digital tools, able to go online in order to collect, download, and send data that can then be shared on online internet and cloud-based services. There are over 20 billion smart devices currently connected to the internet, and this number is trending to increase exponentially as electronics become smaller, cheaper, and use less power to do more computation.

In our Arduino and IOT course, we are providing middle school students, and advanced pre-middle students an opportunity to learn about the hardware and software behind the electronics they use in their everyday lives. This course provides a hands on approach to learning how to build and program electronics in a simplified version of C/C++, using the Arduino Integrated Development Environment (IDE). Students in this course will learn about how inexpensive microcontrollers are quickly changing the technology around us today by increasing automation, and increasing connectivity.

Our summer course curriculum focuses on a few areas of input recognition programming, including LED light control, home and garden monitoring, robotics with distance sensing and servo movement, and how we can build an IOT rainbow lighting web server to control an RGB LED. The full course also includes key projects based on IOT health robotics, music and sound with Arduino, programming infrared (IR) sensors to code an IR remote, and light sensitive robotics.

Arduino for kids is a great, inexpensive way to quickly learn some of the basics of coding (loops, if/else statements, conditional statements, functions, using a library, etc.), and is an excellent way to explore the inputs and outputs of microcontrollers. This is a powerful teaching tool to help students learn how to code the devices that make functioning in our modern world possible. Kits that come with multiple kinds of sensors and action components can be purchased for as low as $30, which can be many times less than some of the other popular educational robotics kits currently on the market!

The course’s curriculum is developed so that there is both non-screen based building time, and screen-based coding time. Designing the course in this way allows for many problem-based debugging practice opportunities, peer-to-peer learning, and project-based maker space components to ensure our students take away lasting skills and understanding of the topics. This also opens up a lot of valuable social learning opportunities for students. Electronics can seem hard and challenging at first, and it is important to us to not only teach students how to succeed, but also how to deal with working through roadblocks by using problem-solving methods.

For the Arduino summer course, we want to give students a sense of mastery over the Arduino basics by the end of the week. There is no time pressure to complete projects, and there is no pressure to finish everything in the camp. Students can try things at home and continue creating after the camp is completed, and are encouraged to try new projects with the knowledge they take home at the end of the week (https://create.arduino.cc/projecthub). Ultimately, at the end of this course students will understand the relevance and prevalence of microcontrollers in their lives, and take a hobbyist electronics approach towards building their own projects to improve the world around them.

What does this look like?

Here are a few screenshots and pictures of some of the projects and tools used in the course!

            unnamed        unnamed (1)

Figure 1: Starting lessons introduce basic terminology and practice with LED outputs (left) and understanding single sensory inputs, like the water level sensor (right). All breadboard diagrams and circuit schematics are provided to students (left).

           unnamed         Screen Shot 2019-04-26 at 5.43.12 PM

Figure 2: We introduce coding concepts, like loops, libraries, and conditional statements through the use of real world play and application.

          Explorer_Bot_Breadboard      Assembly6.3

Figure 3: By plugging and playing, we can start building up to simple robotics that take sensory inputs and perform an output given certain conditions!

              10. Connect to Circuit 1    703_8_2

Figure 4: Simple version, and extended version of a capacitive sensing (sensing that a touch screen uses) buzzer piano. (Full course only)

                       image2-1        image1-1

  RGB_Web_Breadboard      6. Red ON

Figure 5: HTML Intro for a Red, Green, Blue (RGB) LED Web Server (top). The first IOT project uses the Arduino Desktop IDE, and allows students to control an RGB LED over the internet through a local host (bottom).