The outline below links to pages hosted from our course repository. You can also clone this repository and view the exercises locally from your own computer.
- Unit 1: What is Physical Computing and Why bother
- Electronics Part 1 (Tue 8/30/16)
- electronics : bench-battery-grid
Introduction to our laboratory tools for physical computing - electronics : continuity-tests
Performing electrical continuity tests with a multi-meter - electronics : power-switch
Using a physical switch to turn circuits on and off - electronics : smoke-a-resistor
Incrementally increasing the current through a resistor - electronics : voltage-divider
Making and measuring voltage dividing circuits - electronics : switch-with-pullup
Using a pull-up resistor to assure valid logic levels in circuits - electronics : sensor-with-dmm
Using a multi-meter to measure the output of an analog sensor - electronics : photocell-with-bias-resistor
Using a photocell as a light sensor - electronics : led-current-limiter
Using a resistor to set the current through an LED
- electronics : bench-battery-grid
- Electronics Part 2 (Thu 9/1/16)
- electronics : capacitance
Observing a resistor-capacitor circuit on an osciloscope - electronics : linear-voltage-regulator
Using linear-voltage regulator IC’s to adjust voltage - electronics : switching-voltage-regulator
Using switching-voltage regulators boards to set voltage - electronics : transistor-driver
Using a transistor to turn actuators on/off - electronics : multichannel-driver
Using a multi-transitor IC to turn multiple actuators on/off - electronics : transistor-and-sensor-for-power
Using a sensor to control a transistor that is controlling an actuator - Optional: electronics : op-amp-level-translatio
- electronics : capacitance
- Arduino Part 1 (9/6/16)
- Arduino : arduino-intro:
Introcution to the Arduino Heardware platform and Integrated Development Environment (IDE) - Arduino : coding-compiling-deploying:
Using the Arduino IDE to code, compile and deploy programs on Arduinos - Arduino : blink-and-fade-led
Using code to control the Arduino’s built-in LED - Arduino : analog-read-serial
Reading analog sensor values with an Arduino and displaying them in the serial terminal - Arduino : digital-read-serial
Reading digital sensor values with an Arduino and displaying them in the serial terminal - Arduino : sensor-driven-led
Using code to control the brightness of an LED using a sensor - Arduino : run-motor
Combining a sensor, a transistor and an actuator with code - Arduino : servo-sweep
Controlling the position of a servo with code
- Arduino : arduino-intro:
- Arduino Part 2 (9/8/16)
- Arduino : sensor-driven-servo
Controlling the position of a servo using an analog sensor - Arduino : event-loop-programming
Mananging time-based behavior without “delay” functions, in the Arduino IDE - Arduino : stepper-motor-knob
Controling the position of a stepper motor with a potentiameter - Arduino : I2C-sensor
Working with I2C sensors and the Arduino IDE - [Optional] Arduino : Adafruit-PWM-I2C
- [Optional] Arduino : input-matching
- Arduino : sensor-driven-servo
- Electronics Part 1 (Tue 8/30/16)
- Unit 2: Interactivity and Behavior
- 3pi Robot Part 1 (9/13/16)
- 3pi-robot : get-started-with-3pi
Introduction to Pololu’s 3Pi Robot platform - 3pi-robot : your-first-3pi-program
Writing new code for the 3Pi robot using the Arduino IDE - 3pi-robot: attaching-things-to-the-3pi
Needs update to include links to a CAD file for the 3pi board and the original solid works format - 3pi-robot : extending-3pi-inputs
Adding additional sensors to the 3Pi Robot - 3pi-robot : extending-3pi-outputs
Adding additional actuators to the 3pi Robot
- 3pi-robot : get-started-with-3pi
- 3pi Robot Part 2 (9/15/16)
- 3pi-robot : serial-slave-3pi (here is the compiled .hex file)
Using an additional microcontroller with the 3Pi robot
needs update to include images, links to serial slave documentation, and simple example for connecting an external Adruino to the 3pi using UART) - 3pi-robot : braitenberg-3pi
Creating a simple interactive mobile robot with the 3Pi
- 3pi-robot : serial-slave-3pi (here is the compiled .hex file)
- 3pi Robot Part 1 (9/13/16)
- Unit 3: Physical Computing in the Wild
- Wireless Physical Computing with ESP8266 / Node MCU
- mobile: Getting Started with NodeMCU
- mobile: Analog inputs with I2C ADC with NodeMCU
- mobile: Remote Actuator with NodeMCU
(OSC from Computer to NodeMCU over network) - mobile: Remote Sensor with NodeMCU
(OSC from NodeMCU to Computer over network)
- Wireless Physical Computing with Low Energy Bluetooth (BLE) (9/27/16)
- mobile: LightBlue-bean-intro:
Working with the LightBlueBean BLE module’s built-in sensor and LED and the Arduino IDE - mobile: LightBlue-bean-remote-sensor
Receiving remote sensor values from a BLE module wirelessly - mobile: LightBlue-bean-remote-actuator
Triggering remote actuators from a computer connected to a BLE microcontroller
- mobile: LightBlue-bean-intro:
- Advanced Physical computing with the CHIP
- mobile: Intro to CHIP and Pocket Chip (firmware options)
- mobile: Python Control of GPIO on CHIP
- mobile: blink/fade LED with CHIP
- mobile: Audio output from CHIP
- Wireless Physical Computing with ESP8266 / Node MCU