Highspeed photography 101 – Lesson 7

Highspeed Photography 101

Table of contents

Lesson 1: Freeze the motion with your shutter
Lesson 2: Freeze the motion with your shutter II
Lesson 3: Freeze the motion with your flash
Lesson 4: A small but powerful helper: Arduino
Lesson 5: Trigger your camera with an Arduino
Lesson 6: Trigger your flash with an Arduino
Lektion 7: Working with sensors: Light barrier
Lektion 8: Working with sensors: Sound trigger

Lektion 7: Working with sensors: Light barrier

In the last lesson we saw how one can trigger a flash with an Arduino. In this lesson we’ll add a light barrier to trigger the flash in the right moment.

Rainbow splash

Rainbow splash

One of the biggest difficulties in highspeed photography is to trigger the flash at the right moment. If you try this without additional helpers (try & error), it is possible that you take many photos and still haven’t got the right moment.
To trigger the flash in the right moment, we use sensors. Light barriers and sound trigger are often used in highspeed photography.

– Camera
– Flash
– Remote trigger for flash (optional)
– Arduino
– Schmitt photogate trigger (hiviz.com)

Camera- / flash settings
How to setup the camera for this kind of photos is described in detail in lesson 3. How to connect and trigger a flash with an Arduino is described in lesson 6. For this kind of photo we don’t use any special flash mode as HSS or ‘repeating flash’. We setup the flash to trigger ‘normally’, just once, with very low power settings. (Remember: The lower the settings the shorter the flash duration)

The basic Arduino setup is the same as in lesson 6. We’ll add a light barrier as sensor. I choose the hiviz.com sensor as this is a very cheap assembly kit and it has a very good step-by-step tutorial to build it. We don’t need the delay unit, if we’re using the Arduino.

It is very easy to connect the light barrier with the Arduino; we connect the output of the light barrier with an analog input of the Arduino. If you’re using the hiviz.com kit the output of the light barrier is the anode of the SCR from the ‘Schmitt photogate trigger’. (Until version 10: Row 13 A-E, version 10 and above: Row 10 A-E)

Arduino with light barrier

Arduino with connected light barrier

We’ll setup the Arduino to trigger the flash as soon as there is a signal from the light barrier.

//hiviz connected here
int signalPin = 4;
//flash connected here
int flashPin = 11; 

//delay between signal from sensor and firing flash
int preflashdelay = 200; 

//delay after flash until the unit shall be ready again
//usually I put the exposure time, to ensure that
//I don't have unwanted multi exposures
int postflashdelay = 5000;

// The setup() method runs once, when the sketch starts
void setup()
  // initialize the flash pin as an output:
  pinMode(flashPin, OUTPUT);
  // initialize the signal pin as an output:
  pinMode(signalPin, INPUT);
  //setup serial console

// the loop() method runs over and over again,
// as long as the Arduino has power

void loop()
  //Read value from signalPin
  int reading = analogRead(signalPin);

  //print reading

  //if we're about a certain value
  if(reading > (100)){

    //debug output
    Serial.print("Flash triggered @ ");

    //sleep for preflash delay

    //fire flash
    digitalWrite(flashPin, HIGH);
    digitalWrite(flashPin, LOW);

    //sleep for postflash delay

Mount the light barrier somewhere, where it will get interrupted. If you create “drop images” the drop will interrupt the light barrier. I mounted the light barrier on my ‘sliding table‘ so that it gets interrupted as soon as the slider arrives in its end position.

Light barrier

Taking the picture
Since I built the ‘sliding talble’ I wanted to take a photo with different colored glasses. Therefore I modified the slider of my ‘sliding table‘ to hold more glasses. Due to the modifications the slider got a bit massier therefore I accelerated it by hand.
I like this example as it shows that there is no big difference between triggering the flash with a sound trigger (last time) and light barrier (this time).


Setup rainbow splash

Creating the image is fairly easy: Turn of the light, start the camera, accelerate the slider, flash gets triggered, clean up.

In this lesson I showed, how we can extend an Arduino with a light barrier. If you react on the signal we get from the light barrier, you’ll trigger the flash in the right moment.

This entry was posted in Deutsch, Highspeed 101. Bookmark the permalink.

12 Responses to Highspeed photography 101 – Lesson 7

  1. Stefan says:

    First of all grate work and congrats for learning to use an micro controller by your’ self . One thing bugs me about using a light gate and that is why not use a simple switch ? To me it seems more convenient but you may know something I don’t.

  2. Revi says:

    Nice idea, nice setup, and nice execution!!!

    Brilliant work!!

  3. Pascal Bovet says:

    Hello Stefan,

    Thank you for your comment.
    I agree one could also use a switch / button but I don’t know where to place the switch so that it will not get damaged from the moving slider.
    The reason I was using the light gate was that it is contact less. I don’t have to put any electronics on the slider. But as already mentioned, it would also be possible with other triggers.

  4. Pingback: Highspeed photography 101 – Lesson 8 | pascalbovet.com

  5. Pingback: Colorful bursting water balloon (Highspeed - Arduino & Hiviz)

  6. Pingback: Highspeed photography 101 – Lesson 5 | pascalbovet.com

  7. Pingback: Highspeed photography 101 – Lesson 4 | pascalbovet.com

  8. Pingback: Highspeed photography 101 – Lesson 3 | pascalbovet.com

  9. Pingback: Highspeed photography 101 – Lesson 2 | pascalbovet.com

  10. Pingback: Highspeed photography 101 – Lesson 1 | pascalbovet.com

  11. Jerome says:

    Great tutorial – thanks a lot.

    One question though – did you notice any additional delay caused by the wireless flash trigger?

    Kind regards,

  12. Luca says:

    Thanks for sharing all of this! Here is my experimet with your tutorials

Leave a Reply

Your email address will not be published. Required fields are marked *