Teaching with Arduinos

Turn students into Makers through physical computing

Josh Caldwell

Robotics and Computer Science Teacher, Timbercrest JH
jcaldwell@nsd.org | @mrjoshida | edstuckinthecloud.com

What is the Ardunio

Short Answer:

A tiny, easy to program computer



Longer Answer:

An 8 bit microcontroller designed for Education with analog and digital I/O pins allowing for quick and easy development of physical computing devices.

Uno

Mega

Micro

Mini

Ethernet

Lilypad

Third Party Variants

Because the Arduino is released under open licenses, anyone who wants can make and sell an Arduino compatible board. Some are virtually identical to the official Arduino, while others are highly customized for a particular application.

Third party Arduino compatible boards can be found for as little as $5, but buyer beware. Official Arduinos are well built and reliable, others may not hold up as well.

Shields

Shields are secondary circuit boards that stack on top of the Arduino's I/O pins. These boards provide additional features to the base Arduino such as motor control, network communications, display output, audio processing, and much more. There are a handful of official Arduino shields, but most are produced by third parties.

Why use the Arduino?

  • Low barrier to entry
  • Turns ethereal software physical
  • Promotes Computational Thinking
  • Gets kids Making

How

Hardware

  • Kit vs ala Carte
  • Breadboard vs Solder
  • Find circuits
    • Arduino.cc
    • Instructables
    • Circuitlab
    • Circuits.io

Software

  • C based language
    • Arduino IDE
    • Codebender
  • Visual language
    • Ardublock
    • Modblock($)
    • Scratch
      Interface Languages
  • Processing
  • Python
  • Almost anything else

Hello, World!


// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off
  delay(1000);               // wait for a second
}
						

Arduino in the Classroom

Links to CCSS / NGSS

Sense

Taking input from the outside world, great for scientific datalogging activites

Plan

Focus on the code and calculations taking place in the Arduino. A good place to apply math concepts

Act

Dealing with the physical output of your program. Interactive art displays using simple LEDs can be a great introduction to programming

Persistence of Vision

Persistence of Vision

Applause-o-meter

Applause-o-meter

Jeopardy Buzzer

Jeopardy Buzzer

Pong

Pong

RC Car

RC Car

Laser Harp

Gingerbread Christmas Lights

Resources

Back to the start