(edit sidebar)
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: Spring 2011

General Info

Wednesdays from 6:30 - 9:00 pm (Class Dates)
NYU Tisch Building, 4th floor, Room 406 / Room 20 (next to the pcomp lab)
Instructor: Rory Nugent (rory.nugent -at- nyu.edu)

Office Hours

Mondays from 7-9pm
The best way to choose a time is to sign up for an appointment.
Or, you're always welcome to email me to try and meet at a different time.

Grading

Participation & Attendance: 40%
Production Assignments: 40%
Journal: 20%

Helpful (but not required) books

Getting Started with Arduino
Make: Electronics
Physical Computing: Sensing and Controlling the Physical World with Computers
Making Thing Move by Dustyn Roberts
Arduino Cookbook

Supplies

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

Useful link

http://www.arduino.cc - Arduino website. Needs no explanation. This site is great for helping to learn Arduino.
http://tigoe.net/pcomp/ - Tom Igoe's Physical Computing site
http://www.tigoe.net/pcomp/code/ - Tom's Code, Circuits & Construction blog
http://itp.nyu.edu/physcomp/sensors/ - ITP Sensor Workshop wiki, a great site for learning how to use a variety of sensors. A useful resource from another ITP class.

Class Slides

http://www.prizepony.us/teaching/physcomp/spring11/

Class Blogs

  1. Allison Trevorrow
  2. Dylan Butman
  3. Eamon Murphy
  4. Cemre Güngör
  5. Greg Dorsainville
  6. Changgeon Keum
  7. Colt Steele
  8. Christina Arnold
  9. Jacob Goldman
  10. Daniel Jones
  11. John Xiao
  12. Julia Diniz
  13. Manuela Garreton
  14. Zane Brzezinki
  15. Sam Heesen
  16. Seth Hamlin
  17. Zeke Eagan

Final Project Groups

  • Group 1: Interactive pop-up book
    • Cemre
    • Manuela
  • Group 2
    • Eamon
    • Jake
  • Group 3
    • Dylan
  • Group 4: Glove
    • Julia
    • John
    • Allison
    • Dan
  • Group 5: E-mail tone
    • Christina
  • Group 6
    • Changgeon
  • Group 7
    • Greg
    • Zane
    • Seth
  • Group 8
    • Colt
  • Group 9
    • Sam
  • Group 10
    • Zeke

Week 1: January 26th

Blinking LED code

 void setup()
 {
   pinMode(2, OUTPUT);       // set the led pin to be an output
 }

 void loop()
 {
   digitalWrite(2, HIGH);    // turn the LED on
   delay(500);               // wait 0.5 seconds, 500 milliseconds
   digitalWrite(2, LOW);     // turn the LED off
   delay(500);               // wait 0.5 seconds, 500 milliseconds
 }
 

Week 2: February 2nd

Week 3: February 16th

If by chance you have trouble finding certain components for your lab you may want to try RadioShack:

Week 4: February 22nd

Blinking an LED without delay

#define ledPin 2               // LED on pin number 2

unsigned long lastChange = 0;  // time in ms when the state of the led last changed
int interval = 500;            // interval to blink the LED
int ledState = 0;              // LED state

void setup()
{
  pinMode(ledPin, OUTPUT);     // make the LED pin an output, obviously
}

void loop()
{
  // this if statement allows our LED to turn on or off at an interval
  // while still allowing our program to do many other things, i.e. a better method than using delay(ms);
  // if the difference between the current time and the last time the state changed is greater than the set interval
  if(millis() - lastChange > interval)
  {
    ledState = (ledState + 1) % 2;    // a clever way of switching the LED state from 0 to 1 or 1 to 0
    digitalWrite(ledPin, ledState);// set the state of the LED
    lastChange = millis();      // take note of the time after we finished setting the LED state
                                // this will let us figure out when we need to change the LED state again
  }
}

Week 5: February 25th

Friday, 12:30 - 3:00pm, Room 50

Week 6: March 2nd

Homework Catch-Up a.k.a due by next week

  • Design Meets Disability reading
  • Two Norman readings
  • Servo, Tone, and Serial Output labs
  • Observation blog assignment

Media Controller Groups

  • Group 1
    • Julia Diniz
    • Dylan Butman
    • John Xiao
  • Group 2
    • Zeke Eagan
    • Daniel Jones
    • Colt Steele
  • Group 3
    • Eamon Murphy
    • Changgeon Keum
  • Group 4
    • Zane Brzezinki
    • Greg Dorsainville
    • Seth Hamlin
  • Group 5
    • Christina Arnold
    • Sam Heesen
    • Allison Trevorrow
  • Group 6
    • Cemre Gungor
    • Manuela Garreton
    • Jacob Goldman

Week 7: March 9th

Week 8: March 23rd

Week 9: March 30th

Final Project Groups

Final Project Groups

  • Group 1
    • Cemre
    • Manuela
  • Group 2
    • Eamon
    • Jake
  • Group 3
    • Dylan
  • Group 4
    • Julia
    • John
    • Allison
    • Dan
  • Group 5
    • Christina
  • Group 6
    • Changgeon
  • Group 7
    • Greg
    • Zane
    • Seth
  • Group 8
    • Colt
  • Group 9
    • Sam
  • Group 10
    • Zeke

Week 10: April 6th

Week 11: April 13th

Xbee wireless components

Configuring your Xbee via an Arduino

It is possible to configure your Xbee radio using the FTDI usb-to-serial chip located on each Arduino board. However, any serial data sent from your computer to the Xbee will get interrupted by the Arduino. You can "distract" the Arduino and cause it not to interrupt your communication by uploading the following simple sketch.

void setup()
{
}

void loop()
{
    delay(1);
}

Xbee PAN IDs
CoolTerm - terminal software for Windows and Mac
"Soldering is easy" comic book
Bildr blog

Controlling many things

Arduino Mega - a large Arduino with many more inputs and outputs than the typical Arduino board (sparkfun) (maker shed)
Mulitplexer / demultiplexer - a method of reading many inputs or sending an output to many destinations, e.g. CD74HC4067 (1) (2) (mouser) (sparkfun), mux shield
LED driver - a method of controlling many LEDs including their brightness, e.g. TLC5940 (digikey), TLC5947
Shift register - a method of controlling many LEDs, on and off only, e.g. 74HC595 (digikey) (sparkfun)

Week 12: April 20th

Week 13: April 27th

Workshop class

Week 14: May 4th

Final presentations

Each group will have about 12 minutes for presentation. Please plan accordingly.

  Edit | View | History | Print | Recent Changes | Search Page last modified on April 27, 2011, at 06:23 PM