Things used in this project

Hardware components:
Adafruit Super-bright 5mm IR LED - 940nm
×1
20mm Transparent LED Lens Reflector Collimator 8 Degree
×1
Adafruit N-channel power MOSFET - 30V / 60A
×1
Raspberry Pi NoIR Camera
×1
Raspberry pi zero
Raspberry Pi Zero
×1
Adafruit PowerBoost 500 Charger
×1
Adafruit LiPo 2500mAh battery
×1
Adafruit 16mm Momentary Illuminated Pushbutton
×1
10 Ohm 1w resistor
×1
Software apps and online services:
Raspberry Pi Raspbian Jessie with PIXEL
Hand tools and fabrication machines:
Monoprice Maker Ultimate 3D Printer
09507 01
Soldering iron (generic)

Custom parts and enclosures

Pix-G Modified gif cam with flash module
Modified camera model with flash housing

Schematics

Pix-G Modified gif cam circuit
Camera circuit with added IR LED and MOSFET
Pix g bb 85lag4cped

Code

Modified Pix-E gifcam python codePython
This code includes the flash on GPIO pin 13, as well as turning the flash on before the pictures begin, and turning it off once the pictures are done. I also changed the number of pics in the gif to make it slightly longer.
import picamera
from time import sleep
import time
import RPi.GPIO as GPIO
from os import system
import os
import random, string

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
button = 19 #Button GPIO Pin

GPIO.setup(button, GPIO.IN, pull_up_down=GPIO.PUD_UP)
led_1 = 12 #Status LED GPIO Pin
GPIO.setup(led_1, GPIO.OUT)
led_2 = 21 #ON/OFF LED Pin
GPIO.setup(led_2, GPIO.OUT)

flash = 13
GPIO.setup(flash, GPIO.OUT)


########################
### Variables Config ###
########################
num_pics = 8 #Number of pictures to take in Gif
gif_delay = 15 #How much delay in between those pictures (in hundredths of a second)    

camera = picamera.PiCamera()
camera.resolution = (540, 405)
camera.rotation = 90
#camera.brightness = 70
camera.image_effect = 'none'
GPIO.output(led_2, 1)
print('System Ready')

def random_generator(size=10, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for x in range(size))

while True:
    input_state = GPIO.input(button) # Sense the button
    randomstring = random_generator()
    if input_state == False:
	
	GPIO.output(flash, 1)

        GPIO.output(led_1, 1)
        print('Gif Started')
        for i in range(num_pics):
    		camera.capture('image{0:04d}.jpg'.format(i))
        filename = '/home/pi/gifcam/gifs/' + randomstring + '-0'

	GPIO.output(flash, 0)

        GPIO.output(led_1, 0)
    	print('Processing')
        graphicsmagick = "gm convert -delay " + str(gif_delay) + " " + "*.jpg " + filename + ".gif" 
        os.system(graphicsmagick)
        print('Done')
        print('System Ready')
    else :
        # Switch on LED
        GPIO.output(led_1, 1)
        time.sleep(0.35)
        GPIO.output(led_1, 0)
        time.sleep(0.35)
        
       
Original Pix-E gifcam code

Credits

Mindy 2 2017 xgm5jdxc8t
Mindy Mosher

I like to make things.

Thanks to Nick Brewer, Rob Mosher, and Shayna Brewer.

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

The composting friend
Intermediate
  • 555
  • 33

Full instructions

Our goal is to make composting easier to use and to maintain.

WalabotEye - Object Tracker with Haptic Feedback
Intermediate
  • 825
  • 9

Full instructions

For the hard of sight, use this to have a better understanding of the world around you.

End-Effector and Control Logic for Robot
Intermediate
  • 2,708
  • 22

For my thesis, I have developed the control system and end-effector for a robot, easily implementable and economic.

Smart Mirror (with Optional Alexa)
Intermediate
  • 17,681
  • 85

Full instructions

A low cost and easy to build smart mirror with off the shelf parts.

Pulse Train HAT Pick & Place Example
Intermediate
  • 338
  • 2

Protip

With this example, we show how to use the PTHAT and Raspberry Pi being used to learn commands for pick and place applications.

Robotic Arm Control Using Bluetooth, Arduino and Android App
Intermediate
  • 640
  • 9

Full instructions

Control a robotic arm using a Bluetooth HC-05 module and Arduino via an Android app.

ProjectsCommunitiesContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login
Respect project
Feedback