Code

We will make use of the python3-gpiozero library (https://gpiozero.readthedocs.io/en/v1.3.1/). The Raspbian Jessie OS image comes with the pre-installed library. It is very simple to use, and it is the best option to get started as a beginner. It supports a standard set of devices that helps us get started easily.

For example, in order to interface an LED, we need to import the LED class from the gpiozero library:

from gpiozero import LED

We will be turning the LED on and off at a 1-second interval. In order to do so, we will be importing the time library. In Python, we need to import a library to make use of it. Since we interfaced the LED to the GPIO pin 2, let's make a mention of that in our code:

import time 

led = LED(2)

We just created a variable named led and defined that we will be making use of GPIO pin 2 in the LED class. Let's make use of a while loop to turn the LED on and off with a 1-second interval.

The gpiozero library's LED class comes with functions named on() and off() to set the GPIO pin 2 to high and low, respectively:

while True: 
led.on()
time.sleep(1)
led.off()
time.sleep(1)

In Python's time library, there is a sleep function that enables introducing a 1-second delay between turning on/off the LED. This is executed in an infinite loop! We just built a practical example using the Raspberry Pi Zero.

Putting all the code together in a file named blinky.py (available for download along with this book), run the code from the command-line terminal (alternatively, you may use IDLE3):

    python3 blinky.py