ITP - Sensor Workshop
Spring 2008 - Mondays, 2:00 - 4:55 pm
Instructor: Jeff Gray
Email: jeff.gray [at] nyu.edu
Office Hours: Mondays 5-6pm, Tuesdays 1-3pm (tentatively set)
Creating interactive work relies on building a relationship between the object and the viewer. By gathering information in the form of input, processing that into meaningful data, and outputting that contextually, new forms of engagement and interaction with an audience can be established. In this class, students focus on the input side of physical computing by researching various sensors and sensing methods and developing example methods for their use.
The class assembles a library of sensor applications for interactive applications, and applies this research to applications in other classes at ITP. The class begins with a review of the electronics of sensor systems as learned in physical computing. From there, we talk about types of sensors; sensors, time, and events; amplification and filtering of sensor signals; sensor networks; data processing, statistical methods, gesture recognition and related topics that aid in making sensor systems effective.
There are a number of one-week exercises that students complete to demonstrate the techniques discussed in class. In addition, students are responsible for a major sensor research project in which they explain the operating principles of a given sensor and present a working example of the sensor in use. These research projects are presented throughout the second half of the semester, and collected as part of a growing online reference project. There is no final application project, but students are evaluated on the application of their research (or that of other students) in production projects developed for other classes. Most importantly, students are evaluated by the level of thoughtfulness and detail put in to their documentation, as it is added to a growing online resource.
SCHEDULE
Class 1 (Jan. 28):
Assignment:
1.Introduce yourself in the class wiki. Include links to any external site you're maintaining for this class.2. Sign up for two days of shop cleaning.
3. Manufacturer Descriptions
Class 2 (Feb. 4):
Assignment: Sensor Walk
Class 3 (Feb. 11):
Assignment: Sensors and Time
Feb. 7: No Class. President's Day
Class 4: (Feb 25):
Assignment: Datasheet Report
Class 5 (Mar. 3):
Assignment: Datalogging
Class 6 (Mar. 10):
Spring Break (Mar. 17) NO CLASS
Class 7 (Mar. 24):
Assignment: Actions, Events,and Filtering
Class 8 (Mar. 31):
Class 9 (Apr. 7):
Class 10 (Apr. 14):
Class 11 (Apr. 21):
Class 12 (Apr. 28):
Participation & Attendance
Showing up on time, engaging in the class discussion, reading any articles or papers assigned and bringing that knowledge into your discussion and research, and offering advice and critique on other projects in the class is a major part of your grade. Please be present and prompt. Late attendance affects your grade adversely. If you're going to be late or absent, please email me in advance. If you have an emergency, please let me know as soon as you can afterward. Please turn in assignments on time as well.
Grading
Laptops and Cell Phones
Laptop use is fine if you are using your laptop to present in class, or if we're in the middle of an exercise that makes use of it, or if I'm introducing new material on which you want to take notes. During class discussions, or when your fellow classmates are presenting, however, please keep your laptop closed. The quality of the class depends in large part on the quality of your attention and active participation, so chat live with your classmates in an old-school, oral way.
Please turn your mobile phone off or on vibrate before class.
Parts
The parts you used for Intro to Physical Computing should get you started. Any additional parts will be determined by what sensors you choose to work with.
Books
Below are recommended texts for the course in general.
Physical Computing: Sensing and Controlling the Physical World with Computers, Dan O'Sullivan and Tom Igoe ©2004
Thomson Course Technology PTR; ISBN: 159200346X
Includes much of the material covered in class and lots of advanced examples as well.
Getting Started in Electronics, Forrest M. Mims III, ©1983
Forrest M. Mims III
A very basic introduction to electricity and electronics, written in notebook style. Includes descriptions of the basic components and what they do, and how they relate to each other.
Practical Electronics for Inventors, 1st Edition. Paul Scherz, ©2000
McGraw-Hill Professional Publishing; ISBN: 0070580782
A more in-depth treatment of electronics, with many practical examples and illustrations. An excellent reference for those comfortable with the basic topics. The use of plumbing systems as examples to demonstrate electric principles makes for some very clear illustrations of how different components work. Good chapters on sound electronics and motors as well.
The Art of Electronics, 2nd Edition. Paul Horowitz & Winfield Hill ©1989
Cambridge University Press, ISBN 0-521-37095-7
For more advanced coverage of electronics, but still accessible to the non-engineeer, this is an invaluable reference. Not as accessible as Practical Electronics (above), but more in-depth on some topics.
Build Your Own Printed Circuit Board, Al Williams, ©2003
McGraw-Hill/TAB Electronics. ISBN 639785506973
The title says it all. This book introduces how circuit boards are made, how you design them using specialized CAD software, and how to fabricate them at home or to get them manufactured professionally. A good introduction to the process.
ASSIGNMENTS
You'll be expected to complete five assignments in this class, and one outside of this class, as follows:
Manufacturer Descriptions
Sensor Walk
Datasheet report
Sensor report
2 of 3 Sensor sketches
Outside application
Details are below.
Manufacturer Descriptions
A large part of this class revolves around taking previously obtained information of former students and adding to it. The 2007 class built this list of manufacturers they contacted, some with success, and some without.Our aim this year is to flesh out what these companies offer, activate links to their information, and provide some searchable and contextual information we can then use in the future to find the sensors we need on a given project.
Add descriptions to three manufacturers (currently on the list or new ones you've come across) on the Sensor Wiki Manufacturer Page. Visit their website, taking notes on the types of sensors they offer and any other details about those items which is different/unique. Drop these notes back into this page, followed by a link to your netid. Please make sure to leave this link with your name after the description, so I can see what you've added.
Datasheet Report:
Pick a sensor or component to investigate. Find and data sheet for it, and summarize it in the wiki, including any questions you have, and parts you don't understand. Be prepared to present your summary in class the next week.
The aim of this assignment is not necessarily to make full sense of a sensor's datasheet, but explain what is clear to you, and to generate a list of specific questions about what is not clear. When these reports are presented in class, we will discuss the questions and attempt to answer them together.
Sensor Report:
Your major project for this class will be a sensor research presentation and report. Include full details on what your sensor senses and how it works both electrically and physically. Give example applications where it's used commercially or industrially. Then explain in depth how to use it. Translate any important information on its electrical, physical, or interface characteristics into clear layman's terms. Include an example circuit, with schematic diagram, and a code example for a microcontroller. And show a working example of your sensor. You might also suggest future directions for development, both of your own work or commercially. Assume your audience knows as much as the typical physical computing student at the end of the semester.
All sensor research reports will be collected in a class wiki. Each entry will include a step-by-step explanation of how to use the sensor or sensor system involved, following along the lines of howstuffismade.org and instructables.com.
The sensor research projects will be presented over the course of the last several weeks of the semester, four per week. Your in-class presentation should be approximately 25 minutes long total. Make sure to include time in that 25 minutes for questions from the class. Students will be assigned to a given week after the third or fourth class of the semester.
There will be time in the last two weeks for anyone from the earlier weeks to do a second presentation, to include details you've learned, corrections to your earlier presentation, clarifications, examples, and so forth. This is optional, but can improve both your grade and your presentation.
You may not repeat a sensor report that is already on the sensor wiki, so read through them carefully before choosing. However, if you wish to expand on an existing report, and feel that you have a lot to add to the report, talk to me about what you have in mind. There are a handful of previous reports which could use additional content and richness of detail.
These will not be group projects. Each student will do his or her own research project, and is expected to choose a sensor that's unique from the rest of the class. However, you may may build on and correct each others' work. Active feedback on each others' work is expected as a part of your participation grade.
Sensor Sketches:
These are short assignments, not much more than lab exercises, to help you understand some of the techniques shown in class. You may do them alone or in groups, as long as all members of the group share the workload equally, and demonstrate their understanding of the whole project and how it uses the technique discussed in class.
Pick two of the three assignments listed below as your minor assignments. The due dates for these assignments are listed above. I strongly suggest that everyone do the first one, sensors and time, and one of the other two.
Sensors and Time: Build a simple microcontroller/ sensor system that outputs the sensor's changes over time, in order to visualize or sonify the sensor's reaction curve. This piece of code, written in Processing, is a good place to start. The output of your system should be very simple, and give a clear picture of the changes in the sensor over time.
Datalogging: Build a long-term datalogging system. Capture data from the physical world in a database/text file and build a way to display the data gathered over time. Pick a time scale that's longer than normal reaction time. For example, you might capture the number of people who enter the floor per day, or the temperature over a week, or the average noise level of a space per hour. This network datalogging suite or this Xport to SQL example may help. Addiitonally, Sparkfun's DosOnChip SD card modules will allow you to log data from a sensor over the course of time, and then read that data in on a computer at a later time.
Use a different sensor for this assignment than you did for your first assignment. Feel free to swap sensors with a friend.
Since this assignment may involve some dynamic web and database programming (which is not covered in this class), I suggest doing this only if you're already familiar with these types of programming environments (PHP, Ruby, PERL). If you are currently taking a class in one of these at the moment, or if you've got a knack for learning new application areas quickly, then feel free. Additionally, the above mentioned Sparkfun module will allow you to log data. You would then need to create some sort of system for displaying this information back visually (using processing or some web display).
Actions, Events,and Filtering: Build a sensor application that senses the actions of a person and responds appropriately. Your system should indicate that it understands when significant events occur: for example, it it might when a person first makes contact with the physical interface, or when she breaks contact with the interface, rather than responding continually. It might respond differently to a tap as opposed to a stroke, or it might respond differently to a sharp gesture as opposed to a smooth gesture. It might count the number of times that a person presses a sensor, and responds differently based on the number of presses and the force of each press. It might respond to a sequence of breaths, and the intensity of the breaths. The key here is to understand when a sensor senses significant changes, and to reliably identify and respond to those changes, and to filter out insignificant changes.
Use a different sensor for this assignment than you did for your first assignment. Feel free to swap sensors with a friend.
Outside application:
As part of your work in other classes, you will most likely need to use a sensor system. Use your own work or another student's from this class (with appropriate citation). You can choose to present this project in class as part of your sensor research report, or you can make arrangements with me to see it outside of class. If you're not already required to document this project online for the other class, do so as a part of this class. Include details of how the sensing is accomplished, and how it fits into the physical interaction as a whole.
Journal & Documentation:
As mentioned above, all sensor research projects will be a part of the class wiki. you'll be expected to document your research there, and journal any in-process notes, and to read your classmates' notes, and help where possible. You should also document your outside project at least as thoroughly as required by your other class(es), though that documentation may live on a separate site. If you choose to keep a separate site for your own notes as well, you should link it to the class wiki. The purpose of the wiki is to begin building an ongoing knowledge base on sensors and sensor systems for current and future ITP community members.