Monday, December 31, 2007

Intro to Microcontrollers with Arduino

Class is sold out, thanks. We will offer it again later this year, email machine at machine project dot com to be on notified in advance

Taught by Mark Allen
Saturdays January 5th and 12th, 1-4pm
Wednesdays January 9th and 16th, 7:30-10pm
$285 dollars ($250 for Machine Project members) All supplies included.


What is Arduino?

Arduino is an open-source physical computing platform based on a simple i/o board, and a development environment for writing Arduino software. The Arduino programming language is an implementation of Wiring itself built on Processing.

Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other outputs. Arduino projects can be stand-alone, or they can be communicate with software running on your computer (e.g. Flash, Processing, MaxMSP) The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free.

This class will focus on building new physical senses and making motion with the building blocks of robotics, using Arduino as a platform. We’re basing this class on the incredibly well documented Bionic Arduino class by Tod Kurt.


– Laptop (Mac OS X or Windows)
– Some programming experience helpful
– Some hardware experience useful for last half

Good To Have/Bring

– Basic knowledge of electric circuits
– Multimeter
– Wire cutters / strippers

Class outline

Class 1a: Intro
– Welcome & Handouts
– Introducing Arduino
– Arduino the software
– Hooking up the hardware
– Interesting areas of the board
– Building and coding an LED blinker
– Boarduino/Arduino has built-in LED for this
– Using digitalWrite()

Class 1b: How it works, More LEDs & Battery Power
– Arduino sketch structure
– Two functions: setup() and loop()
– C code, but easy
– Varying LED brightness
– Using analogWrite() (uses PWM, more later)
– Stand-alone operation
– Adding 9V battery
– Be careful of polarity and shorts
– Wiring diagrams & schematics
– Breadboard layout
– Adding a Button
– Using digitalRead()

Class 2: Talking to the Computer & RGB color
– Quick Review
– Make a Color Fading Mood Light
– Adding multiple LEDs
– Controlling Arduino from the computer
– What is ‘serial’?
– Adding a Knob to Arduino
– Using analogRead()

Class 3a: Making Motion with Motors
– About Pulse Width Modulation
– PWM as digital-to-analog voltage converter
– PWM as analog time (percentage on vs off)
– About transistors has high-power switches
– Attaching a motor

Class 3b: Sensing Motion and Making Sound
– About the Wii Nunchuck
– 3D accelerometers
– Lots of buttons
– I2C control
– Adding a Wii Nunchuck to Arduino
– Controlling Motors and Lights with the Nunchuck
– Basics of sound generation
– Converting notes to frequency

Class 4: More Senses
– Quick Review
– Sensing Light (or Dark)
– Sensing Pressure with Piezos
– Other types of Sensing
– Rotary encoders
– Infrared detectors
– Other Types of Motion Makers
– Servos
– Muscle Wire

Share:   Facebook    Twitter