Link Search Menu Expand Document (external link)

Advanced I/O

Table of Contents

  1. Output
    1. L1: OLED Displays
    2. L2: Vibromotors
  2. Input
    1. L1: Smoothing Input

Welcome 👋 to the third module in your Physical Computing adventure: Advanced I/O. Do not be intimidated by the advanced prefix. The content here is not more complicated than the first two modules, though they do build on them:

  1. Introduction to Electronics
  2. Introduction to Microcontrollers Using Arduino

As usual, these lessons are interactive—that is, they assume that you’re following along and building with us. They are designed to be completed in order. All Arduino code is open source and in this GitHub repository.

Output

L1: OLED Displays

In this lesson, you will learn about organic light-emitting diode (OLED) displays, basic graphics programming, and a brief introduction to two serial communication protocols called I2C (Inter-Integrated Circuit) and SPI (Serial Peripheral Interface).

L2: Vibromotors

In this lesson, you will learn about vibration motors (vibromotors), their role in haptic technology, and how to connect them with microcontrollers.

Input

L1: Smoothing Input

In this lesson, we will learn how to smooth incoming sensor data using basic digital signal processing. We’ll cover a class of digital filters called smoothing algorithms (aka signal filters), why they’re helpful, and potential tradeoffs in their implementation and use.


This website was developed by Professor Jon E. Froehlich and the Makeability Lab using Just the Docs. If you found the website useful or use it in your teaching, we'd love to hear from you: jonf@cs.uw.edu. This website and all code is open source (website GitHub, Arduino GitHub, p5js GitHub). You can find the MakeabilityLab_Arduino_Library here. Found an error? File a GitHub Issue.