Intro to Physical Computing Syllabus

Research & Learning

Other Class pages

Shop Admin

ITP Help Pages
Tom's pcomp site
DanO's pcomp site


Introduction to Physical Computing - Summer 2011

Summer11.Scott History

Hide minor edits - Show changes to markup

July 27, 2011, at 12:22 AM by shf220 -
Deleted line 232:
  • stepper motors
Changed lines 260-263 from:
There are many other good applications for this project. Discuss the specifics of yours with your instructor.
to:
There are many other good applications for this project. Discuss the specifics of yours with Scott.

FROM CLASS Read through the Labs, but do these instead :
Build the circuit in the third image on the right from this page
We looked at how we can control the motor digitally (like in the "Blink" example) and with variable speeds.

Here's some code for controlling a motor attached to pin 9 with a pot, or other analog input :


 int potPin = 0;    // The pot or senor is on Analog input pin 0
 int sensorValue = 0;   // value read from the analog sensor
 int motorPin = 9;    // PWM pin that the transistor is on.  n.b. PWM 0 is on digital pin 9

 void setup() {
   // initialize serial communications at 9600 bps:
   Serial.begin(9600); 
   // declare the motor pin as an output:
   pinMode(motorPin, OUTPUT);
 }

 void loop() {
   sensorValue = analogRead(potPin); // read the sensor value

   // map the sensor value from the 10-bit input range (0-1023) 
   // to the output range (0-255). 
   int motorSpeed = sensorVal/4;

   analogWrite(motorPin, motorSpeed);  // set the motor speed  with the result
   Serial.println(motorSpeed);   // print the motorSpeed value back to the debugger pane (0-255)
   delay(10);                     // wait 10 milliseconds before the next loop
 }

Added lines 298-299:
  • stepper motors
July 26, 2011, at 10:23 AM by shf220 -
Changed lines 219-222 from:

LABS:

  • Lab: Multiple Serial Output
to:
Added lines 229-230:
  • Continuing Serial communication part 2
Added lines 240-242:
  • Lab: Multiple Serial Output

LABS:

Deleted lines 245-254:

Class 8

CONCEPTS:

  • complex data communications
    • configuration vs. communication (command move vs. data mode)
    • addressing
    • Bluetooth serial as example
    • protocols discussion
    • Optional Bluetooth Lab
Added lines 263-274:

Class 8

CONCEPTS:

  • complex data communications
    • configuration vs. communication (command move vs. data mode)
    • addressing
    • Bluetooth serial as example
    • protocols discussion
    • Optional Bluetooth Lab
July 21, 2011, at 10:43 AM by shf220 -
Changed lines 245-246 from:

Class 8

to:

Class 8

CONCEPTS:

  • complex data communications
    • configuration vs. communication (command move vs. data mode)
    • addressing
    • Bluetooth serial as example
    • protocols discussion
    • Optional Bluetooth Lab
Added line 272:
Changed lines 274-282 from:

CONCEPTS:

  • complex data communications
    • configuration vs. communication (command move vs. data mode)
    • addressing
    • Bluetooth serial as example
    • protocols discussion
    • Optional Bluetooth Lab
to:
  • Mopping up, checking on any outstanding issues on what we covered so far.
July 21, 2011, at 10:40 AM by shf220 - added example for serial
Changed lines 161-209 from:
to:

CODE FROM CLASS

/*
Serial RGB LED controller
by Tom Igoe
Controls an RGB LED whose R, G and B legs are
connected to pins 11, 9, and 10, respectively.
*/
// constants to hold the output pin numbers:
const int greenPin = 9;
const int bluePin = 10;
const int redPin = 11;
int currentPin = 0; // current pin to be faded
int brightness = 0; // current brightness level
void setup() {
  // initiate serial communication:
  Serial.begin(9600);
  // initialize the LED pins as outputs:
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}
void loop() {
  // if there's any serial data in the buffer, read a byte:
  if (Serial.available() > 0) {
    int inByte = Serial.read();
    // respond to the values 'r', 'g', 'b', or '0' through '9'.
    // you don't care about any other value:
    if (inByte == 'r') {
      currentPin = redPin;
    }
    if (inByte == 'g') {
      currentPin = greenPin;
    }
    if (inByte == 'b') {
      currentPin = bluePin;
    }
    if (inByte >= '0' && inByte <= '9') {
      // map the incoming byte value to the range of the analogRead() command
      //because our LEDs are common anode, we invert the values in the map() function
      brightness = map(inByte, '0', '9', 255, 0);
      // set the current pin to the current brightness:
      analogWrite(currentPin, brightness);
    }
  }
}
July 19, 2011, at 02:40 PM by shf220 -
Changed lines 158-161 from:
to:

LINKS

  • Talk to Me at the MOMA
July 19, 2011, at 12:26 PM by shf220 -
Changed lines 145-147 from:

PRESENT THIS WEEK:

  • Stupid Pet Trick
to:

DISCUSS PET TRICKS!

Added lines 160-162:

PRESENT THIS CLASS:

  • Stupid Pet Trick
July 13, 2011, at 06:54 PM by shf220 -
Deleted line 15:
  • Melody\\
Changed lines 115-118 from:
  • Norretranders, The User Illusion, Chapter 6: The Bandwidth of Consciousness
to:
  • Norretranders, The User Illusion, Chapter 6: The Bandwidth of Consciousness If you can't access the reading, email me
Changed lines 125-126 from:
  • Transistor
to:
July 12, 2011, at 11:10 AM by shf220 -
Deleted lines 114-121:

ASSIGNMENT:

