Assignments¶
The first weekend includes the skills intensive in which we explore the technical topics over two days. For more specifics, see the Schedule.
Day 1: Saturday¶
The first day session has many exercises intended familiarize you with the lab and basic electronic equipment and are essential for developing the vocabulary and skills to fulfill the project.
Arduino IDE and Programming
- Arduino Introduction. Basic description, finding Arduino softare.
- Coding, Compiling, Deploying. Running several sample programs, modifying code.
- Soft Blink. Introduce several programming fundamentals by fading the onboard LED.
Elementary Electronics
- Bench, Battery, Grid. Electrical safety, voltage measurement.
- Continuity Tests. Resistance measurement.
- Voltage Divider Basics. Introducing Ohm’s Law via our essential analog circuit: the voltage divider.
- 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.
Arduino with Electronics
- Sensor-Driven LEDs. Control LED brightness using sensor data.
You may wish to read the sections Basic Circuits and Physical Computation with the Arduino for a review of terminology and concepts. Also, please skim the Errata section if you have trouble to identify mistakes in the text or general hints.
Day 2: Sunday¶
The second day session will continue the technical skill-building, emphasizing how signals can flow from input to output through a digital process.
- Read Analog Accelerometer. Read a multi-channel sensor and explore calibration.
- Read Sonar. Measure distance with an ultrasonic ranger; explore time as an output variable.
- Servo Sweep. Drive a servo motor along simple trajectories.
- Multi-channel Driver. Generate sound and vibration using a power driver.
- Project Ideation. Brainstorming project ideas.
Optional Exercises
The following optional exercises are included in case any students have prior programming experience and work quickly through the basics. These are not formally part of the course, although students are encouraged to try these out on their own time.
- Event Loop Programming. Structuring software as event-loop time-slicing for executing multiple simultaneous tasks.
- Resolution and Mapping. Using a smoothing filter for reducing noise in sampled analog input.
- Music Sequencer. Demonstration of a state-machine interpretation of performance data with musical audio output.
- Input Hysteresis. Introduces state transition diagrams.
- Input Pattern Matching. Comparison of several canonical coding forms for state machines.
Day 3: Sunday¶
After the one-week break, we will resume for a final project build, test, demo, and critique.