Trigger Smartphone Camera With Arduino

About: Big fan of engineers without borders. I like to drive down cost of products for more to enjoy. www.donaldhu.com www.rapidproto.ca

This tutorial shows you how to trigger a smartphone camera with an arduino every 2 seconds. You can modify this for your camera to trigger when

-a button is pressed

-motion detector is trigger

-receive a twitter tweet , etc

Step 1: Trigger a Smartphone Camera With an Arduino

Parts:

-breadboard

-jumper wires

-MCP4131 - 10K DIGITAL POTENTIOMETER ($3 CAD)

-arduino uno

-smartphone (any)

-TRRS Audio Jack ($2 CAD)

Step 2: Wire It Up and Solder TRRS Audio Jack

How the TRRS audio jack works:

The audio jack has 4 parts. -left -right -ground -mic

When the mic and ground are connected, it will trigger a smartphone. With a camera app, it will trigger the shutter button. Self-sticks use this.

If the mic and ground are connected directly, the shutter button will constantly be trigger. To fix this, a digital potentiometer is placed in between the mic and ground.

A digital potentiometer can electronically adjust resistance. When I want to take a picture, the digital potentiometer has 0 resistance. The connection between mic and ground is made. Camera triggers.

When I don't want to take a picture, the digital potentiometer has 10k resistance. The connection is blocked. no picture is taken.

TIP:

Before Soldering jumper wires to the audio jack. Plug in audio jack into phone with phone app on(link below). Physically connect the mic and ground with 1 jumper wire. The camera should trigger. Sometimes it works better to solder jumper wire on the outside tab on audio jack. Test where on ground and mic is best to trigger your phone before soldering.

Step 3: Code

#include 

byte address = 0x00; int CS= 10;

void setup() { pinMode (CS, OUTPUT); SPI.begin(); } void loop() { digitalPotWrite(0); // no resistance here. Camera is triggered. delay(500); digitalPotWrite(128); //resistance here. Camera is not triggered. delay(2000); } int digitalPotWrite(int value) { digitalWrite(CS, LOW); SPI.transfer(address); SPI.transfer(value); digitalWrite(CS, HIGH); }

Step 4: Download Free SelfiShop Camera APP

Share

    Recommendations

    • First Time Author

      First Time Author
    • Big and Small Contest

      Big and Small Contest
    • PCB Contest

      PCB Contest

    5 Discussions

    0
    None
    PedroV112

    Question 3 months ago on Step 3

    In the code , the #include shouldn´t have a file direction in it? Thanks a lot for the post, is going to be very useful.

    Sin título.jpg
    0
    None
    arturdb

    7 months ago

    wow, this was EXACTLY what I was looking for. Complete newb here.. I'll try it out with my iPhone

    0
    None
    TeamStorm

    11 months ago

    Would a relay work instead of the digital pot?

    0
    None
    Tanmay Deuskar

    1 year ago

    Hello,

    I tried inserting the audio jack and manually connected the the GND and MIC wires, however even with the app running the shutter isn't activated. Can you tell me how I could trouble shoot this problem? Or, is there any other way I can trigger the camera using the Arduino?

    Thanks

    0
    None
    rachithaks

    1 year ago

    hi,

    does this work?
    has anyone got it working??

    thanks