3. Exercises¶
The practical lab exercises for this course are drawn from the for the Fall Introduction to Physical Computing course. We will also refer to the section Topic Area Guides as a reference for basic theory.
3.1. Project Assignments¶
We will have very few formal assignments; the majority of work will be in-class tutorials and project work.
3.1.1. Game Concept Brainstorm¶
Objective: generate a brainstorm list of 10 project concepts, then detail one with one or more sketches.
Concepts. This ideation exercise is intended to help you open your thinking to the broader expressions possible in a game. The physical implementation of the game is fairly constrained, but the narrative is potentially very broad. Here are some prompts which may help you think of ideas:
- Is there a dance, gesture, or kinetic expression you wish to explore?
- Do you have a favorite character or story you wish to evoke?
- Is there a personal conflict you could transform into a game conflict?
- Is there a political situation on which you wish to comment?
Please bring a list of ten concepts on paper, a short phrase or sentence for each.
Sketches. Please choose one of your concepts to sketch as an impression. Drawings on 11x17 or larger paper are preferred (two taped 8.5x11 pages are fine). We recommend paper drawings over digital at this stage; the fluidity and approximation of hand-drawing create a generative process which will help you focus on larger ideas without getting caught in minutiae. These drawings will be shared with the class as a means of communicating your idea, not as an subject of critique.
3.2. Elementary Electronics¶
- Bench, Battery, Grid. Electrical safety, voltage measurement.
- Continuity Tests. Resistance measurement.
- Power Switch and LED. Voltage and current measurement, controlling current with a switch.
- Voltage Divider Basics. Introducing Ohm’s Law via our essential analog circuit: the voltage divider.
- Smoke a Resistor. Testing Ohm’s Law empirically by destroying a resistor.
- Sensor Switch Basics. Applying the voltage divider to the simplest sensor: the switch.
- Photocell Sensor. Applying the voltage divider to a light sensor.
- LED Current Limiting. Applying the voltage divider to regulating LED current.
- Voltage Divider Roundup. Reviewing the general form of the divider circuit.
3.3. Arduino IDE and Programming¶
- Arduino Introduction. Basic description, finding Arduino software.
- Coding, Compiling, Deploying. Running several sample programs, modifying code.
- Soft Blink. Introduce several programming fundamentals by fading the onboard LED.
3.4. Arduino with Electronics¶
- Read Switch Input. Read a switch input as a binary digital value.
- Sensor-Driven LEDs. Control LED brightness using sensor data.
- Servo Sweep. Drive a servo motor along simple trajectories.
- Unipolar Drivers. Driving solenoids, relays, large lamps, and unidirectional DC motors.
- Multi-channel Driver. Generate sound and vibration using a power driver.
- H-Bridge DC Motor Driver. Driving DC motors in both directions at variable speed.
3.5. Signals and Time¶
- Event Loop Programming. Structuring software as event-loop time-slicing for executing multiple simultaneous
- Music Sequencer. Demonstration of a state-machine interpretation of performance data with musical audio output.
- PinballLogic example. Exploration of a template for an event-driven real-time pinball controller.
- PinballGame example. Exploration of a template for a full pinball game controller.