|
Intro to Physical Computing Syllabus Research & Learning Other Class pages
ITP Help Pages |
Introduction to Physical Computing - Summer 2011Summer11.Scott HistoryHide minor edits - Show changes to markup July 27, 2011, at 12:22 AM
by -
Deleted line 232:
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 : 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:
July 26, 2011, at 10:23 AM
by -
Changed lines 219-222 from:
LABS:
to:
Added lines 229-230:
Added lines 240-242:
LABS: Deleted lines 245-254:
Class 8CONCEPTS:
Added lines 263-274:
Class 8CONCEPTS:
July 21, 2011, at 10:43 AM
by -
Changed lines 245-246 from:
Class 8to:
Class 8CONCEPTS:
Added line 272:
Changed lines 274-282 from:
CONCEPTS:
to:
July 21, 2011, at 10:40 AM
by - 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 -
Changed lines 158-161 from:
to:
LINKS
July 19, 2011, at 12:26 PM
by -
Changed lines 145-147 from:
PRESENT THIS WEEK:
to:
DISCUSS PET TRICKS! Added lines 160-162:
PRESENT THIS CLASS:
July 13, 2011, at 06:54 PM
by -
Deleted line 15:
Changed lines 115-118 from:
to:
Changed lines 125-126 from:
to:
July 12, 2011, at 11:10 AM
by -
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:
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:
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 -
Added line 17:
Changed lines 20-21 from:
to:
July 08, 2011, at 09:12 AM
by -
Changed line 92 from:
to:
July 08, 2011, at 09:10 AM
by -
Changed line 16 from:
to:
July 08, 2011, at 09:10 AM
by -
Added line 16:
Added lines 90-99:
LINKS
July 07, 2011, at 03:51 PM
by -
Changed line 15 from:
to:
July 07, 2011, at 03:51 PM
by -
Added line 15:
July 07, 2011, at 01:34 PM
by -
Added line 12:
Changed lines 15-16 from:
to:
July 07, 2011, at 11:42 AM
by -
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 -
Added line 12:
Changed lines 14-15 from:
to:
July 07, 2011, at 11:37 AM
by -
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 -
Changed line 55 from:
to:
Changed lines 72-74 from:
to:
July 06, 2011, at 06:52 PM
by -
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 -
Changed lines 12-14 from:
Bree to:
July 06, 2011, at 12:00 PM
by -
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! July 06, 2011, at 12:00 PM
by -
Changed lines 12-14 from:
to:
Bree Allen July 05, 2011, at 11:08 PM
by -
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:
Changed lines 68-70 from:
to:
July 05, 2011, at 08:33 AM
by -
Added lines 64-66:
LINKS
July 05, 2011, at 07:21 AM
by -
Changed line 36 from:
Week 1to:
Week 1 : Getting to know your Arduino. Hello Everything!Changed line 81 from:
Week 2to:
Week 2 : Back to the PhysicalChanged line 121 from:
Week 3to:
Week 3 : Talk to me! Communication with other thingsDeleted 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:
Class 6Changed lines 136-138 from:
Week 4Class 7to:
READING:
Class 6Changed lines 154-155 from:
Class 8to:
Week 4 : Controlling high current loads, making things moveClass 7Changed lines 170-172 from:
Week 5Class 9to:
Class 8Changed lines 191-192 from:
Class 10to:
Week 5 : Additional concerns, wireless communicationClass 9Changed lines 206-209 from:
Week 6Class 11
to:
Class 10
Added lines 212-217:
Week 6 : Holy Mackerel, this is already over?Class 11
July 04, 2011, at 10:51 PM
by -
Changed lines 46-47 from:
to:
July 04, 2011, at 10:44 PM
by -
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 -
Deleted lines 9-16:
DescriptionPhysical 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:
Week 1Class 1CONCEPTS:
LABS: ASSIGNMENT:
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.
READING:
Class 2CONCEPTS:
LABS:
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 2Class 3PRESENT THIS WEEK:
CONCEPTS:
LABS:
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:
READING:
Class 4CONCEPTS:
LABS: READING:
Week 3Class 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:
Class 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 4Class 7CONCEPTS:
LABS:
READING:
Class 8CONCEPTS:
LABS: Week 5Class 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.
Class 10CONCEPTS:
BLOG:
Week 6Class 11
BLOG:
Class 12
BLOG:
July 02, 2011, at 09:59 PM
by -
Deleted lines 20-37:
GradingParticipation & Attendance: 20% BooksThe 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.
July 02, 2011, at 09:58 PM
by -
Changed lines 32-40 from:
to:
Changed lines 47-188 from:
Week 1: Basic Electronics, Introduction to MicrocontrollersClass 1
Class 2
Week 2: Programming, Analog Input and OutputClass 3
Class 4
Week 3: Serial CommunicationClass 5
Class 6
Week 4: Midterm, MovementClass 7
Class 8
Week 5: Project Development, Extra TopicsClass 9
Class 10
Week 6: Final Workshop and PresentationsClass 11
Class 12
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 -
Deleted line 49:
Deleted lines 54-55:
Deleted lines 55-61:
Changed lines 57-58 from:
to:
Changed line 60 from:
to:
Deleted lines 71-73:
Deleted lines 72-75:
Changed lines 82-95 from:
to:
Deleted line 84:
Deleted lines 94-97:
Changed lines 96-110 from:
to:
Deleted lines 107-110:
Changed lines 125-131 from:
to:
Changed lines 133-136 from:
to:
Changed lines 149-153 from:
to:
Changed lines 157-162 from:
to:
Deleted lines 170-175:
Changed lines 172-175 from:
to:
Deleted lines 176-178:
Deleted lines 177-180:
July 02, 2011, at 09:36 PM
by -
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:
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:
to:
Changed line 73 from:
to:
Changed lines 84-85 from:
to:
Changed lines 88-90 from:
to:
June 07, 2011, at 08:16 PM
by -
Added lines 1-273:
(:title Introduction to Physical Computing - Summer 2011 :) 7 July - 11 August 2011 DescriptionPhysical 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 BlogsGradingParticipation & Attendance: 20% BooksThe 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.
SuppliesSee http://itp.nyu.edu/physcomp/Intro/Supplies ScheduleWeek 1: Basic Electronics, Introduction to MicrocontrollersClass 1
Class 2
Week 2: Programming, Analog Input and OutputClass 3
Class 4
Week 3: Serial CommunicationClass 5
Class 6
Week 4: Midterm, MovementClass 7
Class 8
Week 5: Project Development, Extra TopicsClass 9
Class 10
Week 6: Final Workshop and PresentationsClass 11
Class 12
|