|
Intro to Physical Computing Syllabus Research & Learning Other Class pages
ITP Help Pages |
Scott S 2012Intro.ScottS2012 HistoryHide minor edits - Show changes to markup July 15, 2012, at 08:40 PM
by -
Changed line 31 from:
to:
April 01, 2012, at 12:59 PM
by -
Changed line 415 from:
to:
Changed line 420 from:
to:
March 21, 2012, at 08:05 PM
by -
Added lines 364-367:
March 07, 2012, at 06:01 PM
by -
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);
}
}
}
February 23, 2012, at 11:26 AM
by -
Deleted line 31:
February 23, 2012, at 10:56 AM
by -
Deleted line 35:
February 22, 2012, at 04:21 PM
by -
Changed lines 281-283 from:
to:
February 22, 2012, at 03:45 PM
by -
Deleted line 36:
February 16, 2012, at 08:42 AM
by -
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!
February 15, 2012, at 11:40 AM
by -
Added lines 167-169:
READING:
Deleted lines 187-189:
READING:
February 13, 2012, at 10:13 AM
by -
Added lines 97-151:
From Class
//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);
}
//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);
}
}
February 08, 2012, at 11:10 PM
by -
Changed lines 39-40 from:
to:
February 01, 2012, at 06:19 PM
by -
Changed lines 36-40 from:
to:
February 01, 2012, at 03:53 PM
by -
Changed lines 35-36 from:
to:
February 01, 2012, at 03:32 PM
by -
Changed lines 34-35 from:
to:
February 01, 2012, at 01:31 PM
by -
Changed lines 33-34 from:
to:
February 01, 2012, at 12:30 PM
by -
Changed line 46 from:
Week 1to:
Week 1Changed line 65 from:
Week 2to:
Week 2Changed line 78 from:
Week 3to:
Week 3Changed line 88 from:
Week 4to:
Week 4Changed lines 106-107 from:
Week 5to:
Week 5Changed line 133 from:
Week 6to:
Week 6Changed lines 144-145 from:
Week 7to:
Week 7Changed lines 158-159 from:
Week 8to:
Week 8Changed lines 180-181 from:
Week 9to:
Week 9Changed line 196 from:
Week 10to:
Week 10Changed line 208 from:
Week 11to:
Week 11Changed line 213 from:
Week 12to:
Week 12Changed line 219 from:
Week 13to:
Week 13Changed line 222 from:
Week 14to:
Week 14February 01, 2012, at 12:26 PM
by -
Added line 74:
Changed lines 76-77 from:
to:
February 01, 2012, at 12:02 PM
by -
Changed lines 32-33 from:
to:
February 01, 2012, at 09:36 AM
by -
Changed lines 84-85 from:
to:
February 01, 2012, at 12:02 AM
by -
Changed lines 5-6 from:
to:
January 31, 2012, at 11:04 PM
by -
Changed lines 31-32 from:
to:
January 31, 2012, at 07:53 AM
by -
Changed lines 30-31 from:
to:
January 30, 2012, at 09:30 PM
by -
Changed lines 29-30 from:
to:
January 30, 2012, at 03:03 PM
by -
Changed lines 28-29 from:
to:
January 30, 2012, at 02:43 PM
by -
Changed lines 27-28 from:
to:
January 29, 2012, at 09:59 AM
by -
Changed lines 26-28 from:
to:
January 27, 2012, at 10:46 AM
by -
Deleted lines 14-15:
Some time in weeks 1 - 3: Attend a tool safety session in the shop Added lines 24-26:
Class Blogs:
January 26, 2012, at 03:22 PM
by -
Added lines 58-59:
January 25, 2012, at 08:28 PM
by -
Added line 48:
January 25, 2012, at 08:27 PM
by -
Changed lines 48-50 from:
to:
January 25, 2012, at 04:27 PM
by -
Added line 41:
January 25, 2012, at 04:14 PM
by -
Added lines 4-6:
Added lines 26-37:
Additional links of interest
SuppliesSee http://itp.nyu.edu/physcomp/Intro/Supplies Added line 59:
Deleted line 70:
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:
to:
Changed line 202 from:
to:
Changed line 219 from:
(:include Intro.GroupHeader:) to:
(:include Intro.GroupHeader:) January 25, 2012, at 03:35 PM
by -
Deleted line 11:
Deleted line 15:
Changed line 27 from:
to:
Added lines 35-37:
READING:
Deleted lines 40-43:
READING:
Deleted line 49:
Deleted line 60:
January 24, 2012, at 01:15 PM
by -
Changed lines 29-30 from:
to:
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:
Added lines 86-88:
PRESENT THIS WEEK:
Deleted lines 101-104:
PRESENT THIS WEEK:
January 23, 2012, at 03:43 PM
by -
Added line 28:
Changed lines 34-35 from:
to:
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 5Deleted line 98:
Week 5Changed lines 100-106 from:
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:
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:
LABS: Week 9to:
Changed lines 159-160 from:
Week 10to:
Week 9Added lines 162-176:
LABS: Week 10CONCEPTS: Changed line 195 from:
to:
December 21, 2011, at 06:29 PM
by -
Added lines 1-214:
Introduction to Physical ComputingSpring 2012Physical 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:
Week 1CONCEPTS:
ASSIGNMENT:
BLOG: READING:
Week 2CONCEPTS:
LABS: Week 3
LABS:
Week 4CONCEPTS:
LABS:
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:
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:
LABS: READING:
Week 5PRESENT THIS WEEK:
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:
Week 6CONCEPTS:
LAB:
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 7CONCEPTS:
LABS:
READING:
Week 8CONCEPTS:
LABS: Week 9PRESENT 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 10CONCEPTS:
BLOG:
Week 11
READING:
Week 12
BLOG:
Week 13
Week 14PRESENT THIS WEEK:
BLOG:
(:include Intro/Grading:) (:include Intro.GroupHeader:) |