This workshop uses Arduino

Workshop conducted by JennyLC Chowdhury

These notes are a condensed version of what's available on

What is physical computing?

Physical computing, in the broadest sense, means building interactive physical systems by the use of software and hardware that can sense and respond to the analog world.

In practical use, the term most often describes handmade art, design or DIY hobby projects that use sensors and microcontrollers to translate analog input to a software system, and/or control electro-mechanical devices such as motors, servos, lighting or other hardware.
read more on wikipedia

Examples:

Danny Rozin's

wooden mirror

MayWa Denki

Bitman

Dance Dance Revolution

video

Chris Meyers

Roomba with an air softgun

What is a microcontroller?

A microcontroller is a small, inexpensive computer, usually used for sensing input from the real world and controlling devices based on that input.

Like any other computer, a microcontroller has to have input ports to detect action by a user, and output ports through which it expresses the results of its programs. The pins sticking out of the microcontrollers are the inputs and outputs. Other devices, like light, heat, or motion sensors, motors, lights, our sound devices, are attached to these pins to allow the microcontroller to be sensitive to the world and to express itself.

more from Tom Igoe

What is Arduino?

Arduino is a type of microcontroller. More specifically, it is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

Why Arduino is Awesome: Like many other microcontrollers, Arduino connects directly to the programming computer. Unlike the others, though, it has a built-in USB-to-serial interface, so it can connect right to your computer's USB port with a cable. Beyond that, no additional hardware is needed.
Programming Language: A variation on C that's very similar to Processing.
Hardware Interface: simple digital and analog circuits interface to I/O pins.
Cost: Arduino: $30-35 Can be obtained from Sparkfun in the US.
Chip: ATmega168 (formerly ATmega8). It has 13 digital pins (6 of which allow PWM output) and 6 analog inputs.
Bonus points: There are USB, serial, bluetooth, and mini versions.
Arduno is open-source, with plans available online.

See an image of what came before
more from Tom Igoe

Some Fun Arduino Projects

FluidForm Cassius boxing
LED Carpet
Binary Bridge
Intimate Controllers

Basic Electronics

Current

Current is a measure of the magnitude of the flow of electrons in a circuit. It is measured in Amperes, or Amps. Many people explain electrical flow by using water flow as an analogy. Following that analogy, current would be how much water (or electricity) is flowing past a certain point. The higher the amperage, the more water (or electricity) is flowing.

Voltage

Voltage is a measure of the electrical energy of a circuit. It is measured in Volts. In the water analogy, voltage would be the water pressure. Think of a geyser as high voltage, and the shower of a low-rent apartment on the fifth floor of a tenement building as low voltage (unless you're one of those lucky people with good water pressure!).

Resistance

Resistance is a measure of a material's ability to oppose the flow of electricity. It is measured in Ohms. A sponge in the pipe would act as a resistor, limiting the current (and the voltage) flowing through the pipe.

Ohm's Law: voltage = current * resistance or V= iΩ

A circuit

A circuit is a closed loop containing a source of electrical energy (like a battery) and a load (like a light bulb). Every circuit has to have a load of some sort, All of the electrical energy in a circuit has to get used by the load. The load will convert the electrical energy to some other form of energy. A circuit with no load is called a short circuit. In a short circuit, the power source feeds all of its power through the wires and back to itself, and either the wires melt (if you're lucky), or the battery blows up, or something else disastrous happens.

circuit

Above is a very basic circuit, consisting of a lamp, a switch, and a battery. The electrical energy coming from the battery is converted to heat and light energy by the light bulb.

Breadboard

breadboard

breadboard in use

more from Tom Igoe

Intro to the Arduino programming environment

void setup(), void loop()

Digital I/O

ex1. Blink program
ex2. Loop
ex3. Push button

Analog I/O

ex1. Potentiometer
ex2 fade

Serial to Processing

ex1.Sending data from arduino to processing
ex2.Receive into processing from arduino

Getting the Arduino software going

1) Go to http://www.arduino.cc/en/Main/Software

3) Download and unzip the Arduino software on your computer.
There are software packages for:
*Windows
*Mac PPC (for G4 and non intel G5's)
*Mac Intel.

2) Place the entire unzipped Arduino folder in Applications folder if you are using a Mac and in the C drive if you are using windows.

3) Drivers
If you have a MAC:
Navigate to the the arduino-0008/drivers folder.
Install the FTDIUSBSerialDriver version for your operation system.

If you have a PC:
You need to plug in an Arduino board to run the drivers. You can do this at the workshop.

4) Restart your computer

5) The first time you open Arduino, you will probably get errors. Just close the program and restart it.

Please direct any question to jennyLC{at}jennyLC.com. Please also email me to tell me if you're using a Mac or PC.

Thanks to:

PComp Friends:
Tom Igoe http://tigoe.net
Jeff Gray hhttp://www.grayfuse.com/
David Mellis http://dam.mellis.org/

The Workshop Assistants:
Vaibhav Bhawsar, Grace Kim, Daniel Massey

Yahoos:
Joy Mountford, Ben Clemens, Monica Batra and everyone else at yhaus