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 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.
In order to make use of the I2C bus, we need to ensure that it is commented out from the raspi-blacklist.conf
file. You can also comment out the SPI from the list if you wish, which is another type of bus that can be seen in Chapter 10, Interfacing with Technology.
Use the following command to edit...