Stupid Pet Trick. Make a simple physically interactive device that uses the skills you've learned in the labs. It must respond to a physical action or series of actions a person takes, and it must be amusing, surprising, or otherwise engaging.It doesn't have to be practical, or complex, as long it shows that you understand the basics of digital and analog I/O and how to use them. If you're unfamiliar with the term "stupid pet trick," Googling the term may provide you inspiration for the tone of this project.
Examples:
  • a love-o-meter, a device that tells you what a good lover you are, based on how it measures some action you take
  • a combination lock, a device whose response is "unlocked" by a specific series of actions in a particular order from the user
  • a light mixer, a device that mixes colors of light from some analog input (to simplify, use LEDs as lights)
  • a tone mixer, same concept as the light mixer, but that mixes audible tones
Changed lines 135-144 from:
to:

ASSIGNMENT:

Stupid Pet Trick. Make a simple physically interactive device that uses the skills you've learned in the labs. It must respond to a physical action or series of actions a person takes, and it must be amusing, surprising, or otherwise engaging.It doesn't have to be practical, or complex, as long it shows that you understand the basics of digital and analog I/O and how to use them. If you're unfamiliar with the term "stupid pet trick," Googling the term may provide you inspiration for the tone of this project.
Examples:
  • a love-o-meter, a device that tells you what a good lover you are, based on how it measures some action you take
  • a combination lock, a device whose response is "unlocked" by a specific series of actions in a particular order from the user
  • a light mixer, a device that mixes colors of light from some analog input (to simplify, use LEDs as lights)
  • a tone mixer, same concept as the light mixer, but that mixes audible tones
Deleted lines 156-158:

BLOG:

Observation. Pick a piece of interactive technology in public, used by multiple people. Write down your assumptions as to how it's used, and describe the context in which it's being used. Watch people use it, preferably without them knowing they're being observed. Take notes on how they use it, what they do differently, what appear to be the difficulties, what appear to be the easiest parts. Record what takes the longest, what takes the least amount of time, and how long the whole transaction takes. Consider how the readings from Norman and Crawford reflect on what you see.
Added lines 175-177:

BLOG:

Observation. Pick a piece of interactive technology in public, used by multiple people. Write down your assumptions as to how it's used, and describe the context in which it's being used. Watch people use it, preferably without them knowing they're being observed. Take notes on how they use it, what they do differently, what appear to be the difficulties, what appear to be the easiest parts. Record what takes the longest, what takes the least amount of time, and how long the whole transaction takes. Consider how the readings from Norman and Crawford reflect on what you see.
Deleted lines 195-196:

PRESENT THIS WEEK: media controller.

July 11, 2011, at 10:36 PM by shf220 -
Added line 17:
  • Pia\\
Changed lines 20-21 from:
to:
  • Sophie
July 08, 2011, at 09:12 AM by shf220 -
Changed line 92 from:
to:
  • Arduino Programming Reference
July 08, 2011, at 09:10 AM by shf220 -
Changed line 16 from:
  • Melody
to:
  • Melody\\
July 08, 2011, at 09:10 AM by shf220 -
Added line 16:
  • Melody
Added lines 90-99:

LINKS

July 07, 2011, at 03:51 PM by shf220 -
Changed line 15 from:
  • Glen
to:
  • Glen\\
July 07, 2011, at 03:51 PM by shf220 -
Added line 15:
  • Glen
July 07, 2011, at 02:40 PM by shf220 -
Changed line 15 from:
to:
  • Rooki\\
July 07, 2011, at 02:39 PM by shf220 -
Added line 15:
July 07, 2011, at 01:34 PM by shf220 -
Added line 12:
  • Adiel\\
Changed lines 15-16 from:
  • Adiel
to:
  • Sarah
July 07, 2011, at 11:42 AM by shf220 -
Changed lines 18-20 from:

NB : The kits are not in the computer store yet, focus on the readings and your observations for the blog. Review the pages for the Labs from class 1! Update July 7 : The kits are scheduled to arrive this afternoon! Yay!

to:

Update July 7 : The kits arrived in the computer store this morning! Yay!

July 07, 2011, at 11:38 AM by shf220 -
Added line 12:
  • Allen\\
Changed lines 14-15 from:
  • Allen
to:
  • Adiel
July 07, 2011, at 11:37 AM by shf220 -
Changed lines 18-19 from:
to:

Update July 7 : The kits are scheduled to arrive this afternoon! Yay!

July 06, 2011, at 07:27 PM by shf220 -
Changed line 55 from:
  • Put a link to your blog on the class wiki page.
to:
  • Send me a link to your blog, and I will post it here.
Changed lines 72-74 from:
  • Crawford, The Art of Interactive Design, chapters 1 and 2 (note: you will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. ) You can also find it on Google Books here
to:
  • Crawford, The Art of Interactive Design, chapters 1 and 2 (note: you will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. ) For those without Books24x7 access, you can also find the readings on Google Books here.
July 06, 2011, at 06:52 PM by shf220 -
Added lines 17-18:

NB : The kits are not in the computer store yet, focus on the readings and your observations for the blog. Review the pages for the Labs from class 1!

Changed lines 25-27 from:

As we have fewer (but longer!) course meetings, follow the regular course, but lose some time for the final project.

to:

As we have fewer (but longer!) course meetings, we will follow the regular course, but lose some time for the final project.

July 06, 2011, at 12:01 PM by shf220 -
Changed lines 12-14 from:

Bree
Allen
\\

to:
  • Bree
    *Allen
July 06, 2011, at 12:00 PM by shf220 -
Changed lines 11-14 from:

If you don't send your blog to me, everyone will know when they come to this page! Massive public shaming to follow! Bree Allen

to:

If you don't send your blog to me, everyone will know when they come to this page! Massive public shaming to follow!
Bree
Allen
\\

July 06, 2011, at 12:00 PM by shf220 -
Changed lines 12-14 from:
to:

Bree Allen

July 05, 2011, at 11:08 PM by shf220 -
Deleted lines 23-25:

Attend a tool safety session in the shop (Seeing if this can be scheduled for the start of class2)

