simplebooth/worksheet2.md
2017-02-15 09:38:31 +00:00

2.5 KiB

The All Seeing Pi (Part 2 - Software)

In this resource you will make a tweeting touch screen photo booth using a Raspberry Pi.

Test the buttons

  1. With the hardware set up, we can begin to program the software that will make everything work. To begin, open the file explorer, then right click on a blank space inside the file explorer window.

File Explorer

  1. Select Create new and then click Folder

Create folder menu

  1. Type in the name of the folder where you will store the code and the photographs. We chose to call ours allseeingpi. Make a note of the path to this folder which is displayed in the bar at the top, which should be /home/pi/allseeingpi

  2. From the "Programming" menu, open up "Python 3"

Open Python 3

  1. Create a new Python file by clicking on File > New File.

  2. Click on File > Save and save your file into the allseeingpi folder you just created, with the filename allseeingpi.py.

  3. We will need the picamera and the gpiozero libraries. At the start of your Python file add two import statements:

from picamera import PiCamera
from gpiozero import Button
  1. Next we will set up the buttons. On the previous worksheet we wired our buttons to pins 23 and 25. Let's go ahead and set both buttons up, even though we will not use the next_overlay_btn until later on.
next_overlay_btn = Button(23)
take_pic_btn = Button(25)
  1. Now we will use gpiozero to tell the buttons what to do when pressed. In the code below, next_overlay and take_picture are functions which will be called when the corresponding button is pressed:
  next_overlay_btn.when_pressed = next_overlay
  take_pic_btn.when_pressed = take_picture
  1. We need to write these two functions so that the buttons have something to do when they are pressed. Functions are usually written at the start of a program immediately after the import statements. Add the functions, but with some placeholder code to just print a message when they are pressed, so we can test them.
def next_overlay():
  print("Next overlay")

def take_picture():
  print("Take a picture")
  1. Press F5, save and run your program. Try pressing each button and check that a different message pops up for each in the Python shell.

    Test the buttons

Add an overlay

Change overlays with a button

Tweet picture

Create a GUI