Intro to Physical Computing
Jeff Feddersen
email me
Fall 2004 Syllabus ARCHIVE

week: 1 2 3 4 5 | 6 7 8 9 | 10 11 [tg] 12 13 14 | current home

Week 1: Introductions/Overview, Basic Electronics
Thursday, September 9th

  • Who are we? How/What/Why physical computing?
  • Intro to Electronics: Tools, materials, and theory.
  • Soldering
  • Assignments:
    • Join the physcomp listserve
    • Start your phys comp journal, email me the URL. Here's info on setting up your ITP user accounts, which will give you server space for your journal.
    • Attend a Tool safety session in the shop. All students using the shop are required by the University office of Environmental Safety to attend a safety session. You can sign up for your shop clean up days here. Here's a summary of some of the new features of the shop this year.
    • Lab: Electronics
  • Reading:

 

Weekly Notes


For my class, there's a mandatory basic power setup. Get it down now and you never have to worry about it again - that means less time debugging sketchy circuits.

Amit suggests Jef Raskin's Humane Interface as counterpoint to Buxton.


Week 2: Programming Microcontrollers
Thursday, September 16

 


Here are two ways to connect LEDs for digital output.

Sample from class.

The Pic Basic Pro Compiler manual, in pdf format and hyperlinked HTML.


Week 3: Variables and Analog Input
Thursday, September 23

  • Memory and variables: Decimal, binary, hex.
  • Analog input, what an ADC is.
  • Assignments:
    • Project work: Present location and observations
    • Lab: Analog in; tracking changes with variables
  • Reading:
    • Myron Krueger, "Responsive Environments", in Packer & Jordan, Multimedia: From Wagner to Virtual Reality, ch. 12, pp. 104-120.

 


Analog example

Ctheory interview with Myron Krueger: "Human interaction is like flying. It is not enough to taxi down the runway, you have to do it fast enough to take off. In general, computer scientists have exempted themselves from speed constraints. It is as if aeronautical engineers did not think gravity was interesting."


 

Week 4: Analog Output
Thursday, September 30

  • Analog output: Devices that create analog motion or sound. (servo, freqout, PWM)
  • Assignments:
    • Project 1: show prototype
    • Lab: servo/analog out
  • Reading: none




Analog output example. Note that although this file is long, each subroutine is an example by itself - think of it like the analog out swiss army knife.


 

Week 5: Project 1
Thursday, October 7

  • Project 1: show results (everyone)
  • Reading: Norman, Design of Everyday Things, ch. 1

 

 


 

 

Week 6: Serial Output
Thursday, October 14



Examples from class: serial.bas, pakv.bas, proce55ing serial, 3dserial

Refer to this thread if you're using proce55ing and a usb-serial adapter.

There's a wealth of devices that can be serially controlled:

This giant piano turns switch closures from the keys into serial input via an Alcorn McBride IO64 and sends DMX serial output to full-color LED light bars via a Leviton I/F 501. There's alayer of MIDI in between as well.


 

Week 7: MIDI
Thursday, October 21
Eric Singer is subbing.

  • MIDI and other control protocols
  • Assignment:
    • Project 2: present instrument, show observations
    • Lab: Talking to a MIDI device 
  • Reading:
    • none

 

 


Midi Spec from Harmony Central

The supercomputer at the Hayden Planetarium has a midi input.

midiDemo.bas


 

Week 8: Big Switches
Thursday, October 28

 


Big Switch example code and schematic.

Tip120 diagram and datasheet.

(Simple transistors like the tip120 can't handle AC, but solid state relays can.)

Some motor animations: DC, stepper and brushless.

EL Wire information and sales.

Frog vision.

Begging robots and more from Frank Garvey and Todd Camill.

A source for peltier junctions, solid state thermoelectric devices.

Makrolab.



Week 9: Project 2
Thursday, November 4

  • Project 2: show results (everyone)
  • Assignment:
    • think about your final; be prepared to talk about it next week.
  • Reading:
    • Hoffman, Visual Intelligence, ch. 7, pp.172-184



 

 

Week 10:
Thursday, November 11

  • Discuss Final
  • Video Tracking
  • Project planning -- methods and approaches (and review of methods from previous projects)
  • Assignment:
    • Begin final project

Touchpad code and documentation.

TVBGone.


 

Week 11:
Thursday, November 18

  • Final Project: show observations (five to eight projects, chosen at random)
  • Project workshop

 

 

 

Thansgiving recess: Thursday, November 25 - Saturday, November 27

Week 12:
Thursday, December 2

  • Final: show prototype (five to eight projects, chosen at random)
  • Project workshop

 

 

Week 13:
Thursday, December 9

  • Final Project Presentation (half of projects)

Week 14:
Thursday, December 16

  • Final Project Presentation (half of projects)