Added lines 64-65:
  • Resistulator :the resistor color code tool I mentioned
  • Fritzing for making pretty circuit diagrams
Changed lines 68-70 from:
  • Crawford, The Art of Interactive Design, chapters 1 and 2 (note: you will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. )
to:
  • Crawford, The Art of Interactive Design, chapters 1 and 2 (note: you will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. ) You can also find it on Google Books here
July 05, 2011, at 08:33 AM by shf220 -
Added lines 64-66:

LINKS

  • Jim Campbell's "Formula for Computer Art"
July 05, 2011, at 07:21 AM by shf220 -
Changed line 36 from:

Week 1

to:

Week 1 : Getting to know your Arduino. Hello Everything!

Changed line 81 from:

Week 2

to:

Week 2 : Back to the Physical

Changed line 121 from:

Week 3

to:

Week 3 : Talk to me! Communication with other things

Deleted lines 125-136:

ASSIGNMENT:

Media controller project. Make a physical device that controls a medium. It should control the medium in real-time, so that the user can change her actions and see changes as they affect the medium. There are lots of media: digital video, digital audio, electronic or acoustic sound, physical media like paint or ink, and others. Think about paint brushes, video mixers, musical instruments, water faucets, sewing machines -- anything that can control a medium and let you see the changes as you vary your control is fair game.'
This is a group assignment. Groups will be arranged in class this week.

READING:

  • Norman, Design of Everyday Things, ch. 1
  • Norman, Emotional Design, Chapter 1, "Attractive Things Work Better".

Class 6

Changed lines 136-138 from:

Week 4

Class 7

to:

READING:

  • Norman, Design of Everyday Things, ch. 1
  • Norman, Emotional Design, Chapter 1, "Attractive Things Work Better".

Class 6

Changed lines 154-155 from:

Class 8

to:

Week 4 : Controlling high current loads, making things move

Class 7

Changed lines 170-172 from:

Week 5

Class 9

to:

Class 8

Changed lines 191-192 from:

Class 10

to:

Week 5 : Additional concerns, wireless communication

Class 9

Changed lines 206-209 from:

Week 6

Class 11

  • final project workshop. Discuss any technical issues
to:

Class 10

  • Mopping up, checking on any outstanding issues on what we covered so far. Final project reports.
Added lines 212-217:

Week 6 : Holy Mackerel, this is already over?

Class 11

  • final project workshop. Discuss any technical issues
July 04, 2011, at 10:51 PM by shf220 -
Changed lines 46-47 from:
to:
  • How to solder something (PDF)
July 04, 2011, at 10:44 PM by shf220 -
Changed lines 6-7 from:

Office Hours: Wed, 6:30 - 7:30p

to:

Office Hours: Wed, 7 - 8p

Changed lines 11-12 from:

If you don;t send these to me, everyone will know when they come to this page!

to:

If you don't send your blog to me, everyone will know when they come to this page! Massive public shaming to follow!

July 04, 2011, at 10:43 PM by shf220 -
Deleted lines 9-16:

Description

Physical Computing is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically. In this course, we take the human body as a given, and attempt to design computing applications within the limits of its expression.

To realize this goal, you'll learn how to use sensors to detect changes in energy given off by our bodies (in the form of sound, light, motion, and other forms) and feed these values into a very simple computer called a microcontrollers that will also control output of the circuit. The microcontroller used in this class is called Arduino, is much more accessible than previous microcontrollers and is intended specifically for artists and hobbyist. The core technical concepts of the class include digital, analog and serial input and output. You'll also learn how microcontrollers communicate with other computers.

Physical computing takes a hands-on approach, which means that you spend a lot of time building circuits, soldering, writing programs, building structures to hold sensors and controls, and figuring out how best to make all of these things relate to a person's expression. Students have weekly lab exercises to build skills with the microcontroller and related tools, and longer assignments in which they apply the principles from weekly labs in creative applications. Both individual work and group work is required.

Changed lines 11-12 from:
to:

If you don;t send these to me, everyone will know when they come to this page!

Changed lines 17-18 from:

Some additional supplies are available in the shop, and feel free to use what is in there. However, dont go overboard (using an LED or 2 is fine, using 10 for your Glow-o-tron is not).

to:

Some additional supplies are available in the shop, and feel free to use what is in there. However, dont go overboard (using an LED or 2 is fine, using 100 for your Glow-o-tron is not).

Changed lines 21-225 from:

As we have fewer (but longer!) course meetings, we will deviate oh-so-slightly from the regular course list. I will update this for the first class.

to:

As we have fewer (but longer!) course meetings, follow the regular course, but lose some time for the final project.

Attend a tool safety session in the shop (Seeing if this can be scheduled for the start of class2)

The syllabus is broken down into:

  • Concepts we'll discuss in class. Course notes are linked so you can read them before class, to know what we're talking about.
  • Lab exercises that illustrate the concepts. You're not required to show your lab work in class, but do them each week to learn, and come in with questions if you have any. If you did something you're proud of, feel free to bring it in, though this is optional.
  • Production assignments larger assignments which have scheduled times you'll be expected to show them in class.
  • Reading to be read in the week they're assigned. Will come up in discussion the week after, usually.
  • Blog assignments Writing the week when it's assigned. Will come up in class from time to time. Read each other's stuff too.
  • Due dates for production assignments

Week 1

Class 1

CONCEPTS:

  • What is Physical Computing?
  • What is a Microcontroller?
    • Microcontrollers and sensors in the everyday environment
  • Analog vs. Digital
  • Digital Input and Output
  • Breadboards
  • Intro to Arduino and first program.

LABS:

  • Lab: Setting up a breadboard
  • Lab: first Arduino program

ASSIGNMENT:

  • Join the physcomp listserve
  • Put a link to your blog on the class wiki page.
  • Sign up for two days of shop cleaning.

