We talked about the lack of multiple PWM output pins on the Pi in Chapter 3, Building Interactive Projects with RGB LED, but an issue we haven't entirely addressed yet is with inputs. Digital inputs, such as buttons and switches, anything that is either on or off, are easy with the Pi, any digital output pin can also be used as a digital input pin. But what about things that require more than two states, such as sensors that detect light, temperature, moisture, distances, or anything else we'd like to measure in quantity? The answer lies in using specialized communication protocols developed over the years that allow digital pins to communicate analog information.





















































