An Android controlled camera focus / shutter release for a Canon DSLR
Let's do this! After receiving the package, the first thing I did was take some photos and get the board connected to my computer to try and upload a blink sketch to make sure everything was working, which it was!
The goal of this project of for me to have an app for my android phone that will allow me to send a bluetooth signal to the Coin BLE Arduino and prompt it to close the shutter. The actual shutter part shouldn't be too hard, I'm sure hundereds of people have attempted something similar before, but if worst comes to worst, I can just try and reverse engineer one of these devices: http://www.amazon.com/Shutter-Release-40D-Digital-Cameras/dp/B001G9TYHE.
The hardest part will no doubt be creating the android app. In the past, I've seen people use processing for android to accomplish similar things. After a little searching I found this guide which I will attempt to complete later.
Got basic functionality working! This shows that it is possible to activate the shutter and focus of the Canon Rebel T3i with an arduino.
Other than that, all I need is an enclosure!
I plan on having the project be a discrete box that I will be able to strap to my tripod / other things as needed. I have a panel mount switch that I will use to turn the device on and off but other than that, the only way that the user interacts with the device is through the phone. The panel mount 3.5mm headphone jack will be used to send the signal out of the enclosure and to the camera. I will use heat shrink tubing and a few spare audio cables to make a custom cable to interface the smart shutter and my camera (basically just an inline adaptor).
So I got my parts in and have spent the last two days wrestling with bluetooth low energy. The fundamental problem I've been having is that I don't have the gear to start developing things for bluetooth low energy. I ended up wasting a whole day just trying to get a simple serial pipe going and decided it would be better to dust off an old bluetooth serial module I had laying around and develop using that and software serial so that I won't waste time. If I figure it all out, it will be a very simple transition to BLE because I'm using software serial in my Arduino code.
I actually had a bit of trouble getting my other bluetooth module working again as well, and wrote a little guide for my future self here.
I've attached my latest Arduino code, this version is probably the final version.
Okay! I spent the last two days installing Processing, and Processing for Android. I have begun writing the app to control the shutter system. I really have no idea what I'm doing with this language / libraries but I think I've landed on a setup that I will use. I will use apwidgets for most of the user interface, and Ketai to handle bluetooth communication.
Attached are images and code that show the super beginnings of my Android app. It will be very very simple, consisting of a connection configuration page, and a page for interaction with the camera.
It works! I can send "test" over and over again. It should be very simple to go from this sample "test" to the actual structure for flipping the shutter. In my next step I'll link out the files for the app.
[Watch the video...] It all works! This proves that this project is possible in it's entirety, custom app and all. From here, I need to do a few things.
Attached the code for the app written in Processing, and the Arduino code running on the Arduino.
So in a pretty small scale project like this (I'm only making one, the design is very simple) I'm not even going to take the time to draw out the schematic in Eagle. I'm by no means an expert solderer but I can hold my own, and I had some scrap perf-board laying around so I quickly whipped up a PCB for this project.
Also by virtue of being broke, I always try and keep my designs modular so I can re-use parts and whatnot. The only things that I 'lose' with this design are the transistors and some passives.
So for a box, I decided to go with a sandwich box from walmart. It fit fine on the tripod, was light enough for the straps to take hold of it, and had thin enough walls for me to be able to mount the panel mount components on.
The assembly was very simple. I melted two holes in a wall of the enclosure with my soldering iron (I know it's a horrible practice but I don't have a drill) to fit the output connector and the power switch.
From there, I mounted the PCB and battery with velcro and installed the components.
It is very very simple. All I did was take an old 2.5mm headphone cable and an old 3.5mm cable and soldered them together. I made the fitting more permanent with some heat shrink tubing.
It's actually pretty simple to mount the whole thing on my tripod using the straps I ordered. All I did was strap
Project is done! Video pretty much explains everything, ask questions if you have them!
Code versions are in the software section.
Thank you MIT!