BLOG:

Sensor walk. Take a walk around your neighborhood, or a different one. Take a count of every interaction with a sensor you see. These might include:
  • Pushbuttons on an ATM
  • motion sensors on doors, faucets, etc.
  • Floor mats
  • Cameras
Take pictures or video as appropriate, of the most interesting ones.

READING:

  • Crawford, The Art of Interactive Design, chapters 1 and 2 (note: you will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. )

Class 2

CONCEPTS:

  • analog input

LABS:

  • Lab: Analog in; tracking changes with variables

ASSIGNMENT:

Fantasy Device. Think of a fantasy device you've always wanted. Doesn't have to be physically possible, but it has to have a physical interface. Design what the physical interface was. Document your design on your blog, and bring it in for the class. Your mock-up doesn't have to work, and it can be made out of any materials you're comfortable with. Make this a quick sketch, just enough so that your classmates have a sense of what they would do to use your device.

Week 2

Class 3

PRESENT THIS WEEK:

  • Fantasy Device

CONCEPTS:

  • Understanding Electricity

LABS:

  • Lab: Electronics

ASSIGNMENT:

Stupid Pet Trick. Make a simple physically interactive device that uses the skills you've learned in the labs. It must respond to a physical action or series of actions a person takes, and it must be amusing, surprising, or otherwise engaging.It doesn't have to be practical, or complex, as long it shows that you understand the basics of digital and analog I/O and how to use them. If you're unfamiliar with the term "stupid pet trick," Googling the term may provide you inspiration for the tone of this project.
Examples:
  • a love-o-meter, a device that tells you what a good lover you are, based on how it measures some action you take
  • a combination lock, a device whose response is "unlocked" by a specific series of actions in a particular order from the user
  • a light mixer, a device that mixes colors of light from some analog input (to simplify, use LEDs as lights)
  • a tone mixer, same concept as the light mixer, but that mixes audible tones

READING:

  • Norretranders, The User Illusion, Chapter 6: The Bandwidth of Consciousness

Class 4

CONCEPTS:

  • analog output
    • pulsewidth modulation
  • Sound out
  • Transistor

LABS:

  • Lab: servo/analog out
  • Lab: Tone output

READING:

  • Graham Pullin, Design Meets Disability

Week 3

Class 5

PRESENT THIS WEEK:

  • Stupid Pet Trick

ASSIGNMENT:

Media controller project. Make a physical device that controls a medium. It should control the medium in real-time, so that the user can change her actions and see changes as they affect the medium. There are lots of media: digital video, digital audio, electronic or acoustic sound, physical media like paint or ink, and others. Think about paint brushes, video mixers, musical instruments, water faucets, sewing machines -- anything that can control a medium and let you see the changes as you vary your control is fair game.'
This is a group assignment. Groups will be arranged in class this week.

READING:

  • Norman, Design of Everyday Things, ch. 1
  • Norman, Emotional Design, Chapter 1, "Attractive Things Work Better".

Class 6

CONCEPTS:

  • serial communication week 1
    • graphing a sensor

LAB:

  • Lab: Serial Output

BLOG:

Observation. Pick a piece of interactive technology in public, used by multiple people. Write down your assumptions as to how it's used, and describe the context in which it's being used. Watch people use it, preferably without them knowing they're being observed. Take notes on how they use it, what they do differently, what appear to be the difficulties, what appear to be the easiest parts. Record what takes the longest, what takes the least amount of time, and how long the whole transaction takes. Consider how the readings from Norman and Crawford reflect on what you see.

Week 4

Class 7

CONCEPTS:

  • serial communication week 2
    • multiple sensors
    • Interpreting bytes: ASCII vs. binary
    • handshaking/call-and-response

LABS:

  • Lab: Multiple Serial Output

READING:

  • Hoffman, Visual Intelligence

Class 8

CONCEPTS:

  • high current loads and motors
    • controlling DC Motors
    • stepper motors
  • Dustyn's writing on:
    • Motors
    • Materials: what to choose and where to get
    • Making Things

LABS:

Week 5

Class 9

PRESENT THIS WEEK: media controller.

ASSIGNMENT:

Final project. Create a physically interactive system of your choice. Your focus in this assignment should be on careful and timely sensing of the relevant actions of the person or people that you're designing this for, and on clear, prompt, and effective response. Any interactive system is going to involve systems of listening, thinking, and speaking from both parties. Whether it involves one cycle or many, the exchange should be engaging.
Document your work thoroughly online as you go. Include details of all phases of the project. Include a project summary as well, explaining what the system you built is, what it does, and what purpose it's intended to serve. Your summary should introduce the project.
A few examples:
Musical Instruments. Performing music involves a sustained engagement between the performer and the instrument. The feedback fro mthe instrument has to be immediate and clear in order for the performer to continue playing. The interface has to be flexible so that the musician can exercise her creativity in playing, but has to have some boundaries so that she knows what the instrument can do and what it can't do.
Game interfaces. Like musical instruments, they involve constant back-and-forth interaction and immediate response. They are often simpler than musical instruments. In fact, the standard game controller has gotten so standard that the action of many games is artificially adapted to the needs of the controller, not the physical expressiveness of the player. Pick a specific game and see if you can change that.
Assistive devices. Whether it's something as simple as a reaching device (think of pickle pickers) or something more complex, these devices are very demanding of clear, reliable response.
Remote control systems. They require not only a clear interface, but must also return enough information on the remote system's action to let you know that you're doing the right thing. Whether it's a remote controller for your home electrical devices or a Mars rover controller, the need for clarity and good feedback are equally essential to the person who it's made for.
There are many other good applications for this project. Discuss the specifics of yours with your instructor.

Class 10

