Author Topic: Take a picture!  (Read 2243 times)

0 Members and 1 Guest are viewing this topic.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Take a picture!
« on: April 06, 2014, 12:10:47 PM »
I recently got a new Canon camera and I wanted to be able to take a photo without physically pressing the shutter button.

Using my iTach and some codes I found online I was able to do it using this command. This command is using the 3rd output plug on the iTach, and if you are not using that one then change the :3 to :2 or :1

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 1.9.1.9-->
<command id="713" name="take a picture" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Requires a Canon SLR such as 60D or 70D and an iTach IR blaster.">
  <action>
    <cmdType>TCP.Client.WriteLn</cmdType>
    <params>
      <param>iTach</param>
      <param>sendir,1:3,1,33000,1,1,23,225,23,225</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>take a picture</phrase>
</command>

This is handy not only for being able to take superior "selfies" but for doing long exposures without any risk of moving the camera.  You could also use a looping event timer to do time-lapse photography!

In order for this to work you will need a few things:

First off you need a Canon 60D or similar camera.  There are quite a few Canon cameras with IR sensors that should work with this code.  If it works with an RC1 or RC6 remote then I think it should work.

You obviously need an iTach Wifi2Ir (or flex or IP2IR), and you need to have it set up as and connected in VC using TcpClient.Connect.
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 1.9.1.9-->
<command id="779" name="First connect iTach" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>TCP.Client.Connect</cmdType>
    <params>
      <param>iTach</param>
      <param>192.168.0.134</param>
      <param>4998</param>
      <param>\x0D</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <event>VC.Loaded</event>
</command>

You will also need to set your camera to listen for IR.  On my camera this means setting the drive mode as follows:
Quote
2-Second Self-Timer/Remote Control: This mode is available only in P, Tv, Av, M, and C exposure modes. It works just like the other Self-Timer/Remote Control mode but with just a 2-second capture delay.

Note that although it says there is a 2 second delay that is actually only when you physically press the shutter button.  With IR it is almost instant.

If you have a USBUIRT or similar device you can also try this HEX code:
Code: [Select]
0000 007e 0002 0000 0017 00e1 0017 00e1

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7714
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Take a picture!
« Reply #1 on: April 06, 2014, 12:13:58 PM »
Here is a list of cameras that this should work with.  The list is provided by this site, which is selling the RC-6 IR remote control:

http://www.bhphotovideo.com/c/product/683524-REG/Canon_4524B001_RC_6_Wireless_Remote_Control.html

EOS 6D
EOS 5D Mark II
EOS 5D Mark III
EOS 7D
EOS 60D
EOS 60DA
EOS 70D
EOS Digital Rebel
EOS Digital Rebel XT
EOS Digital Rebel XTi
EOS ELAN 7/7E
EOS Elan 7N
EOS ELAN 7NE
EOS Elan II/IIE
EOS Elan IIE
ELPH 370Z
ELPH Jr.
ELPH Sport
ELPH Z3
EOS 10
EOS 100
EOS 30
EOS 30V
EOS 33
EOS 33V
EOS 50
EOS 50E
EOS IX
EOS Rebel Ti
EOS Rebel T1i
EOS Rebel T2
EOS Rebel T2i
EOS Rebel T3i
EOS Rebel Ti
EOS Rebel T4i
EOS Rebel T5i
EOS Rebel XSi
EOS Rebel SL1
Limited Edition Digital Rebel
Sure Shot 130u
Sure Shot 130u II
Sure Shot Z115
Sure Shot Z135
Sure Shot Z155
Sure Shot Z180u
Sure Shot Z90W
EOS-M Mirrorless Digital Camera