Book Image

Raspberry Pi for Python Programmers Cookbook - Second Edition

Book Image

Raspberry Pi for Python Programmers Cookbook - Second Edition

Overview of this book

Raspberry Pi cookbook for Python Programmers is a practical guide for getting the most out of this little computer. This book begins by guiding you through setting up the Raspberry Pi, performing tasks using Python 3 and introduces the first steps to interface with electronics. As you work through each chapter you will build up your skills and knowledge and apply them as you progress throughout the book, delving further and further into the unique abilities and features of the Raspberry Pi. Later, you will learn how to automate tasks by accessing files, build applications using the popular Tkinter library and create games by controlling graphics on screen. You will harness the power of the built-in graphics processor by using Pi3D to generate your own high quality 3D graphics and environments. Connect directly to the Raspberry Pi’s hardware pins to control electronics from switching on LEDs and responding to push buttons right through to driving motors and servos. Learn how to monitor sensors to gather real life data and to use it to control other devices, and view the results over the Internet. Apply what you have learnt by creating your own Pi-Rover or Pi-Hexipod robots. Finally, we will explore using many of the purpose built add-ons available for the Raspberry Pi, as well as interfacing with common household devices in new ways.
Table of Contents (18 chapters)
Raspberry Pi for Python Programmers Cookbook - Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Hardware and Software List
Index

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...