Please enable JavaScript to use CodeHS

Introduction to Physical Computing with Arduino

Description

In this first lesson, students will be introduced to Tinkercad, where they will build and test programs throughout the course. They will also do preliminary research on various Arduino example projects and set their goals for the course.

Objective

Students will be able to:

  • Articulate what physical computing is
  • Use Tinkercad to create a virtual circuit using various components
Description

In this lesson, students will take a deeper look at developing, testing, and running programs on Tinkercad. They will learn how to write and run programs on the simulator and will develop their own programs using the delay and digitalWrite commands.

Objective

Students will be able to:

  • Develop, test, and run programs on the Arduino simulator on Tinkercad
  • Use the digitalWrite and delay commands in Arduino programs
Description

In this lesson, students will learn about comments and pseudocode, why they are important, and how they help organize and plan programs. They will also learn the basic difference between analog and digital components and how to use the analogWrite command in their programs.

Objective

Students will be able to:

  • Use comments to write more readable programs
  • Develop pseudocode in order to properly plan and organize their programs
  • Articulate the difference between analog and digital devices
  • Use the analogWrite command in Arduino programs
Description

In this lesson, students will build their first physical circuit using a breadboard with their Arduino devices. They will learn to use variables to control components, along with the analogRead and map commands.

Objective

Students will be able to:

  • Articulate what a variable is and why they are used and assign and utilize variable in their programs
  • Create a simple circuit using their Arduino device and a breadboard
  • Control an LED by using the analogRead and map commands in Arduino programs
Description

In this lesson, students will learn some tips and tricks for debugging physical circuits. They will learn to use the Serial Monitor and the print and println commands to display values on their screen.

Objective

Students will be able to:

  • Follow a step-by-step process to debug their programs
  • Use the Serial Monitor to debug programs by reading the values of components
Description

In this lesson, students review content with a 15 question Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts through a multiple choice quiz
Description

In this lesson, students will connect and control a servo motor using their Arduino device. They will learn to use for and while loops to control components, along with the write command from the Servo library.

Objective

Students will be able to:

  • Use for and while loops to control the flow of their programs
  • Control a servo motor by using the Servo library and the write command in Arduino programs
  • Understand why and how libraries are used in Arduino programs
Description

In this lesson, students will learn how buttons can be used to allow for additional user input in their programs. They will learn to use conditionals to control components, along with the digitalRead command.

Objective

Students will be able to:

  • Use conditionals to control the flow of their programs
  • Control components by using buttons and the digitalRead command in Arduino programs
Description

In this lesson, students will learn about sensors and why they are so important in physical computing. They will use an ultrasonic range finder to detect attributes of the Arduino’s environment and write programs that will make decisions based on these values.

Objective

Students will be able to:

  • Use operators inside conditionals to control the flow of their programs
  • Use the value of an ultrasonic range finder to control commands in Arduino programs
Description

In this lesson, students will learn about sensors and why they are so important in physical computing. They will use various internal sensors to detect attributes of the Arduino’s environment and write programs that will use functions with and without parameters to more clearly organize their code and make it more reusable.

Objective

Students will be able to:

  • Use functions with and without parameters to create more organized and reusable programs
  • Use various sensors to gather information about the environment and control components in their Arduino programs
Description

In this lesson, students will learn how motor controllers can be used in their circuits to control DC motors. They will explore the different ways to control the direction and speed of motors in their programs, setting them up to use this very adaptable component in many future programs.

Objective

Students will be able to:

  • Use motors and motor controllers in their circuits
  • Apply commands they are familiar with to control motors
Description

In this lesson, students review content with a 15 question Unit Quiz.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts through a multiple choice quiz
Description

In this lesson, students will learn build complex circuits with LCD screens. They will experiment with the millis command to count time and will use all of the concepts they’ve learned up to this point to complete their first larger projects- a digital watch and an elevator.

Objective

Students will be able to:

  • Use control structures to develop readable, concise, and effective programs
  • Control LCD screens to display information
  • Use the millis command to count time without pausing the program
Description

In this lesson, students will research, develop, and present a lesson to their peers on the use of a new sensor with their Arduino devices.

Objective

Students will be able to:

  • Research how to use a new sensor with their Arduino devices
  • Develop and present a lesson to their peers instructing them on how to use a new sensor in their programs
Description

Students will get a chance to follow instructions written by someone they’ve never met to replicate a project in this lesson. They will then evaluate and improve these directions to make them more effective for a target audience.

Objective

Students will be able to:

  • Follow step-by-step instructions to build complex circuits using breadboards
  • Evaluate the clarity and effectiveness of given instructions
  • Improve directions to more effectively serve a specific audience
Description

In this final lesson, students will put together all of the concepts learned throughout the course to create a project of their choice. They will work individually, or with partners or groups to creatively develop a program of their choosing.

Objective

Students will be able to:

  • Synthesize concepts and skills learned in the course to create their own final project
  • Scope their project (eliminate features that aren’t necessary) so that it fits in the timeframe allotted
  • Present their project to their classmates and talk about how the project was developed