You are on page 1of 8

Food

Living

Outside

Play

Technology

Workshop

Multi-Functional DSLR Remote Control


by vu2aeo on August 22, 2014

Table of Contents
Multi-Functional DSLR Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Intro: Multi-Functional DSLR Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 1: Step 1 - How it Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 2: Components Needed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 3: Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 4: Boxing it Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 5: Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

Intro: Multi-Functional DSLR Remote Control


Many DSLR cameras can be controlled remotely using an IR transmitter.
Generally these are about the size of a keychain, cost between US$ 8 (for a cheap Chinese copy) to US$ 25 (original), and allow for a single button press that remotely
activates the camera's shutter.
I wanted a lot more from my Nikon DSLR ML-L3 IR remote, so I decided to build a multi-functional IR remote control. These are the features I have developed :a) Intervalometer. To be able to automatically take multiple exposures with a predetermined time interval between each shot. For example, to capture a sequence of
moonrise pictures, you might want to automatically take 20 shots with a gap of 5 minutes between each shot.
b) Light Detection. To be able to get those great shots of lightning arcing across the sky, it needs to be able to automatically trip the camera shutter whenever there is a
burst of lightning. I would like to set a threshold level as well, this would allow me to decide the exact intensity of lightning that would be strong enough to activate the
shutter.
c) Motion Sensing. Be able to function like a 'camera trap'. The remote would sit quietly in the jungle and trip the camera shutter if it sensed an animal walking past the
camera.
d) Manual Control. Last of all, a manual mode. This would trip the camera shutter on the push of a button just like the commercially available remotes can do.
To save power, some cameras switch off automatically if their shutters have not been tripped for a certain period of time. My Nikon D40 shuts off after 15 minutes of no
activity. To get around this, my remote control sends a pulse to trip the camera at least every 14 minutes (even if the criteria for sending a legitimate trigger pulse have
not been met).

Step 1: Step 1 - How it Works


This multi-functional remote works by replicating the IR Command Pulse that Nikon DSLRs respond to. My post on how to replicate this signal can be found here. Once
we have the signal, we can replicate it by programming a micro-controller to pulse an IR LED in exactly the same manner.
Other features are implemented by the following methods (See Breadboard/ PCB Picture):a) Mode Selection. The circuit uses a voltage divider with four "lower" arms (R3 to R6) each having a different resistance. By switching between each of these, and
reading the output voltage (Arduino Analog Pin A3), the device switches between the four modes of operation.
a) Intervalometer. We use one potentiometer (R7) to set the interval between pulses and use a second potentiometer (R8) to decide how many pulses in total need to
be transmitted.
b) Light Detection. One potentiometer (R7) is used to set a threshold level. If the intensity of light from a flash of lightning exceeds this threshold, a pulse is transmitted
that activates the camera shutter release. Light intensity is measured (by Arduino Analog Pin A2) using a Light Dependent Resistor (R10) and a 4.7 K Ohm resistor (R9)
that are positioned in the form of a voltage divider. The details on how this voltage divider works can be read here.
c) Motion Sensing. Motion sensing is achieved using a PIR (Passive Infra Red) sensor. These are inexpensive sensors that measure ambient heat levels and send out a
HIGH signal on their output line if there is a variation in the ambient environmental temperature level. So when a animal (or any other warm body) walks past the camera
trap, the PIR senses this movement and generates a HIGH on its output line. The micro-controller (Arduino Digital Pin D11) reads this HIGH signal and triggers a pulse.
Power to the PIR is provided through Arduino Digital Pin D13.
d) Test Mode: The device can operate in "Test" or in "Pulse" regimes (Through switch connected to headers J25, J26, J27). While in "Test" regime, the micro-controller
does not pulse the IR LED (that activates the camera) but instead it blinks a normal red LED. So by putting the remote to "Test" regime, you can make all the settings you
need, and confirm by watching the red "Test" LED that the trigger will operate at the right moment. Now you can put the device back to "Pulse" regime and it will now
send pulses through the IR LED that operates the camera.
e) Status LCD. As you adjust the settings on the various switches and potentiometers, an LCD display shows the following information...
a) Which mode is the device in - Intervalometer/ Light Detection/ Motion Detection/ Manual.
b) In Intervalometer Mode - (i) Delay between shots (ii) No of exposures
c) Light Detection Mode - (i) Threshold setting (ii) Current Light Reading
d) Passive Infra-Red Mode - The LCD shows an indication if any motion is detected by displaying "Motion DETECT!!"

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

