(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


Scott S 2012

Intro.ScottS2012 History

Hide minor edits - Show changes to output

Changed line 31 from:
*[[http://cargocollective.com/cordialatron | Miriam Brafman]]
to:
* Miriam Brafman
Changed line 415 from:
* present finals in progress. Critique concepts and interaction. Guest critique of physical interface
to:
* present finals in progress. Critique concepts and interaction.
Changed line 420 from:
* present progress, Critique concepts and interaction.
to:
* present progress, Critique concepts and interaction. Guest critique of physical interface
Changed line 398 from:
** [[Tutorials/HighCurrentLoadsScott2012 | Transistor Lab]]
to:
** [[Tutorials/HighCurrentLoadsScott2012 | Transistor Lab]] ** UPDATED 3/31 **
Changed line 398 from:
** [[Tutorials/HighCurrentLoads | Transistor Lab]]
to:
** [[Tutorials/HighCurrentLoadsScott2012 | Transistor Lab]]
Added lines 364-367:
*[[http://bit.ly/GF7hwR | 555 timer from make]]
*[[http://droolcup.com/pcomp/555.html | my 555 timer notes from when i was a student]] Warning! it's ancient!
*[[http://droolcup.com/pcomp/TeamAssessment.pdf | TEAM ASSESSMENT]] email this to me, or bring it to the next class

Added lines 320-359:
'''CODE IN CLASS'''
[@
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
      brightness = map(inByte, '0', '9', 0, 255);
      // set the current pin to the current brightness:
      analogWrite(currentPin, brightness);
    }
  }
}
@]

Deleted line 31:
*[[http://jrhphyscomp.blogspot.com/ | Jack Holmes]]
Deleted line 35:
*[[http://www.juansearenas.com | Juan Arenas]]
Changed lines 281-283 from:
*Sound out
*Transistor
to:
*Servo
*(possibly) Sound out
Deleted line 36:
*[[http://www.jacksonstonebishop.com | Jackson Bishop]]
Changed lines 7-8 from:
[[PrintSyllabus?action=print| Link to printable syllabus]]
to:
Added lines 173-274:
'''From Class'''
Simple analog In
[@
int potVal=0; // this will hold the sensor value

void setup(){
  //open a serial connection
 Serial.begin(9600);
 
}

void loop(){
  //read the analog voltage
 potVal=analogRead(A1);
 
 //to find the voltage, uncomment the line below
 //and change what is printed out
 //float voltage=(5.0/1023.0)*float(potVal);
 
 //send the value over the serial port
 Serial.println(potVal);
 
 delay(10);
 
}
@]

Multiple Analog In
[@

void setup(){
  //uncomment the line below if you need to use an external
  //reference for the sensor you're using
//analogReference(EXTERNAL);
Serial.begin(9600);
}

void loop(){
 
 Serial.print("X Axis : ");
 Serial.print(analogRead(A3));
 Serial.print("\t");

  delay(10);
 
 Serial.print("Y Axis : ");
 Serial.print(analogRead(A2));
 Serial.print("\t");
 
  delay(10);
 
 Serial.print("Z Axis : ");
 Serial.println(analogRead(A1)); 
 
  delay(10);
 
}
@]

Delay Blinker
[@
int potVal=0; // this will hold the sensor value
const int ledPin=8; //this is the LED


void setup(){
  //led is on an output
  pinMode(ledPin, OUTPUT);
  //open a serial connection to the computer
 Serial.begin(9600);
 
}

void loop(){
  //read the analog voltage
 potVal=analogRead(A1);
 
 //turn the led on
 digitalWrite(ledPin, HIGH);
 //wait
 delay(potVal);
 //led off
 digitalWrite(ledPin, LOW);
 //wait
 delay(potVal);
 
 //send the value over the serial port
 Serial.println(potVal);
 
 //delay(10);
 
}
@]

Places to go shopping!
*[[http://digikey.com | Digikey]] : components/electronics
*[[http://jameco.com | Jameco]] : components/electronics
*[[http://mouser.com | Mouser Electronics]] : electronics
*[[http://mcmaster.com | McMaster-Carr]] : materials and lots of cool things
*[[http://adafruit.com | Adafruit]] : Arduinos, shields, and kits
*[[http://sparkfun.com | Sparkfun]] : Arduinos, shields, breakout boards, buy a final project for $60

Changed lines 157-158 from:
* [[Labs/AnalogIn | Lab]]: Analog in
to:
* [[Labs/AnalogInScott2012Spring | Lab]]: Analog in
Added lines 167-169:
'''READING:''' 
* Graham Pullin, ''[[http://itp.nyu.edu/physcomp/readings/Design_meets_disability.pdf|Design Meets Disability]]''

Deleted lines 187-189:
'''READING:''' 
* Graham Pullin, ''[[http://itp.nyu.edu/physcomp/readings/Design_meets_disability.pdf|Design Meets Disability]]''

Added lines 97-151:
'''From Class'''
*Hello Arduino
[@
//This is my LEDPin as a constant
const int ledPin = 12;

//run this once
void setup(){
  pinMode(ledPin,OUTPUT);
}


/*This is going to loop FOREVER!!!!
FOREVERRRRRR!!!!! */
void loop(){
  digitalWrite(ledPin,HIGH);
  delay(1000);
  digitalWrite(ledPin,LOW); 
  delay(1000);
}
@]

*Hello Switches
[@
//This is my Red LED as a constant
const int redLed = 12;
//This is my Green LED as a constant
const int greenLed = 11;
//This is my switchPin
const int switchPin =2;
//variable to hold the switch state
int switchState;

//run this once
void setup(){
  pinMode(greenLed,OUTPUT);
    pinMode(redLed,OUTPUT);
  pinMode(switchPin,INPUT);
}

/*This is going to loop FOREVER!!! */
void loop(){
  switchState = digitalRead(switchPin);
 
  if(switchState==HIGH){
  digitalWrite(greenLed,HIGH);
    digitalWrite(redLed,LOW);
  }else{
  digitalWrite(greenLed,LOW);
    digitalWrite(redLed,HIGH);
  }
 
}
@]

Changed lines 39-40 from:

to:
*[[http://icanhaznerdtimes.blogspot.com/ | Sarah Schoemann]]
*[[http://acphyscomp.wordpress.com/ | Aaron Coen]]


Changed lines 36-40 from:
to:
*[[http://interactivemusic.tumblr.com | Seok Bin Oh]]
*[[http://www.juansearenas.com | Juan Arenas]]
*[[http://www.jacksonstonebishop.com | Jackson Bishop]]

Changed lines 35-36 from:
to:
*[[http://physicaliscomputare.tumblr.com | Adrian Wenzel]]
Changed lines 34-35 from:
to:
*[[http://oscartewsphyscomp.blogspot.com | Oscar Tews]]
Changed lines 33-34 from:
to:
*[[http://jrhphyscomp.blogspot.com/ | Jack Holmes]]
Changed line 46 from:
!!!Week 1
to:
!!!{+Week 1+}
Changed line 65 from:
!!!Week 2
to:
!!!{+Week 2+}
Changed line 78 from:
!!!Week 3
to:
!!!{+Week 3+}
Changed line 88 from:
!!!Week 4
to:
!!!{+Week 4+}
Changed lines 106-107 from:
!!!Week 5
to:
!!!{+Week 5+}
Changed line 133 from:
!!!Week 6
to:
!!!{+Week 6+}
Changed lines 144-145 from:
!!!Week 7
to:
!!!{+Week 7+}
Changed lines 158-159 from:
!!!Week 8
to:
!!!{+Week 8+}
Changed lines 180-181 from:
!!!Week 9
to:
!!!{+Week 9+}
Changed line 196 from:
!!!Week 10
to:
!!!{+Week 10+}
Changed line 208 from:
!!!Week 11
to:
!!!{+Week 11+}
Changed line 213 from:
!!!Week 12
to:
!!!{+Week 12+}
Changed line 219 from:
!!!Week 13
to:
!!!{+Week 13+}
Changed line 222 from:
!!!Week 14
to:
!!!{+Week 14+}
Changed lines 76-77 from:
* [[/Labs/Switches | Lab]]: Switches
to:
* [[Labs/Switches | Lab]]: Switches
Added line 74:
* [[Labs/Breadboard | Lab:]] Setting up a breadboard
Changed lines 76-77 from:
* [[Labs/Breadboard | Lab:]] Setting up a breadboard
to:
* [[/Labs/Switches | Lab]]: Switches
Changed lines 32-33 from:
to:
*[[http://cargocollective.com/cordialatron | Miriam Brafman]]
Changed lines 84-85 from:
* [[Labs/DigitalInOut | Lab:]] first Arduino program. Download the [[http://code.google.com/p/arduino/wiki/Arduino1|latest version of Arduino]] for this lab.
to:
* [[Labs/DigitalInOut | Lab:]] first Arduino program. Download the [[http://arduino.cc/en/Main/Software|latest version of the Arduino software]] for this lab.
Changed lines 5-6 from:
*Office Hours : TBD, most likely Mondays.
to:
*Office Hours : Mondays! In the afternoon. from like ... 4-5 [[https://www.google.com/calendar/selfsched?sstoken=UUQxU2lzN0xkSklxfGRlZmF1bHR8YzNlMjY4NTFjNjg0MjZjYzBjOTY3ZjY3MTY1M2I5YzE  | Sign up here]]
Changed lines 31-32 from:
to:
*[[http://josuepacifi.co/blog.php | Josue Berra]]
Changed lines 30-31 from:
to:
*[[http://www.f4der.com/blog/category/physical-computing/ | Alex Attar]]
Changed lines 29-30 from:
to:
*[[http://shortycircuits.wordpress.com | Kai Zhang]]
Changed lines 28-29 from:
to:
*[[http://itp.nyu.edu/~jl3789/itpblog/?cat=6 | Joseph Lim]]
Changed lines 27-28 from:

to:
*[[http://lookatwhaticando.tumblr.com/ | Dhruv Mehrotra]]
Changed lines 26-28 from:
to:
*[[http://cwpc2012.tumblr.com | Cheryl Wu]]

Deleted lines 14-15:
'''Some time in weeks 1 - 3: Attend a tool safety session in the shop'''
Added lines 24-26:
!!Class Blogs:
*[[http://laurenfritz.tumblr.com | Lauren Fritz]]

Added lines 58-59:
* Class field trip to the shop. Starring John Duane.
Added line 48:
* Set up your blog.
Changed lines 48-50 from:
* Put a link to your blog on the  [[http://itp.nyu.edu/physcomp/Fall11/BlogList|blog list page]].
* Arrange a shop safety seminar with John Duane
.
to:
* Email me a link to your blog.
Added line 41:
*  [[http://droolcup.com/itp/pcomp/senses-usvthem.jpg | Senses, us v computers ]]
Added lines 4-6:
*[[mailto:scott.fitzgerald@nyu.edu?subject=Wed%20Evening%20Pcomp | scott.fitzgerald@nyu.edu]]
*Office Hours : TBD, most likely Mondays.

Added lines 26-37:
!!Additional links of interest
*[[http://arduino.cc | main Arduino site]]
*[[http://www.tigoe.net/pcomp/code/ | Tom Igoe's pcomp blog]]
*[[http://tigoe.net/pcomp/ | Tom's old pcomp site]]
*[[http://www.jodyculkin.com/comics-2/introduction-to-arduino | Jody Culkin's Intro to Arduino Comic]]
*[[http://www.tigoe.net/blog/category/physicalcomputing/176/ | Tom's taxonomy of Pcomp projects]]
*[[http://www.jimcampbell.tv/portfolio/miscellaneous_references/ | Jim Campbell's formula for computer art]]

!!Supplies

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

Added line 59:
* [[http://www.tigoe.net/pcomp/code/circuits/breadboards | Breadboards]]
Deleted line 70:
* [[http://www.tigoe.net/pcomp/code/circuits/breadboards | Breadboards]]
Changed lines 116-120 from:
to:
'''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.

Deleted lines 131-135:
'''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.

Deleted line 192:
Deleted line 195:
Changed line 197 from:
* present finals in progress. Critique concepts and interaction
to:
* present finals in progress. Critique concepts and interaction. Guest critique of physical interface
Changed line 202 from:
* present progress, Critique concepts and interaction. Guest critique of physical interface
to:
* present progress, Critique concepts and interaction.
Changed line 219 from:
(:include Intro.GroupHeader:)
to:
(:include Intro.GroupHeader:)
Deleted line 11:
Deleted line 15:
Changed line 27 from:
* Observation (In class)
to:
* Observation (In class during the break)
Added lines 35-37:
'''READING:'''
* Crawford, ''[[http://library.books24x7.com/book/id_4587/toc.asp | 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 [[http://library.books24x7.com/bookmark.asp?bookid=4587|this link]]. ) 

Deleted lines 40-43:
'''READING:'''
* Crawford, ''[[http://library.books24x7.com/book/id_4587/toc.asp | 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 [[http://library.books24x7.com/bookmark.asp?bookid=4587|this link]]. ) 

Deleted line 49:
Deleted line 60:
Changed lines 29-30 from:
* Observation
to:
* Observation (In class)
Pick a piece of interactive technology in public, used by multiple people. 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.

Changed lines 38-39 from:

to:
*After reading Chris Crawford's definition, how would you define physical interaction? What makes for good physical interaction? Can you name some examples of digital technology that are not interactive?
Added lines 86-88:
'''PRESENT THIS WEEK:'''
* Present Fantasy device

Deleted lines 101-104:

'''PRESENT THIS WEEK:'''
* Present Fantasy device

Added line 28:
* Examples
Changed lines 34-35 from:
to:
* Arrange a shop safety seminar with John Duane.
Deleted lines 64-65:

Deleted line 79:
Changed lines 81-83 from:
->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. 
         
to:
->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 the physical interface.  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 5
Deleted line 98:
!!!Week 5
Changed lines 100-106 from:
* 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.

to:
* Present Fantasy device
Deleted line 106:
Changed lines 118-122 from:
to:
'''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.

Changed lines 138-153 from:
'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/circuits/motors| high current loads and motors]]
** [[http://www.tigoe.net/pcomp/code/circuits/motors/controlling-dc-motors|controlling DC Motors]]
** [[http://www.tigoe.net/pcomp/code/circuits/motors/stepper-motors|stepper motors]]
* Dustyn's writing on:
** [[http://itp.nyu.edu/physcomp/readings/ch06_DRedit.pdf|Motors]]
** [[http://itp.nyu.edu/physcomp/readings/ch02_DRedit.pdf|Materials: what to choose and where to get]]
** [[http://itp.nyu.edu/physcomp/readings/ch09_DRedit.pdf|Making Things]]

'''LABS:'''
** [[Tutorials/HighCurrentLoads | Transistor Lab]]
** [[Labs/DCMotorControl | HBridge Lab]]


!!!Week 9

to:
Changed lines 159-160 from:
!!!Week 10
to:
!!!Week 9
Added lines 162-176:
* [[http://www.tigoe.net/pcomp/code/circuits/motors| high current loads and motors]]
** [[http://www.tigoe.net/pcomp/code/circuits/motors/controlling-dc-motors|controlling DC Motors]]
** [[http://www.tigoe.net/pcomp/code/circuits/motors/stepper-motors|stepper motors]]
* Dustyn's writing on:
** [[http://itp.nyu.edu/physcomp/readings/ch06_DRedit.pdf|Motors]]
** [[http://itp.nyu.edu/physcomp/readings/ch02_DRedit.pdf|Materials: what to choose and where to get]]
** [[http://itp.nyu.edu/physcomp/readings/ch09_DRedit.pdf|Making Things]]

'''LABS:'''
** [[Tutorials/HighCurrentLoads | Transistor Lab]]
** [[Labs/DCMotorControl | HBridge Lab]]


!!!Week 10
'''CONCEPTS:'''
Changed line 195 from:
* present in progress, Critique concepts and interaction
to:
* present progress, Critique concepts and interaction. Guest critique of physical interface
Added lines 1-214:
!Introduction to Physical Computing
!!Spring 2012

[[PrintSyllabus?action=print| Link to printable syllabus]]

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 a computer converts the changes in energy given off by our bodies (in the form of sound, light, motion, and other forms) into changing electronic signals that it can read interpret. You'll learn about the sensors that do this, and about very simple computers called microcontrollers that read sensors and convert their output into data. Finally, you'll 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.


'''Some time in weeks 1 - 3: Attend a tool safety session in the shop'''

For each week, you'll find:


* '''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
'''CONCEPTS:'''
* What is Physical Computing?
* Observation

'''ASSIGNMENT:'''
* Join the [[Main/List| physcomp listserve]]
* Put a link to your blog on the  [[http://itp.nyu.edu/physcomp/Fall11/BlogList|blog list page]].

'''BLOG:'''


'''READING:'''
* Crawford, ''[[http://library.books24x7.com/book/id_4587/toc.asp | 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 [[http://library.books24x7.com/bookmark.asp?bookid=4587|this link]]. ) 


!!!Week 2
'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/circuits/understanding-electricity| Understanding Electricity]]
* A [[http://www.youtube.com/watch?v=sQ9G2OL9ERo| short video]] in a light-hearted vein on some electrical characteristics.

'''LABS:'''
* [[Labs/Electronics | Lab]]: Electronics
* [[Labs/Breadboard | Lab:]] Setting up a breadboard


!!!Week 3
* What is a [[http://www.tigoe.net/pcomp/code/controllers/all-about-microcontrollers|Microcontroller]]?
** Microcontrollers and sensors in the everyday environment
* Analog vs. Digital
* [[http://www.tigoe.net/pcomp/code/controllers/input-output/digital-input-output| Digital Input and Output]]
* [[http://www.tigoe.net/pcomp/code/circuits/breadboards | Breadboards]]
* Intro to [[http://www.arduino.cc/|Arduino]] and first program.

'''LABS:'''
* [[Labs/DigitalInOut | Lab:]] first Arduino program. Download the [[http://code.google.com/p/arduino/wiki/Arduino1|latest version of Arduino]] for this lab.




!!!Week 4
'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/controllers/input-output/analog-input|analog input]]

'''LABS:'''
* [[Labs/AnalogIn | Lab]]: Analog in

'''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.


'''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. 
         

'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/controllers/input-output/analog-output|analog output]]
** pulsewidth modulation
*Sound out
*Transistor

'''LABS:'''
* [[Labs/Servo | Lab]]: servo/analog out
* [[Labs/ToneOutput | Lab]]: Tone output

'''READING:''' 
* Graham Pullin, ''[[http://itp.nyu.edu/physcomp/readings/Design_meets_disability.pdf|Design Meets Disability]]''


!!!Week 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, ''[[http://itp.nyu.edu/physcomp/readings/DesignOfEveryDayThings.pdf |Design of Everyday Things]]'', ch. 1
* Norman, ''[[http://www.jnd.org/dn.mss/emotion_design_at.html | Emotional Design]]'', Chapter 1, "Attractive Things Work Better". 



!!!Week 6
'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/communication/serial-communication|serial communication]] week 1
** graphing a sensor

'''LAB:'''
* [[Labs/SerialOut | 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 7

'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/communication/interpreting-serial-data-bytes| serial communication]] week 2
** multiple sensors
** Interpreting bytes: ASCII vs. binary
** handshaking/call-and-response
   
'''LABS:'''
** [[Labs/SerialDuplex | Lab]]: Multiple Serial Output

'''READING:'''
* Hoffman, ''[[http://itp.nyu.edu/physcomp/readings/Visual_intelligence.pdf|Visual Intelligence]]''

!!!Week 8
'''CONCEPTS:'''
* [[http://www.tigoe.net/pcomp/code/circuits/motors| high current loads and motors]]
** [[http://www.tigoe.net/pcomp/code/circuits/motors/controlling-dc-motors|controlling DC Motors]]
** [[http://www.tigoe.net/pcomp/code/circuits/motors/stepper-motors|stepper motors]]
* Dustyn's writing on:
** [[http://itp.nyu.edu/physcomp/readings/ch06_DRedit.pdf|Motors]]
** [[http://itp.nyu.edu/physcomp/readings/ch02_DRedit.pdf|Materials: what to choose and where to get]]
** [[http://itp.nyu.edu/physcomp/readings/ch09_DRedit.pdf|Making Things]]

'''LABS:'''
** [[Tutorials/HighCurrentLoads | Transistor Lab]]
** [[Labs/DCMotorControl | HBridge Lab]]


!!!Week 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.


!!!Week 10
'''CONCEPTS:'''
* complex data communications
** configuration vs. communication (command move vs. data mode)
** addressing
** Bluetooth serial as example
** protocols discussion
** [[Labs/Bluetooth | 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 11
* present finals in progress. Critique concepts and interaction
'''READING:'''
* Rory Hamilton's notes on [[http://everythingiknow.co.uk/gum.html|preparing presentations]] and [[http://everythingiknow.co.uk/preMat.html|giving presentations]]

!!!Week 12
* present in progress, Critique concepts and interaction
   
'''BLOG:'''
* describe the technical system for your final project.

!!!Week 13
* final project workshop.  Discuss any remaining technical issues

!!!Week 14
'''PRESENT THIS WEEK:''' 
* Final Project

'''BLOG:'''
* finish the documentation for your final project.

(:include Intro/Grading:)

(:include Intro.GroupHeader:)
  Edit | View | History | Print | Recent Changes | Search Page last modified on July 15, 2012, at 08:40 PM