Project tutorial
CameraShutter

CameraShutter © GPL3+

Control your DSLR to take a picture every x seconds for x minutes, fully configurable via LCD menus.

  • 9,493 views
  • 2 comments
  • 19 respects

Components and supplies

About this project

v1.1.x: Depends on TimeAlarms.h (hence TimeLib.h) library for Timer purpose (intead of TimerOne.h lib). And on LcdProgressBarDouble.h (hence LiquidCrystal.h) library for progress bar display
v1.2.x: Depends on (+ v1.1.x deps) AnalogMultiButton.h to provide values jump, a single input for 2 buttons and code easier to read

What is CameraShutter?

Yet another Remote Shutter for a DSLR? Yes but... you no longer need any program compilation to change the duration and interval... happy?!

Genesis

  • First step, a big wish to get a cheap remote for my DSLR... and a bit of fun as well! So I started mine, based on a website. Could be this excellent DIY remote trigger shutter page.
  • Second step: the optocoupleur 4N35 CI found in the Arduino Starter Kit, and a google search on it showed me... so many remotes for my DSLR!

How to use it?

Usage demo

Buttons


* SwitchMenu/Stop. Goes through the menus such as:

  • Status: Press Minus or Plus switched to start.
  • Delay (seconds): delay before starting the shutter.
  • Duration (minutes): how long to take pics?
  • Interval (seconds): how long between 2 pics?
  • Autofocus (yes/no): if yes, engage the focus before shooting (only once).
  • Reset (yes/no): when pressed, reset the default values.

* SwitchMinus: decr the value. Hold 1/2s to decrement by 5. Hold 2s to decrement by 20.

* SwitchPlus: incr the value. Hold 1/2s to increment by 5. Hold 2s to increment by 20.

* LCD trimmer: adjust the LCD contrast

Indicators

  • Yellow LED: focus indicator
  • Green LED: shutter indicator

Problems faced (and resolved!)

  • millis() function is not that accurate so I used the TimerOne library.
  • How to ensure the DSLR to be electrically independent with mine? 4N35 CI is the solution!
  • Sequential programs with long delays (for the camera to shoot) made tricky to handle the stop via the buttons. Event based program based on hardware interruptions was the clue.
  • The software debounce was no longer available (the delay() function is voided during an event is triggered... took me hours to figure it out!) so I use a RC circuit to provide a hardware debounce (got the clue in Exploring Arduino book).
  • Nice indicators with progress bars of duration spent and intervals representation... I wrote LCDProgressBarDouble library!
  • How to easily provide some value jumps when holding the button for 1/2 seconds or 2 seconds: AnalogMultiButton is a right and easy solution :).

Program

Depends on:

Warnings

  • Arduino UNO only supports Pin2 and Pin3 for hardware interruptions. Check your model!
  • TimerOne requires Pin9 and Pin10 (PWM~) to be unconnected.

Shopping list

  • 1x Electrolytic Capacitortension 6.3V; 10µF
  • 1x LCD screenbroches 16; type Character
  • 1x Yellow LED
  • 1x Green LEDboîtier
  • 2x 1kΩ Resistor
  • 5x 220Ω Resistor
  • 1x 100Ω Resistor
  • 1x 10kΩ Resistor
  • 1x Trimmer Potentiometer 10kΩ
  • 3x Push button
  • 2x Optocoupler 4N35
  • 1x Arduino Uno
  • 1x Jack male 2.5mm
  • 1x MC14584B (Hex Schmitt Trigger)

What next?

Use a tiny board (e.g. Adafruit Pro Trinket), redesign the PCB around it and 3D print a beautiful box... would need a 3D printer for that... will ask my wife whether it could be part of a Christmas wishlist!

Of course, one day or one another I'll get a new camera body with embedded WiFi... in the meanwhile, I'm enjoying my toy!

And of course... test it on Chicago sunsets :).

Code

Schematics

Breadboard v1.2.0
Use analog inputs for Minus ans Plus buttons
Camerashutteranaswitch bb
Schematic v1.2.0
Use analog inputs for Minus ans Plus buttons
Camerashutteranaswitch schema
Breadboard for Arduino Micro
Camerashuttermicro bb
Breadboard for Arduino Pro Mini
Camerashutterpromini bb
Fritzing schemas v1.2.0
Use analog inputs for Minus ans Plus buttons (Arduino UNO)
CameraShutterAnaSwitch.fzz

Comments

Similar projects you might like

RF BASED SMART HOME AUTOMATION SYSTEM

by Dennis Mwanza

  • 34,689 views
  • 5 comments
  • 51 respects

Electronic Piano Keyboard With Preset Songs

Project tutorial by Lindsay Fox

  • 90,729 views
  • 68 comments
  • 181 respects

Food Detector

Project tutorial by crispylel

  • 44,362 views
  • 8 comments
  • 103 respects

Temperature sensor

Project tutorial by Grant

  • 24,395 views
  • 6 comments
  • 41 respects

Play Music With Your Remote

Project tutorial by Simone Adobs

  • 8,425 views
  • 22 comments
  • 30 respects

Arduino Digital Clock Using 1Sheeld

Project tutorial by amrmostaafaa

  • 2,371 views
  • 0 comments
  • 5 respects
Add projectSign up / Login