Image Notes
1. 16 x 2 LCD
2. LCD Brightness Potentiometer
3. Arduino Pro Mini 5V/16 Mhz
4. Mode Selection Voltage Divider
The resistors in the lower arm are R3 - R6
5. TEST/ PULSE Regime Selection Voltage Divider
6. LDR Sensor Voltage Divider
7. Reset Push Button
8. Confirm/ Start Push Button
9. Main Power Switch
10. Potentiometer R7 for setting 'Delay' in intervalometer mode and 'Threshold' in LDR mode
11. Potentiometer R8 to set 'Number of Repetitions' in intervalometer mode
12. TEST and IR LEDs
13. LCD Backlight Push Button
14. 9V Battery
15. 10 K Pull Up resistors
16. 220 Ohm current limiting resistors
17. Headers for Passive Infra-Red (PIR) Sensor
18. I designed this circuit using Fritzing
http://fritzing.org

Step 2: Components Needed


Microcontroller
Arduino Pro Mini - one (I used a Pro Mini, but any Arduino compatible board will work fine with the necessary changes to the pin designated as the "RESET" pin. It needs
to be an interrupt capable pin. No changes are needed if you use an Arduino UNO.
Resistors
R2 to R6 - Mode selection voltage divider R9 - "Upper" arm of light detection voltage divider
R10 - LDR for "Lower" arm of light detection voltage divider
R15, R16, R 17 - "Test"/ "Transmit" regime selection voltage divider
R11 - pull down resistor for RESET button (This is not needed in this version)
R12 - pull down resistor for CONFIRM button
R13,R14 - Current limiting resistors in series with output LEDs.
See the notes on the PCB picture for the exact value of resistors needed.
Potentiometers
R1 - LCD Brightness potentiometer 0 - 10K
R7 - Delay/ Threshold setting potentiometer 0 - 10K
R8 - Repetitions setting potentiometer 0 - 10K
Switches
Main Power supply DC 9V - on/off type switch
Mode selection switch - 4 position rotary selector switch

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

"Test/Pulse" Regime selection switch - 2 position selector switch


LCD backlight switch - push button
CONFIRM button switch - push button
Other Components
Passive Infra Red (PIR) Sensor - one
IR LED - one Red LED - one
16x02 backlit LCD display - one

Image Notes
1. Main Power ON/OFF switch
2. 4 position mode selector switch
3. Push buttons for "CONFIRM" switch and LCD Backlight switch
4. Potentiometers to set Delay Time/Threshold, Repetitions and LCD Constrast

Image Notes
1. 'Lower' resistor array in Mode Selection Voltage Divider
R3 - 47K

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

Image Notes
1. Mode Selector
2. Potentiometer to set Delay/ Threshold
3. Potentiometer to set repetitions
4. Test/Pulse Regime Selector
5. "Confirm"/Start Switch
6. IR LED
7. Test LED
8. PIR Sensor
9. PCB with Pro Mini and onboard components
10. Light Dependent Resistor
11. 16x2 LCD with contrast potentiometer and backlight push button
12. 9V battery

R4 - 100K
R5 - 330K
R6 - 500K
2. Headers pins for Mode Selection Switch
3. 'Upper' 100K resistor for Mode Selection Voltage Divider
4. Header pin to read Mode Selection Voltage Divider
Connects to Arduino Pin A3
5. 'Upper' 3.3 K resistor in LDR voltage divider
6. Header pin to read LDR Voltage DIvider
Connects to Arduino Pin A2
7. Light Dependent Resistor
8. Header for setting potentiometer 1.
Centre pin connects to Arduino Pin A1
9. Battery Terminals
10. Main Power Switch
11. Header for setting potentiometer 2. Centre pin connects to Arduino Pin A0
12. Confirm/ Start button terminals
13. 100K pull down resistors. R11 can be deleted. It is of no use in this version of
the board.
14. Header pins for PIR Sensor
15. 47K and 500K resistors for lower arm of ' Test/ Pulse Regime' selection
voltage divider
16. Header pins for contacts of 'Test/Pulse' Regime selector switch
17. 100K resistor for 'upper' arm of 'Test/Pulse' Regime selection voltage divider
18. Header pin for LCD display. Connects to LCD RS pin header
19. 220 ohm current limiting resistors for LEDs
20. Header pins for LEDs
J14 - Test LED
J13 - IR LED
21. Header pin for +ve supply to LEDs
J 23 connects to Arduino Pin D9.
J24 connects to Arduino Pin D8.
22. RESET button header. In this version, this button is defunct. Do not solder it in
place.
23. Header pins for LCD backlight
24. GND header. connect to LCD GND pin header J21
25. GND pin header. Connect to J 22
26. LCD RS pin header. Connect to Arduino pin D10 header
27. Arduino Interrupt pin header. Connect to J10
28. 16 x 2 Backlit LCD header
29. FTDI Interface header. For uploading code/ debugging. Look carefully on your
version of the Pro mini and make sure that the VCC is tapped correctly (see the
left side of header).
30. Header for Arduino I/O pins
31. Header pins for LCD contrast adjusting potentiometer

Step 3: Assembly
Download the circuit diagram (ML_L3_Remote_With_PCB.pdf) and prepare the PCB, and solder all the components in place. If you don't know how to etch a PCB, there
are plenty of instructables that will tell you how. Otherwise, you can read my method here.
You can also download the Fritzing sketches I used to make this circuit. I have uploaded two versions:(a) Breadboard.fzz (shows all the components on the breadboard)
(b) PCB.fzz (shows the final PCB that needs to be etched, but without any of the "external" components, just their header pins)
The PCB is etched only on one side. I have tried to minimise the number of jumper wires that are needed to make all the connections on the PCB and have used 1/2/3
pin female headers wherever a jumper wire needs to be soldered in place. You can see descriptions of the headers on the PCB picture I have uploaded. These are listed
below...
J5, J6 - for four way rotary switch (mode selection)
J25,J26,J27 - for two way selection switch (regime selection)
J9,J10 - for RESET push button(not needed in this version)
J7,J8 - for CONFIRM push button
J32 - for PIR pins
J13, J24 - for Test LED pins
J14, J23 - for IR LED pins
J3 - for LCD backlight push button
J11 - for potentiometer 1
J31 - for potentiometer 2
J4, J22 - for LCD contrast potentiometer

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

J2, J21, J30 - for LCD connections


J15 - for Main DC 9V power switch
J16 - for battery terminals
J18 - for Arduino I/O pins
J17 - Arduino Pro Mini Interface to PC
J19 - Arduino output to LEDs
J 29 - Arduino out pin to RS pin on LCD
J 28 - RESET push button input to Arduino Interrupt pin D2 (not needed in this version)
Finally, the Arduino source code is also uploaded (Nikon_IR_Multi_Functional_Remote.ino).

File Downloads

Breadboard.fzz (24 KB)


[NOTE: When saving, if you see .tmp as the file ext, rename it to 'Breadboard.fzz']

ML_L3_Remote_With_LCD.pdf (112 KB)


[NOTE: When saving, if you see .tmp as the file ext, rename it to 'ML_L3_Remote_With_LCD.pdf']

PCB.fzz (46 KB)


[NOTE: When saving, if you see .tmp as the file ext, rename it to 'PCB.fzz']

Nikon_IR_Multi_Functional_Remote.ino (8 KB)
[NOTE: When saving, if you see .tmp as the file ext, rename it to 'Nikon_IR_Multi_Functional_Remote.ino']

Step 4: Boxing it Up
Once the circuit is ready and everything works correctly, you can use any sort of box to place the components. I used a plastic box with a hinged lid. It is a little big in size,
but it holds all the components without too much strain on the wires.
Cut out holes into the which all the buttons, switches and LCD can fit. Secure everything in place.
The LDR is fixed on one side of the box. The other side of the box holds the PIR and the IR LED that sends the trasnmission (See images).

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

Image Notes
1. Cut holes for the switches/ buttons/ LCD

Image Notes
1. LDR Sensor on one side of the box

Image Notes
1. PIR Sensor and IR LED on the other side of the box

Step 5: Operation
1. Switch on the device
2. Select the mode of operation you desire. The LCD will show the mode of choice (Intervalometer/ Light Detection/ Motion Detection/ Manual) and the parameters for
that mode......
a) In Intervalometer Mode - (i) Delay between shots (ii) No of exposures
b) In Light Detection Mode - (i) Threshold setting (ii) Current Light Reading
c) Passive Infra-Red Mode - The LCD shows an indication if any motion is detected by displaying "Motion DETECT!!"
3. Use the potentiometers R7 and R8 to change the settings if needed
4. Put the Regime selector switch to "TEST"
5. Press the START/Confirm button. If the TEST LED flashes are per your requirement, then you can flip the regime selector to "PULSE" position, switch off and turn on
the device again, and then press START again to begin sending pulses the the camera.
In manual mode, each push of the START/Confirm button sends one pulse
6. To change the Mode at any time, rotate the Mode selection switch to the desired position. Turn the Remote off and on again to enter the new mode of operation.
See the embedded video for a demonstration.

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

Related Instructables

How to use IR
Sensor using
Op amp and
Arduino by zx
lee

An Aesthetically
Pleasing
Wireless Wii
Sensor Bar by
squiggy2

Infra-red
Remote
Intervalometer
for Nikon
Cameras by
jwagnerhki

PIR Motion
Sensor Tutorial
by adafruit

A custom shield
for the Propeller
ASC - Infra-Red
Remote Control
- and multiple
COGS! (Photos)
by cavelamb

Remote-control
nature
photography by
gtoal

Advertisements

Comments
2 comments

Add Comment

zmashiah says:

Oct 27, 2014. 11:59 AM REPLY

Very nice! Take a look at CameraAxe. I know it lack the flavor of complete DIY, but still... http://www.cameraaxe.com/

MsSweetSatisfaction says:

Aug 31, 2014. 8:53 AM REPLY


Wow that's really awesome, who doesn't love more control from a distance? Thanks for sharing and explaining the complex bits so well!

http://www.instructables.com/id/Multi-Functional-DSLR-Remote-Control/

You might also like