Advertisement
Advertisement

More Related Content

Advertisement

Picademy - Python picamera workshop

  1. Getting started with Python picamera @ben_nuttall
  2. Connect your Camera
  3. Boot the Pi and log in
  4. Test the camera Type raspistill -k and hit Enter This starts the camera preview Hit Ctrl + C to stop
  5. Take a selfie! Type raspistill -o image.jpg and hit Enter raspistill is the command for using the camera -o means “output” image.jpg is the chosen filename
  6. Check the photo is there Run ls to see the photo is there Run startx to boot to Desktop
  7. Open File Manager
  8. Open image Double click image.jpg to view it
  9. Open Terminal
  10. Open IDLE as root Type sudo idle3 & and hit Enter sudo means super user do IDLE is a Python application & means open in a new process
  11. New file Go to File > New window Save as camera.py
  12. Take a selfie with Python from picamera import PiCamera from time import sleep with PiCamera() as camera: camera.start_preview() sleep(5) camera.capture('/home/pi/image2.jpg') camera.stop_preview() Press F5 to run
  13. View the photo from File Manager Notice the difference in resolution between the file taken from the command line and from Python This is due to default settings in raspistill and in Python picamera Resolution and other aspects are configurable
  14. GPIO pins
  15. GPIO pins
  16. Breadboard
  17. Connect a GPIO push button
  18. Add the button to the code from picamera import PiCamera from time import sleep from RPi import GPIO button = 17 GPIO.setmode(GPIO.BCM) GPIO.setup(button, GPIO.IN, GPIO.PUD_UP) with PiCamera() as camera: camera.start_preview() GPIO.wait_for_edge(button, GPIO.FALLING) camera.capture('/home/pi/image3.jpg') camera.stop_preview()
  19. Press the button to take a picture Run the script with F5 Wait for the preview Press the push button to take a picture
  20. View the photo from File Manager
  21. Add a loop with PiCamera() as camera: camera.start_preview() GPIO.wait_for_edge(button, GPIO.FALLING) for i in range(5): sleep(3) camera.capture('/home/pi/picture%s.jpg' % i) camera.stop_preview()
  22. What’s the difference? GPIO.wait_for_edge(button, GPIO.FALLING) for i in range(5): sleep(3) camera.capture('/home/pi/picture%s.jpg' % i) camera.stop_preview() for i in range(5): GPIO.wait_for_edge(button, GPIO.FALLING) sleep(3) camera.capture('/home/pi/picture%s.jpg' % i) camera.stop_preview()
  23. What can you do?
  24. Raspberry Pi Camera Resources
  25. Raspberry Pi Resources
Advertisement