Spring 2018
Thurs 5:00 - 7:50
CPMC 367 ndiels(at)ucsd(dot)edu
This course provides the groundwork for students to build interactive hardware using basic components and microcontrollers such as Teensy and Arduino. Most projects will be sound-oriented— building MIDI controllers for use with software, for example, or creating light spectacles driven by sound. By the end of the class, students will feel comfortable building simple interactive hardware using found schematics. Topics covered include schematic reading; basic electricity and components used to interface with it; digital, analog, and serial input and output; programming using the Arduino language; and soldering. Practical knowledge is supported with writings and listenings/viewings of electronic sound artists.
All written assignments are due the following Monday by 11:59pm. All circuit assignments are due in the following class.
NOTES/HOUSE RULES
⁃ There is a course fee attached to this course. All students are required to purchase the Arduino kit.
⁃ Attendance and participation are very important! More than 1 unexcused will affect your grade. If you expect to miss more than 2, please consider dropping the course (because you'll probably fail).
⁃ Please participate— if you don’t understand something, chances are I accidentally started speaking gibberish and nobody else understands either. Speak up!
⁃ Don’t be late.
Grade breakdown:
Assignments: 30% (Total )
Attendance/Participation: 40%
Final project: 30%
Syllabus
Class 1: April 5
Intro
Check out some awesome projects involving circuits
Build a simple tone circuit using a Hex Schmitt Trigger.
Class 2: April 12
Digital input/output: Switches/LEDs/Piezos. Intro to Arduino and Processing.
Class 3: April 19
Hacking.
Class 4: April 26
Analog input: Microphones/Sensors
Class 5: May 3
Analog output: Motors
Class 6: May 10
Teensy 1: MIDI basics
Class 7: May 17
Teensy 2: MIDI with Ableton and Max/MSP
Class 8: May 24
Teensy 3: Teensy's audio synthesis engine
Class 9: May 31
No Class
Class 10: June 7: Final Projects
Final Project Guidelines
Your final project should be a substantial piece of work that you have worked on for the last half of the quarter. Try things out, experiment and fail or succeed, but be adventurous and creative. Do not complete your project on a solderless breadboard. You will give a 15-minute presentation and demonstration of your project on June 7 in class. Your final project proposals are due Monday May 7 by 11:59pm. Your project must include the following elements:
1) A clear written description of the project-- what is its purpose and how you envision its usage, and a clear documentation of its technical components. This may be done in the form of a schematic, a detailed drawing, or a photograph of the circuit labeled in detail. Include a list of the parts used.
2) A 15-minute presentation of your project. This can include a performance/demo, description, review of the tecnical elements, conceptual description, etc. Be organized and prepared with your presentation.
2) At least 4 input/output hardware interface devices. At least one must be digital, and at least one must be analog/PWM. So for example, you could use three servos (PWM output) and forty buttons (digital input).
3) An audio component. This can be an input or an output, or both.
4) A microcontroller.
Class 1: Intro
Link to purchase Arduino kit
Link to download Arduino
Links to resources for components
Links to cool microcontroller projects
Useless box (no microcontroller):
https://youtu.be/Z86V_ICUCD4
Useless box (microcontroller, fancier):
https://youtu.be/apVR5Htz0K4
Advanced useless box (microcontroller):
https://youtu.be/Nqk_nWAjBus
Useless candle:
https://youtu.be/BGGImC0AS2M
Simone Giertz [Shitty Robots]
https://youtu.be/nOSnW3HdOao
Arduino Garden Control
https://youtu.be/O_Q1WKCtWiA
Automatic Watering System
https://youtu.be/A6I3NKL1pUE
Andrea Valle
https://youtu.be/psDgPu_xgsM
https://youtu.be/s2EdiCEErYc
Margaret Noble
https://vimeo.com/158862315
3D printed robot:
https://youtu.be/xY8AwDMe--4
Tower crane:
https://youtu.be/WK7APWRtiEA
Nolan Lem:
https://vimeo.com/96156680
https://vimeo.com/127874298
Bryan Jacobs:
https://youtu.be/u1FENoUI50U
https://youtu.be/9-mQ0nhxxM8
Books we'll use:
Nic Collins: Handmade Electronic Music
John Boxall: Arduino Workshop
Cathy Van Eck: Between Air and Electricity
Arduino Projects Book (comes with the Kit)
Assignment
Purchase Arduino kit. Download and install Arduino. Find one project online that you're excited about, and send it to me in an email accompanied by a description and a few sentences about what makes it great. Look for an electronic toy that we can take apart in class in a couple weeks.
Class 2: Digital Input/Output: Switches, LEDs, Piezos
Assignment
Build a creative switch. Think about how complicated you could make the switch-- for example, a mouse holds half of the switch and must find its way through a maze in order to connect with the other end of the switch; or a Rube Goldberg-type machine that takes ten minutes to complete, just to light a single LED (or a Christmas tree). You may use any materials you wish, but you cannot use a premade switch component.
Program this switch to trigger three unique light sequences, using four LEDs. For example, the first time you press the switch, all LEDs turn on. The second time you press the switch, all lights flicker for 3 seconds. The third time you press it, each light turns on and off in sequence.
Class 3: Hacking
Assignment
Part 1: Do the chapter 6 assignment in your Arduino Starter Kit book. Create a feedback loop using additional components. For example, the brightness of an LED controls the pitch of the oscillator, and the amplitude of the oscillator is inversely proportional to the LED's brightness.
Class 4: Analog Input: Microphones and Sensors
Cool (mostly) music projects with sensors
Arduino Kit Datasheets
Assignment
Part 1: Order this Teensy and this cable (unless you have a micro-USB to USB cable already). Optional-- audio shield. We will be looking at its features in class, and you might consider using it in your final project.
Part 2: Find a sensor project online using Arduino or another microcontroller that does something you find artistically interesting. Discuss in a short paragraph how the user imposed limitations on the mapping to create a compelling result. Email me the sound/video and your response.
Part 3: Complete Project 8 from the Arduino book (Digital Hourglass).
Class 5: Motors
H-Bridge Code
Class 6: Teensy (1): Digital/Analog MIDI input
Download Teensyduino
Class 7: Teensy (2): Audio Shield: Assembly
Link to Audio Shield Tutorial
PDF of tutorial
Breadboard setup (with modification for small breadboards)
Assignment
Compile a list of the parts you will need to complete your final project. Be as specific as possible-- consider design elements as well, like what will your enclosure be? A cereal box? A tupperware? A hacked toy? Also include elements you will use that you already have in your possession. |