CONCEPTS:

  • complex data communications
    • configuration vs. communication (command move vs. data mode)
    • addressing
    • Bluetooth serial as example
    • protocols discussion
    • Optional Bluetooth Lab

BLOG:

  • Final Project concept. Explain the concept of your final project online. Write it and/or illustrate it so that readers who are not in this class can get a clear and concise idea of what you plan to make for the final.

Week 6

Class 11

  • final project workshop. Discuss any technical issues

BLOG:

  • describe the technical system for your final project.

Class 12

  • Final Project

BLOG:

  • finish the documentation for your final project.
July 02, 2011, at 09:59 PM by shf220 -
Deleted lines 20-37:

Grading

Participation & Attendance: 20%
Lab Assignments: 15%
Satellite Assignment(s): 5%
Midterm: 20%
Final: 20%
Journal: 20%

Books

The following books will be used as readings and references throughout the duration of the class. While none of the books below are mandatory purchases, some of the weekly readings will come from these books, and others come highly recommended as supplementary reading if you find yourself enjoying the subject matter. I will provide you with the weekly reading assignments in a physical or digital format.

  • Massimo Banzi Getting Started with Arduino
  • Forrest Mims Getting Started in Electronics (a classic!)
  • Dan O'Sullivan and Tom Igoe Physical Computing
  • Tom Igoe Making Things Talk
  • Donald Norman The Design of Everyday Things
  • Dustyn Roberts Making Things Move
July 02, 2011, at 09:58 PM by shf220 -
Changed lines 32-40 from:
  • Banzi, Massimo. Getting Started with Arduino. O'Reilly, 2008.
  • Mims, Forrest. Getting Started in Electronics. Master Publishing, 2003.
  • Scherz, Paul. Practical Electronics for Inventors. McGraw-Hill, 2000.
  • O'Sullivan, Dan and Igoe, Tom. Physical Computing. Thomson Course Technology, 2004.
  • Igot, Tom. Making Things Talk Make Books, 2007.
  • Norman, Donald A. The Design of Everyday Things. Basic Books, 2002.
  • Norman, Donald A. Emotional Design: Why We Love (or Hate) Everyday Things. Basic Books, 2005.
  • Norretranders, Tor. User Illusion: Cutting Consciousness Down to Size. Penguin, 1999.
to:
  • Massimo Banzi Getting Started with Arduino
  • Forrest Mims Getting Started in Electronics (a classic!)
  • Dan O'Sullivan and Tom Igoe Physical Computing
  • Tom Igoe Making Things Talk
  • Donald Norman The Design of Everyday Things
  • Dustyn Roberts Making Things Move
Changed lines 47-188 from:

Week 1: Basic Electronics, Introduction to Microcontrollers

Class 1

  • Class Topics
    • Introductions
    • Class Outline
    • Physical Computing and Interaction Design
    • Basic Electronics: Overview, Components, Breadboards, Multimeter, Schematics, Ohm's Law
    • Analog vs. Digital
  • Assignments
    • Join the Physical Computing mailing list
    • Create a blog or website to use as a journal for your class assignments, if you don't already have one, and e-mail me a link to the site. Some nice free options are Tumblr, Blogger, and WordPress. ITP also provides a free Wordpress blog. I'll find out whom you should speak with if you're interested in that option.
    • Sign up for two days of shop cleaning. This is MANDATORY.
    • Speak with John Duane about attending a shop safety session. This is MANDATORY. We may do this at the top of class 2, if John's up for it.
    • Lab: Breadboard
    • Lab: Electronics
  • Readings
    • "Thinking In The Rain" by Susan Orlean

Class 2

  • Class Topics
    • Introduction to Microcontrollers, e.g. Arduino
    • Programming: Basics, Variables, Structure, Controls, Arduino IDE (Integrated Development Environment)
    • Discuss your midterm project
  • Assignments
    • Lab: Digital Input and Output with an Arduino
    • Create the device of your dreams
      • Requirements, Notes, and Inspiration
        • Must not be functional
        • Must be made of simple materials: cardboard, foam board, Manilla folders, construction paper, glue, tape, pen, markers, crayons, pencils, etc.
        • Think critically about its interface or usage
        • Have fun!
  • Readings
    • Crawford, The Art of Interactive Design, Chapters 1 and 2 (note: You will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. )

Week 2: Programming, Analog Input and Output

Class 3

  • Class Topics
    • Programming: Pseudo-Code, Commenting, Debugging, Using the Arduino reference
    • Analog Input: Overview, Components, Arduino
  • Assignments
    • Lab: Analog Input with an Arduino
  • Reading
    • Norman, Design of Everyday Things, Chapter 1
    • Norman, Emotional Design, Chapter 1, "Attractive Things Work Better".

Class 4

  • Class Topics
    • Analog Output: Overview, Components, PWM (Pulse Width Modulation), Servos, Sound, Arduino
    • Choose midterm partners and brainstorm
  • Assignments
    • Lab: Analog Output with Arduino
    • Begin your midterm project
  • Reading
    • Norretranders, The User Illusion, Chapter 6: The Bandwidth of Consciousness

Week 3: Serial Communication

Class 5

  • Class Topics
    • Serial: Overview, Output, Interpreting, Arduino
  • Assignments
    • Lab: Serial Output with Arduino

Class 6

  • Class Topics
    • Serial: Multiple sensors, ASCII vs. binary, handshake/call-and-response
  • Assignments
    • Lab: Serial Duplex with Arduino
  • Reading
    • Myron Krueger, "Responsive Environments", in Packer & Jordan, Multimedia: From Wagner to Virtual Reality, ch. 12, pp. 104-120.

Week 4: Midterm, Movement

Class 7

  • Class Topics
    • Midterm Presentations
    • Transistors and Relays
  • Assignments
    • Lab: Using a TIP120 transistor

