Now that we have seen all the hardware working with the Rainbow HAT in the previous chapter, we are going to learn about the first communication protocol: GPIO (General-Purpose Input/Output). We have used it already for LEDs as output and for buttons as input, and we will extend that to other outputs and inputs. Finally, we will look at a few components that use GPIO in a more generic way (DC motor controller, stepper motor, distance sensor, and LCD display).
GPIO is the simplest protocol to control devices; it just uses digital signals that can be on or off. In digital circuits, there are two possible values for what is considered a logic 1: 3.3v and 5v. The current Android Things developer kits use 3.3v. Note that the developer kits have some 5v Vcc pins, but that is used exclusively to power external circuits and has nothing to do with the value...