Chapter 12. Digital Inputs

12.0 Introduction

In this chapter, you look at recipes for using digital inputs, such as switches and keypads. This chapter also covers modules that have a digital output that can be connected to a Raspberry Pi GPIO input.

Most of the recipes require the use of a solderless breadboard and jumper wires (see Recipe 9.8).

12.1 Connecting a Push Switch


Be sure to check out the accompanying video for this recipe at


You want to connect a switch to your Raspberry Pi so that when you press it, some Python code is run.


Connect a switch to a GPIO pin and use the RPi.GPIO library in your Python program to detect the button press.

To make this recipe, you will need:

Figure 12-1 shows how to connect a tactile push switch using a breadboard and jumper wires.

Figure 12-1. Connecting a push switch to a Raspberry Pi

An alternative to using a breadboard and tactile switch is to use a Squid Button (Figure 12-2). This is a push switch with female header leads soldered to the end, which can be connected directly to a the GPIO connector (Recipe 9.11).

Figure 12-2. A Squid Button

Open an editor (nano or IDLE) ...

Get Raspberry Pi Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.