Demo 1: Temporal Machine

Each Demo assignment is a micro-project to be developed outside class hours. These will develop and demonstrate your individual expertise in applying the skills learned in the course. The primary focus is on using the technology, but each will include an element of application to a human context.

The primary deliverable is a live in-class demo at the start of class on the due date along with a brief blog entry. Please note there is no formal proposal process for this demo; I simply expect you to build it and have it ready to go by the deadline. If you have questions about scope or feasibility, please ask.

Objectives

The simplest processes we can build involving both computing and actuators involve open-loop output in which a computational process generates signal patterns to actuate a mechanism without any sensing or feedback. In the absence of external inputs, the dynamic element of the process must be time.

For this demo, please:

  1. construct a simple software and hardware system which creates a pattern of physical movement over time.
  2. post an entry on the 16-223 WordPress site including a brief video, a short paragraph describing the human context or application in which it would be used, and your code.
  3. be prepared for a live in-class demo.

Prompts

The simplest technical solution could be as minimal as a single hobby servo attached directly to an Arduino, beating time like a metronome. Physical dynamics will extend your reach: actuating an object or material will create more movement potential and narrative than pure mechanism.

The choices you make raise many questions:

  1. What object, material, or mechanism is attached to the servo?
  2. Why?
  3. Where would it go in my house? Or on my body?
  4. How quickly can I figure it out by observing it?
  5. How would it be different at either very short or very long timescales?
  6. How could the motion be smoother? More accentuated? More deliberate? More gestural?
  7. How can it become surprising?
  8. What would it mean to be non-repeating?
  9. How does it augment human perception of time or rhythm?

Criteria

  1. There must be both a computational and a physical process creating the outcome.
  2. Stick to exactly one output, either a hobby servo or a DC motor, depending on your experience.
  3. The physical movement must be visible to the eye, i.e., no purely audible results.
  4. Please focus your attention on the underlying dynamic processes more than fine fabrication. Cardboard, paper, wire, and tape are perfectly acceptable.
  5. Be prepared to give a brief live demo without comment, followed by a succinct context statement. I will need to move fast during evaluation, no more than one minute per person.
  6. The device should actually work; no faking.
  7. Please clearly cite any sources. It’s fine to use libraries or modify code you find elsewhere as long as they are clearly credited.
  8. Please embed your video so it can be watched directly from the post. The easiest way to do this is to host it on a third-party site. Videos hosted directly on the course site should be .mp4 files and use the appropriate video shortcodes. N.B. hosted QuickTime .mov files cannot be embedded.
  9. Please make all links active. Just pasting in a URL does not necessarily make it clickable.
  10. If your Arduino sketch is a single file, please post your code inline, using the code tags described on the site help page, as unformatted code is very hard to read. If it includes multiple files, you may either post them inline or as a zip. Do not post your code as images.