Obviously the theoretical physicist here doesn't get it. Seems stuck thinking back in the X-sync era, whereas I am not using the internal camera sync switch for flash bulbs.
Here are the two timing codes ("Sketches" in Arduino speak, or "Program" from my era.) that I've written for the Arduino Uno. One is for the Press #40, second is for the PF-330 or Sylvania FF-33. Feel free to load the code if you build one.
Not that hard, other than maybe making a third circuit board (plugged into the top of the Arudio Uno and one top of the Seeed Relay Shield v2 to hold the pull-up resistors needed and the 220uf capacitor underneath in one corner. As I worked through this over time, I found more code that can be used to replace them as they are internal to the microprocessor already. They do make a breadboard type of plug-in where one could circumvent making one.
Feel free to use either as I like the Open Source of the Arduino community.
_________________________________________________
// Flashbulb Trigger. Shutter delay for PF-330 bulbs with Nikon D800E. Turns on LEDs on when the two-stage release is pressed. Start of delay relay timing sketch.
const int LED1 = 4; // The pin for the Green LED, or Relay Shield relay number 1. Metering and Auto Foucs relay.
const int LED2 = 6; //The pin for the Red LED, or Relay Shield relay number 2. Bulb control relay.
const int LED3 = 5; //The pin for the Yellow LED, Relay Shield number 3. Shutter control relay number 3.
const int BUTTON1 = 2; // The input pin where the focus switch is connected. From MC-30A remote SW1.
const int BUTTON2 = 3; // The input pin where the shutter switch is connected. From MC-30A SW2.
int val1 = 0; // Value will be used to store the state of the input pin.
int val2 = 0; // As above for button 2.
int val3 = 0; // As above.
void setup()
{
pinMode(LED1, OUTPUT); // Green Focus LED and tell Arduino LED is an output.
pinMode(LED2, OUTPUT); // Red Shutter LED and tell Arduino LED is an output.
pinMode(LED3, OUTPUT); // Yellow Shutter Delay LED and tell Arduino LED is an output.
pinMode(BUTTON1, INPUT); // Button 1 is Focus switch and an input.
pinMode(BUTTON2, INPUT); // Button 2 is Shutter switch and an input.
}
void loop()
{
val1 = digitalRead(BUTTON1); // Read input value and store it and check whether the input is HIGH (button pressed).
if (val1 == HIGH)
{
digitalWrite(LED1, HIGH); // Turn the Green LED ON.
}
else
{
digitalWrite(LED1, LOW); // Turn the Green LED OFF.
}
val2 = digitalRead(BUTTON2); // Read input value and store it and check whether the input is HIGH (button pressed).
if (val2 == HIGH)
{
digitalWrite(LED2, HIGH); // Turn the Red LED ON.
}
delay (350); // Time delay of Yellow LED in milliseconds.
if (val2 == HIGH)
{
digitalWrite(LED3, HIGH); // Turn the Yellow LED ON.
}
else {
digitalWrite(LED2, LOW); // Turn the Red LED OFF.
digitalWrite(LED3, LOW); // Turn the Yellow LED OFF.
}
}
_________________________________________
Following is the timing program for the Press #40 bulbs:
_________________________________________
// Flashbulb Trigger. This is for Press #40 flashbulbs with Nikon D800E. Turns on LEDs on when the two-stage release is pressed. Start of delay relay timing sketch.
// Flash needs to be delayed until the 45ms shutter lag is completed. Focus locked in Manual mode, else shutter lag will be need to be changed to 250ms from 45ms for AF mode.
const int LED1 = 4; // The pin for the Green LED, or Relay Shield relay number 1 (Focus and Metering relay).
const int LED2 = 6; //The pin for the Red LED, or Relay Shield relay number 2 (Flash relay).
const int LED3 = 5; //The pin for the Yellow LED, or Relay Shield relay number 3 (Shutter relay).
const int BUTTON1 = 2; // The input pin where the focus switch is connected, or SW1 in remote release. Goes to 10K pullup resistor using 5 volts off Arduino.
const int BUTTON2 = 3; // The input pin where the shutter switch is connected, or Sw2 in remote release. Goes to 10K pullup resistor using 5 volts off Arduino.
int val1 = 0; // Value will be used to store the state of the input pin.
int val2 = 0; // As above for button 2.
int val3 = 0; // As above.
void setup()
{
pinMode(LED1, OUTPUT); // Green Focus LED and tell Arduino LED is an output.
pinMode(LED2, OUTPUT); // Red Shutter LED and tell Arduino LED is an output.
pinMode(LED3, OUTPUT); // Yellow Flash LED and tell Arduino LED is an output.
pinMode(BUTTON1, INPUT); // Button 1 is Focus switch and an input.
pinMode(BUTTON2, INPUT); // Button 2 is Shutter switch and an input.
}
void loop()
{
val1 = digitalRead(BUTTON1); // Read input value and store it and check whether the input is HIGH (Release button pressed, and first SW1 turned ON.).
if (val1 == HIGH)
{
digitalWrite(LED1, HIGH); // Turn the Green LED ON. This is for Focus and Metering relay.
}
else
{
digitalWrite(LED1, LOW); // Turn the Green LED OFF.
}
// Following is for Shutter relay and Flash relay.
val2 = digitalRead(BUTTON2); // Read input value and store it and check whether the input is HIGH (Release button pressed further, and second SW2 turned ON.).
if (val2 == HIGH)
{
digitalWrite(LED3, HIGH); // Turn the Yellow LED ON. Shutter fires.
}
delay (45); // Time delay of Red LED (Flash relay) in milliseconds to delay firing of #40 flashbulb by 45ms for camera's shutter lag time.
if (val2 == HIGH)
{
digitalWrite(LED2, HIGH); // Turn the Red LED ON. Flash fires.
}
else {
digitalWrite(LED2, LOW); // Turn the Red LED OFF.
digitalWrite(LED3, LOW); // Turn the Yellow LED OFF.
}
}
_______________________________________________
I'll try and post a couple of shots taken at night with the Press #40 which I ended up with a GN=45 along with the EXIF data (I hope!). One was using the bulb in a 5" hardware store clamp-on light into a 52" white umbrella for softness (One with little shadow behind the stand on the concrete patio as well as off the meter and ColorChecker Passport.). Other is just the bulb with no reflector in front of the 52" umbrella that is casting a bit of a strong shadow. The bare-bulb might be better with a GN=56 as I did pull the brightness down in post.
Both had a Lee filter #202 to color-correct the bulbs to daylight. I'm reading about 5,200K corrected depending on the software used to read it.
I'll try and shot some of the innards of the flash control box later today if anyone is interested in the basic design and layout. I had a schematic, but it got modified as it all went into "the box" since I could attach to the top home-made board for things like the jacks on on-off LED and power switch.
Also, there is a device called "Camera Axe" that does much of this timing and shifting around stuff for $200. However, it does not use an internal relay and the maker advises to use an external relay for the flashbulb current else it might damage their box much like the possiblity of damaging the camera should one use the hot shoe. The Seeed Relay Shield I use handles around 10 amps per relay so not an issue.
The owner John H. of Meggaflash told me one has to come up with the delay themselves for their PF-330 bulbs. Most clients have that ability to do so. I guess I got my own design now.
Whole adventure was due to the fact electronic flash "freezes moving water" and results in basically a double-exposure even at a slow 1 second shutter speed. The long burn of the Series #33 bulbs of ~2 seconds should address that fact for landscape shooters, or with fill-flash for subjects near moving water.
SG (Who posts as "Some Guy" since I've had numerous identity theft issues with the bank like 5 credit card changes in one year, Passport, DMV, etc. by using my real name. Not going there again. Fwiw.).