Git Product home page Git Product logo

selfiebooth's Introduction

Selfiebooth Baas van Horst aan de Maas

Illustration Selfiebooth Python code and assets Selfiebooth Baas van Horst aan de Maas.

Hardware setup

1. Camera module

Connect raspberry PI camera module to board

Camera connection

2. GPIO setup for button

We use BCM pin 3 (index 5) since it has an internal pull-up resistor. This means that the digital value will get pulled-up to 1 if it is floating (no connection to the ground or a 3v or 5v output). Pin 3 is floating when our switch is open, so since we have a pull-up resistor, the digital value will be 1 when the switch (push button) is open (not pressed). If the push button is pressed, we would like the value to go from 1 to 0 and raise a falling event. Therefore, the other wire needs to be attached to the ground (index 9). We use a pull-up vs a pull-down since it is less sensitive for interference.

Index 3 (BCM pin 3) and index 9 (ground) connection illustration:

Pin layout Connection
GPIO set-up GPIO connection

Software setup

1. Prepare raspberry pi image

  • Raspbian (tested with Jessie lite) installation on raspberry pi. Put a ssh file in the SD card boot partition to enable ssh server (to enable remote set-up).

2. Clone this repository

sudo apt-get -y update && sudo apt-get install -y git
git clone https://github.com/reinzor/selfieboot.git ~/selfiebooth

3. Run the install script

./install

Configuration file

The app searches for a USB stick that is inserted to the pi. If a config folder exists with a config.yaml, it will try to load this configuration. If none is found the default_config will be copied to the USB. If another config directory existed; a backup will be created.

Config file parameters

  • bottom_image: image path
  • top_image: image path
  • flash_image: image path
  • countdown_images: list of image paths, every image takes 1 second
  • screensaver_images: list of image paths
  • flash_time: time in secs
  • freeze_time: time in secs
  • screensaver_time: time in secs
  • screensaver_slide_time: time in secs
  • screen_width: pixel size
  • screen_height: pixel size

All specified paths are relative to the config file

selfiebooth's People

Contributors

reinzor avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.