Using devices with the I2C bus
The Raspberry Pi can support several higher-level protocols that a wider range of devices can easily be connected to. In this chapter, we shall focus on the most common bus, called I2C (I-squared-C). It provides a medium-speed bus for communicating with devices over two wires. In this section, we shall use I2C to interface with an 8-bit ADC. This device will measure an analog signal, convert it to a relative value between 0 and 255, and send the value as a digital signal (represented by 8 bits) over the I2C bus to the Raspberry Pi.
Getting ready
The I2C bus is not enabled in all Raspberry Pi images; therefore, we need to enable the module and install some supporting tools. Newer versions of Raspbian use Device Trees to handle hardware peripherals and drivers.
In order to make use of the I2C bus, we need to enable the ARM I2C in the \boot\config.txt
file.
You can do this automatically using the following command:
sudo raspi-config
As shown in the following screenshot...