Table of Contents
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:
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.
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).
In this lesson, you will learn about vibration motors (vibromotors), their role in haptic technology, and how to connect them with microcontrollers.
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.