Class 8

  • Class Topics
    • Motors: Inductance, DC motors, stepper motors
    • Discuss your final project ideas
  • Assignments
    • Lab: Controlling a DC motor with Arduino

Week 5: Project Development, Extra Topics

Class 9

  • Class Topics
    • Digi Xbee Zigbee Radios
    • Batteries

Class 10

  • Class Topics
    • Wearables
    • Renewable Energy: Solar and Kinetic
    • Discuss your final project progress

Week 6: Final Workshop and Presentations

Class 11

  • Final Project Workshop

Class 12

  • Final Presentations
to:

As we have fewer (but longer!) course meetings, we will deviate oh-so-slightly from the regular course list. I will update this for the first class.

July 02, 2011, at 09:44 PM by shf220 -
Deleted line 49:
Deleted lines 54-55:
  • Reference(s)
    • Physical Computing, Introduction
Deleted lines 55-61:
  • Reference(s)
    • "Breadboards" from Tom Igoe
    • "Understanding Electricity" from Tom Igoe
    • Getting Started with Arduino, pp. 39-42, 93-94
    • Physical Computing, Chapters 1-3
    • Getting Started in Electronics, pp. 19, 20-22, 24-25, 28-35
    • Schematic Symbols
Changed lines 57-58 from:
  • Learn to Solder
to:
Changed line 60 from:
  • Create a blog or website to use as a journal for your class assignments, if you don't already have one, and e-mail me a link to the site. Some nice free options are Tumblr, Blogger, and WordPress. ITP also provides a free Wordpress blog. If you're interested, please talk with Nancy Lewis.
to:
  • Create a blog or website to use as a journal for your class assignments, if you don't already have one, and e-mail me a link to the site. Some nice free options are Tumblr, Blogger, and WordPress. ITP also provides a free Wordpress blog. I'll find out whom you should speak with if you're interested in that option.
Deleted lines 71-73:
  • Reference(s)
    • "All About Microcontrollers" from Tom Igoe
    • Foundations of Arduino
Deleted lines 72-75:
  • Reference(s)
    • Arduino Language reference
    • Variables
    • "Digital Input and Output" from Tom Igoe
Changed lines 82-95 from:
  • Don't stress! This is supposed to be fun.
  • Thoughtless Acts Flickr Pool http://www.flickr.com/groups/thoughtlessacts/pool/
  • http://cre.ations.net/creation/face-mounted-lucid-dreaming-mask
  • Make a teleportation device, my childhood dream
  • Watch a sci-fi movie for ideas
  • Ask a friend what the device of his/her dreams is
  • Make a device for your pet, e.g. wearable, food dispenser
  • Sleep on it, see what comes to you in the morning after a good dream
  • A device that covers up a flaw of yours
  • "I want to create a device that records your dreams straight to video as you sleep"
  • Virtual Pet
  • Google "Chindogu"
  • Consult with Oblique Strategies (Yahoo Widget) (Blog Post) (Mac OS X App)
to:
  • Have fun!
Deleted line 84:
  • Getting Started with Arduino, pp. 19-51
Deleted lines 94-97:
  • Reference(s)
    • Physical Computing, Chapter 5
    • Getting Started with Arduino, pp. 87-92
    • Arduino.cc Reference
Changed lines 96-110 from:
  • Reference(s)
    • "Analog Input" from Tom Igoe
    • Getting Started with Arduino, pp. 64-68
    • Physical Computing, pp. 102-112
    • ITP Sensor Workshop Wiki
  • Electronics Shopping
    • SparkFun
    • Electronic Goldmine
    • Jameco
    • Newark
    • Mouser
    • Digikey
    • 269 Electronics Inc., 269 Canal Street, Manhattan (Make Blog)
    • Leeds Radio, 68 North 7th Street, Brooklyn
to:
Deleted lines 107-110:
  • Reference(s)
    • "Analog Output" from Tom Igoe
    • Getting Started with Arduino, pp. 56-62
    • Physical Computing, pp. 112-127
Changed lines 125-131 from:
  • Reference(s)
    • Serial Print with an Arduino
    • "Serial Communication" from Tom Igoe
    • "Serial To The Desktop" from Tom Igoe
    • ASCII Chart
    • Getting Started with Arduino, pp. 68-69
to:
Changed lines 133-136 from:
  • Reference(s)
    • "Serial To The Desktop" from Tom Igoe
    • "Interpreting Serial Data" from Tom Igoe
to:
Changed lines 149-153 from:
  • Reference(s)
    • "Controlling High Current Circuits" from Tom Igoe
    • Getting Started in Electronics, pp. 26, 48-51
    • Getting Started with Arduino, pp. 70-71
to:
Changed lines 157-162 from:
  • Reference(s)
    • "Controlling DC Motors" from Tom Igoe
    • "Motors" from Tom Igoe
    • Physical Computing, Chapter 10
    • "Stepper Motor Control" from Tom Igoe
to:
Deleted lines 170-175:
  • Reference(s)
    • "Making Things Talk" by Tom Igoe
    • ITP PAN ID Reservatons
    • Xbee Notes by Rob Faludi
    • Common Xbee Mistakes
Changed lines 172-175 from:
  • Reference(s)
    • Rory's Battery Notes
    • Rob Faludi's Arduino and Xbee Battery Tests
to:
Deleted lines 176-178:
  • Reference(s)
    • ITP Wearables Wiki
    • The Fashion Center
Deleted lines 177-180:
  • Reference(s)
    • http://itp.nyu.edu/physcomp/Notes/SolarCells
    • BEAM Circuits
    • Solarbotics
July 02, 2011, at 09:36 PM by shf220 -
Changed lines 8-9 from:

Physical Computing Resident:

to:

Physical Computing Resident: Anybody in the Resident's office! It's a free-for all! (As long as you ask politely)

Added line 36:
  • Igot, Tom. Making Things Talk Make Books, 2007.
