Where to put 'delayMicroseconds(n) in camera trigger

Very new here…
I put together a very simple laser trigger for droplet photography and need a little guidance with the shutter delay. I have not established a drip / trip height yet, just trying different positions, and need help with the timeing between trip, and splash.
Did I put the delay in the proper spot in the code? And can additional lines of delay be stacked if the 16000 ms limit is not enough? Am I useing the proper term, Microseconds?
here is the code I used, pin 12 triggers the camera:
/* Laser camera trigger

*/

void setup() {
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
}

void loop(){
digitalWrite(4, HIGH);
if(analogRead(0) < 750){
digitalWrite(10, HIGH);
delayMicroseconds(750);
digitalWrite(12, HIGH);
} else{
digitalWrite(10, LOW);
digitalWrite(12, LOW);
}
}

Thanks, Steve

Without knowing what the different pins are meant to do I can’t make sense of the code.

Also what is pin 4 for? - you don’t appear to have defined it as “output”.

…R

Stevequad:
Did I put the delay in the proper spot in the code? And can additional lines of delay be stacked if the 16000 ms limit is not enough? Am I useing the proper term, Microseconds?
here is the code I used, pin 12 triggers the camera:

You can use additional lines of delayMicroseconds but it might be easier to use delay() instead and specify the delay in milliseconds.
I doubt that you need the resolution of microseconds to catch a falling drop of water at the right time.

Sorry about pin 4… it was overlooked, and did nothing.
I defined the pins as A0 = sensor input
Pin 10 as L.E.D.
and pin 12 as camera trigger.
The Analog read @ < 750 is for ambient light.
I added the delay instead of delayMicroseconds
(the laser is self contained pointer, not in the code obviously)
Thanks for the comments, I am learning
Steve

#define SENSOR_PIN 0
#define LED_PIN 10
#define CAM_TRIGGER_PIN 12

void setup() {
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
}

void loop(){
if(analogRead(0) < 750){
digitalWrite(10, HIGH);
delay(250);
digitalWrite(12, HIGH);
} else{
digitalWrite(10, LOW);
digitalWrite(12, LOW);
}
}

Do you still have a question?

You have three #define statements but then you don’t use them.

The idea of them is so that you can define the values in one place and not have to specify the pin number on several different lines - which could lead to a mistake and makes it hard to modify the code if that becomes necessary. Also using the defined variables makes the code easier to understand. For example

#define SENSOR_PIN 0
#define LED_PIN 10
#define CAM_TRIGGER_PIN 12
  
void setup() {
pinMode(CAM_TRIGGER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
}

…R

Thanks for clearing that up for me Robin. No more questions. I only put the define in there to help show what I was doing. I have removed them from the sketch.
Thanks for the help.
Steve