Book Image

Raspberry Pi Zero Cookbook

Book Image

Raspberry Pi Zero Cookbook

Overview of this book

The Raspberry Pi Zero, one of the most inexpensive, fully-functional computers available, is a powerful and revolutionary product developed by the Raspberry Pi Foundation. The Raspberry Pi Zero opens up a new world for the makers out there. This book will give you expertise with the Raspberry Pi Zero, providing all the necessary recipes that will get you up and running. In this book, you will learn how to prepare your own circuits rather than buying the expensive add–ons available in the market. We start by showing you how to set up and manage the Pi Zero and then move on to configuring the hardware, running it with Linux, and programming it with Python scripts. Later, we integrate the Raspberry Pi Zero with sensors, motors, and other hardware. You will also get hands-on with interesting projects in media centers, IoT, and more.
Table of Contents (17 chapters)
Raspberry Pi Zero Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Interfacing toggle switches and setting debouncing


If you tried the previous recipe, you probably noticed that the color cycling switched quickly while the button was pressed. This was because the input behavior would loop as fast as the Raspberry Pi Zero could process the input, which is pretty fast! A simple software method to allow for a more human-speed signal recognition is called debouncing.

Getting ready

You'll want the following equipment in addition to your Raspberry Pi Zero, a breadboard, and jumper wires:

  • Two 330-Ohm resistors

  • Two LEDs, any color

  • Three-way toggle switch (A\off\B)

  • Tactile pushbutton

How to do it...

  1. For this recipe, configure the circuit as follows:

  2. Next, create the toggle.py file, and put in the following code to test it out:

        #!/usr/bin/env python 
        # Raspberry Pi Zero Cookbook 
        # Chapter 8  
        # Toggle Switch and Debouncing 
        import time 
        import RPi.GPIO as GPIO 
        GPIO.setmode(GPIO.BCM) 
        GPIO.setwarnings(False...