Changed lines 43-44 from:

See http://itp.nyu.edu/physcomp/Intro/Supplies

to:

See http://itp.nyu.edu/physcomp/Intro/Supplies for a description of what you're getting. Kits (supplied by adafruit) are for sale at the NYU computer store for ~$90. It will include pretty much everything you'll need to do the basic classwork.

Some additional supplies are available in the shop, and feel free to use what is in there. However, dont go overboard (using an LED or 2 is fine, using 10 for your Glow-o-tron is not).

Changed lines 60-61 from:
  • "Breadboards" from Tom Igoe
  • "Understanding Electricity" from Tom Igoe
to:
  • "Breadboards" from Tom Igoe
  • "Understanding Electricity" from Tom Igoe
Changed line 73 from:
  • Speak with John Duane about attending a shop safety session. This is MANDATORY.
to:
  • Speak with John Duane about attending a shop safety session. This is MANDATORY. We may do this at the top of class 2, if John's up for it.
Changed lines 84-85 from:
  • "All About Microcontrollers" from Tom Igoe
to:
  • "All About Microcontrollers" from Tom Igoe
  • Foundations of Arduino
Changed lines 88-90 from:
  • Getting Started with Arduino, pp. 97-104
  • Physical Computing, pp. 87-101
  • "Digital Input and Output" from Tom Igoe
to:
  • Arduino Language reference
  • Variables
  • "Digital Input and Output" from Tom Igoe
June 07, 2011, at 08:16 PM by shf220 -
Added lines 1-273:

(:title Introduction to Physical Computing - Summer 2011 :)

7 July - 11 August 2011
Instructor: Scott Fitzgerald (scott.fitzgerald at nyu.edu)
Class Hours: Tuesday & Thursday, 6:30p - 9:25p
Office Hours: Wed, 6:30 - 7:30p
Physical Computing Resident:

Description

Physical Computing is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically. In this course, we take the human body as a given, and attempt to design computing applications within the limits of its expression.

To realize this goal, you'll learn how to use sensors to detect changes in energy given off by our bodies (in the form of sound, light, motion, and other forms) and feed these values into a very simple computer called a microcontrollers that will also control output of the circuit. The microcontroller used in this class is called Arduino, is much more accessible than previous microcontrollers and is intended specifically for artists and hobbyist. The core technical concepts of the class include digital, analog and serial input and output. You'll also learn how microcontrollers communicate with other computers.

Physical computing takes a hands-on approach, which means that you spend a lot of time building circuits, soldering, writing programs, building structures to hold sensors and controls, and figuring out how best to make all of these things relate to a person's expression. Students have weekly lab exercises to build skills with the microcontroller and related tools, and longer assignments in which they apply the principles from weekly labs in creative applications. Both individual work and group work is required.

Student Blogs

Grading

Participation & Attendance: 20%
Lab Assignments: 15%
Satellite Assignment(s): 5%
Midterm: 20%
Final: 20%
Journal: 20%

Books

The following books will be used as readings and references throughout the duration of the class. While none of the books below are mandatory purchases, some of the weekly readings will come from these books, and others come highly recommended as supplementary reading if you find yourself enjoying the subject matter. I will provide you with the weekly reading assignments in a physical or digital format.

  • Banzi, Massimo. Getting Started with Arduino. O'Reilly, 2008.
  • Mims, Forrest. Getting Started in Electronics. Master Publishing, 2003.
  • Scherz, Paul. Practical Electronics for Inventors. McGraw-Hill, 2000.
  • O'Sullivan, Dan and Igoe, Tom. Physical Computing. Thomson Course Technology, 2004.
  • Norman, Donald A. The Design of Everyday Things. Basic Books, 2002.
  • Norman, Donald A. Emotional Design: Why We Love (or Hate) Everyday Things. Basic Books, 2005.
  • Norretranders, Tor. User Illusion: Cutting Consciousness Down to Size. Penguin, 1999.

Supplies

See http://itp.nyu.edu/physcomp/Intro/Supplies

Schedule

Week 1: Basic Electronics, Introduction to Microcontrollers

Class 1

  • Class Topics
    • Introductions
    • Class Outline
    • Physical Computing and Interaction Design
      • Reference(s)
        • Physical Computing, Introduction
    • Basic Electronics: Overview, Components, Breadboards, Multimeter, Schematics, Ohm's Law
      • Reference(s)
        • "Breadboards" from Tom Igoe
        • "Understanding Electricity" from Tom Igoe
        • Getting Started with Arduino, pp. 39-42, 93-94
        • Physical Computing, Chapters 1-3
        • Getting Started in Electronics, pp. 19, 20-22, 24-25, 28-35
        • Schematic Symbols
    • Analog vs. Digital
    • Learn to Solder
  • Assignments
    • Join the Physical Computing mailing list
    • Create a blog or website to use as a journal for your class assignments, if you don't already have one, and e-mail me a link to the site. Some nice free options are Tumblr, Blogger, and WordPress. ITP also provides a free Wordpress blog. If you're interested, please talk with Nancy Lewis.
    • Sign up for two days of shop cleaning. This is MANDATORY.
    • Speak with John Duane about attending a shop safety session. This is MANDATORY.
    • Lab: Breadboard
    • Lab: Electronics
  • Readings
    • "Thinking In The Rain" by Susan Orlean

