99-355 A21 unit micro-course, Fall 2016Hunt Library A10Carnegie Mellon University-Wide Studies Course presented by IDeATeInstructor: Dr. Garth ZeglinPrerequisites: none
This workshop aims to demystify the Arduino microcontroller through hands-on work in the lab creating simple machines with embodied behaviors. The Arduino is a versatile resource for physical projects for students in all disciplines. This course brings students over the beginner’s threshold to a basic understanding of the use, terminology, and potential of the Arduino. The skills and concepts taught in this course are presented from an interdisciplinary approach which merges practices in arts and technology. The first portion will teach the essential skills for creating a simple sensor-driven physical computing system, and the second portion will reinforce those skills by making a simple interactive project. The course has no technical prerequisites, although uses a little bit of algebra-level math.
The planned Fall 2016 dates are as follows:
Sat, Oct 22 | 10:00AM - 5:00PM | introduction, programming and electronics |
Sun, Oct 23 | 10:00AM - 3:00PM | signals and actuation |
Sat, Oct 29 | 9:00AM - 3:00PM | project development and review |
Note: Oct 22 times changed from original listing due to limited library hours
The more detailed schedule follows:
Day | Topic | Content | Duration |
---|---|---|---|
Saturday | Overview Lecture
Arduino IDE
Arduino Programming
Elementary Electronics
|
Orientation.
Using the Arduino system.
Elementary programming.
Ohm’s Law, DMMs, wiring, sensors.
|
1 hour
1 hour
2 hours
2 hours
|
Sunday | Analog vs Digital
Input to Output
Project Ideation
|
Elementary signal processing.
Hobby servo actuation, in-to-out mapping.
Defining and choosing a project.
|
1 hour
2 hours
1 hour
|
(during week) | Homework | Gathering materials and prototyping. | min. 4 hours |
Saturday | Project Development
Project Demo
|
Work session.
Presentation and peer critique.
|
4 hours
1 hour
|
The workshop requires a total of fifteen hours organized over two weekends. The first weekend opens with a opening overview lecture, followed by a series of technical tutorials spread over two days. Each tutorial combines brief lectures with practical exercises.
The students are expected to spend about four hours on their own in the intervening week assembling project materials and working on a prototype. During the second weekend, projects are completed, debugged, refined, and performed.
The overview is intended as an orientation to the scope of the workshop, answer a few basic questions about microcontrollers and embedded computing, and establish the goals and expectations of the course.
- What is a microcontroller?
- Presentation and discussion of project examples.
- The possibilities and limitations of the Arduino.
- Basic terminology.
- Outline and expectations of the workshop.
The technical tutorials are spread over two days.
- Operating the Arduino IDE, loading a simple program.
- Writing a program to blink the onboard LED.
- Creating a simple temporal pattern: time and digital outputs, cut and paste programming.
- Program notation: variables, functions, control flow, Arduino conventions.
- The concept of a program variable.
- Numerical values and basic numerical operators.
- if/then/else
- Iteration using for loops.
- Real world timing and the delay() function.
- Elementary electrical theory: current, voltage, resistance, and Ohm’s Law.
- Reading a simple schematic.
- Wiring on a solderless breadboard.
- Voltage dividers: resistor/resistor, resistor/switch, resistor/photoresistor, resistor/LED.
- Using a multimeter to measure voltage and resistance.
- Wiring up a switch with pullup resistor.
- Wiring up an LED with dropping resistor.
- Wiring up a photoresistor voltage divider (as basic analog sensor).
- Making paper apertures for light sensors.
- Analog versus digital information.
- Resolution and sampling.
- Thresholding.
- Averaging.
- Wiring up a hobby servo.
- Using the Servo library.
- Creating a simple one-in one-out system.
- Wiring up a speaker, creating tones.
- Human interfacing.
- Discussion of objectives: simple one-input, one-output device.
- Discussion of of project directions, e.g. temporal behavior and sequencing, animating a physical object, combining movement and sensing.
- Project planning and pitching.
- Optional: project pair formation and scheduling.
The primary objective of the homework is for students to review the lessons of the technical exercises and attempt to apply them on their own to the project of their choosing. The secondary objective is for them to complete the familiar portions of their project in advance in order that the in-class time can be spent debugging and refining that which is new.
Physical computing projects involve a mix of physical parts, sensors, actuators, and the software which animates them. The physical construction envisioned for this course can be as simple as paper and tape, but some students may have the skills or interest to use other materials.
Prior to the second session, students will be expected to do the following as needed:
- Obtain any particular materials they will require to construct their project.
- Fabricate any enclosures, structural parts, or mechanical assemblies.
- Wire a prototype of their sensing and actuation circuits (to the best of their ability).
- Write an initial draft of the Arduino program (to the best of their ability).
During the second weekend the in-class time is entirely devoted to developing, debugging, and refining the project.
Each student will receive a kit with all necessary electronic components to complete the exercises and build a simple project. The kit is detailed in the section Course Kit Guide. Students will be expected to provide any additional materials for constructing their project such as mechanical structures, housings, or decorative elements.
Students may use an IDeATe cluster MacBook Pro during class time or bring their own laptop on which the Arduino Software has been installed.
This is a participatory workshop: all students are required to attend all sessions. This is reflected in the grading as attendance is a significant fraction of the score. The grade breakdown is as follows:
Assignment | Percentage |
---|---|
Attendance | 55% |
Project | 30% |
Ideation | 10% |
Skill Survey | 5% |
This is the original proposal for the course, included just for historical interest.