Class 2

  • Class Topics
    • Introduction to Microcontrollers, e.g. Arduino
      • Reference(s)
        • "All About Microcontrollers" from Tom Igoe
    • Programming: Basics, Variables, Structure, Controls, Arduino IDE (Integrated Development Environment)
      • Reference(s)
        • Getting Started with Arduino, pp. 97-104
        • Physical Computing, pp. 87-101
        • "Digital Input and Output" from Tom Igoe
    • Discuss your midterm project
  • Assignments
    • Lab: Digital Input and Output with an Arduino
    • Create the device of your dreams
      • Requirements, Notes, and Inspiration
        • Must not be functional
        • Must be made of simple materials: cardboard, foam board, Manilla folders, construction paper, glue, tape, pen, markers, crayons, pencils, etc.
        • Think critically about its interface or usage
        • Don't stress! This is supposed to be fun.
        • Thoughtless Acts Flickr Pool http://www.flickr.com/groups/thoughtlessacts/pool/
        • http://cre.ations.net/creation/face-mounted-lucid-dreaming-mask
        • Make a teleportation device, my childhood dream
        • Watch a sci-fi movie for ideas
        • Ask a friend what the device of his/her dreams is
        • Make a device for your pet, e.g. wearable, food dispenser
        • Sleep on it, see what comes to you in the morning after a good dream
        • A device that covers up a flaw of yours
        • "I want to create a device that records your dreams straight to video as you sleep"
        • Virtual Pet
        • Google "Chindogu"
        • Consult with Oblique Strategies (Yahoo Widget) (Blog Post) (Mac OS X App)
  • Readings
    • Getting Started with Arduino, pp. 19-51
    • Crawford, The Art of Interactive Design, Chapters 1 and 2 (note: You will need to sign into NYUHome to view this. From your NYUHome home page, click "Research" then "books24x7.com" then search for "The Art of Interactive Design" by Chris Crawford. Alternately, try this link. )

Week 2: Programming, Analog Input and Output

Class 3

  • Class Topics
    • Programming: Pseudo-Code, Commenting, Debugging, Using the Arduino reference
      • Reference(s)
        • Physical Computing, Chapter 5
        • Getting Started with Arduino, pp. 87-92
        • Arduino.cc Reference
    • Analog Input: Overview, Components, Arduino
      • Reference(s)
        • "Analog Input" from Tom Igoe
        • Getting Started with Arduino, pp. 64-68
        • Physical Computing, pp. 102-112
        • ITP Sensor Workshop Wiki
    • Electronics Shopping
      • SparkFun
      • Electronic Goldmine
      • Jameco
      • Newark
      • Mouser
      • Digikey
      • 269 Electronics Inc., 269 Canal Street, Manhattan (Make Blog)
      • Leeds Radio, 68 North 7th Street, Brooklyn
  • Assignments
    • Lab: Analog Input with an Arduino
  • Reading
    • Norman, Design of Everyday Things, Chapter 1
    • Norman, Emotional Design, Chapter 1, "Attractive Things Work Better".

Class 4

  • Class Topics
    • Analog Output: Overview, Components, PWM (Pulse Width Modulation), Servos, Sound, Arduino
      • Reference(s)
        • "Analog Output" from Tom Igoe
        • Getting Started with Arduino, pp. 56-62
        • Physical Computing, pp. 112-127
    • Choose midterm partners and brainstorm
  • Assignments
    • Lab: Analog Output with Arduino
    • Begin your midterm project
  • Reading
    • Norretranders, The User Illusion, Chapter 6: The Bandwidth of Consciousness

Week 3: Serial Communication

Class 5

  • Class Topics
    • Serial: Overview, Output, Interpreting, Arduino
      • Reference(s)
        • Serial Print with an Arduino
        • "Serial Communication" from Tom Igoe
        • "Serial To The Desktop" from Tom Igoe
        • ASCII Chart
        • Getting Started with Arduino, pp. 68-69
  • Assignments
    • Lab: Serial Output with Arduino

Class 6

  • Class Topics
    • Serial: Multiple sensors, ASCII vs. binary, handshake/call-and-response
      • Reference(s)
        • "Serial To The Desktop" from Tom Igoe
        • "Interpreting Serial Data" from Tom Igoe
  • Assignments
    • Lab: Serial Duplex with Arduino
  • Reading
    • Myron Krueger, "Responsive Environments", in Packer & Jordan, Multimedia: From Wagner to Virtual Reality, ch. 12, pp. 104-120.

Week 4: Midterm, Movement

Class 7

  • Class Topics
    • Midterm Presentations
    • Transistors and Relays
      • Reference(s)
        • "Controlling High Current Circuits" from Tom Igoe
        • Getting Started in Electronics, pp. 26, 48-51
        • Getting Started with Arduino, pp. 70-71
  • Assignments
    • Lab: Using a TIP120 transistor

Class 8

  • Class Topics
    • Motors: Inductance, DC motors, stepper motors
      • Reference(s)
        • "Controlling DC Motors" from Tom Igoe
        • "Motors" from Tom Igoe
        • Physical Computing, Chapter 10
        • "Stepper Motor Control" from Tom Igoe
    • Discuss your final project ideas
  • Assignments
    • Lab: Controlling a DC motor with Arduino

Week 5: Project Development, Extra Topics

Class 9

  • Class Topics
    • Digi Xbee Zigbee Radios
      • Reference(s)
        • "Making Things Talk" by Tom Igoe
        • ITP PAN ID Reservatons
        • Xbee Notes by Rob Faludi
        • Common Xbee Mistakes
    • Batteries
      • Reference(s)
        • Rory's Battery Notes
        • Rob Faludi's Arduino and Xbee Battery Tests

Class 10

  • Class Topics
    • Wearables
      • Reference(s)
        • ITP Wearables Wiki
        • The Fashion Center
    • Renewable Energy: Solar and Kinetic
      • Reference(s)
        • http://itp.nyu.edu/physcomp/Notes/SolarCells
        • BEAM Circuits
        • Solarbotics
    • Discuss your final project progress

Week 6: Final Workshop and Presentations

Class 11

  • Final Project Workshop

Class 12

  • Final Presentations
  Edit | View | History | Print | Recent Changes | Search Page last modified on July 27, 2011, at 12:22 AM