I have built a arduino based flash trigger box. I am at the point of connecting it to a camera but it won't trigger. The test trigger button on my box works, shorting the camera end plug with the tip of a pen works. But neither a Wein Safe shoe adapter on DSLR nor my old Pentax K1000 mechanical camera will trigger it.
I'm wondering if the pulse from the camera is too short to register. Using pin 19 (analog being used as digital as the only avaliable digitals only's are 13, 1 and 2 which I'm not using as will cause undesirable triggers when rebooting or usb data transfer when reprogramming).
Pin 19 is tied low with a pull-down resister, momentary on button causes it to go high on pin 19. sync lead wired across test trigger button.
My setup stages
/* Flash sequential trigger unit
By "Krazy Darcy" Waters. Derived from freetronics LCD module sample, and Arduino Cookbook */
/* INCLUDES */
#include <Wire.h>;
#include <LiquidCrystal.h>; //includes these libraries
/* DEFINES */
#define BUTTON_ADC_PIN A1 //analog output from lcd buttons
/* Pin A0 is used by the Freetronics LCD module keypad, So I've used A1 for my button array */
#define LCD_BACKLIGHT_PIN 3 //lcd backlight control
#define RIGHT_10BIT_ADC 0 // right button
#define UP_10BIT_ADC 145 // up botton
#define DOWN_10BIT_ADC 329 //down button
#define LEFT_10BIT_ADC 505 //left button
#define ENTER_10BIT_ADC 741 // select-enter button
#define BUTTONHYSTERESIS 20 //hysteresis for valid button sensing window
/* value of hysteresis increased as instead of using onboard keypad, external button array to same design but with
slightly differant resistor values to those on the array on the freetronics lcd schematic */
#define FLASH_1_PIN 2 // output trigger flash 1 relay
#define FLASH_2_PIN 12 // output trigger flash 2 relay
#define FLASH_3_PIN 11 // output trigger flash 3 relay
#define FLASH_4_PIN 10 // output trigger flash 4 relay
#define FLASH_TRIGGER_PIN 19 //trigger signal from camera
#define FLASH_ON 500 //delay to keep relay closed for flash unit to register sync pulse
/* NOTES - digital pins
pin1
pin 19 flash trigger input
pin 3 lcd backlight control output
pin 4-9 freetronics LCD module
pin 10 flash 4 trigger output
pin 11 flash 3 trigger output
pin 12 flash 2 trigger output
pin 13 flash 1 trigger output */
/* Return values for readbuttons */
#define BUTTON_NONE 0//
#define BUTTON_UP 2//
#define BUTTON_RIGHT 1//
#define BUTTON_DOWN 3//
#define BUTTON_LEFT 4//
#define BUTTON_ENTER 5//
/* variables */
byte buttonJustPressed = false;
byte buttonJustReleased = false;
byte buttonWas =BUTTON_NONE;
int SOLO_F;
/* Initialise LCD Pins */
LiquidCrystal lcd(8,9,4,5,6,7); //pins for Freetronics lcd screen - check pin assignments for your lcd
#define FLASH_ON 500
int MENU = 0;
unsigned int RETARD = 0; // retard used for interval between each flash as the word delay is a command
int TRIGGER;
/* setup - runs once when program launched */
void setup() {
pinMode(BUTTON_ADC_PIN, INPUT); // sets A0 as input from lcd buttons
digitalWrite(BUTTON_ADC_PIN, LOW); // ensures voltage pulup is off on A0
digitalWrite(LCD_BACKLIGHT_PIN, OUTPUT); // sets D3 as output
pinMode(FLASH_TRIGGER_PIN, INPUT); // input for flash sync signal
lcd.begin(16,2); //configure screen size
lcd.setCursor(0,0); //sets cursor at line 1 character 1
lcd.print("FLASH CONTROLLER"); // title screen
lcd.setCursor(0,1); // set cursor at line 2 character 1)
lcd.print("v0.16 ");
delay (100);
pinMode(FLASH_1_PIN, OUTPUT);
pinMode(FLASH_2_PIN, OUTPUT);
pinMode(FLASH_3_PIN, OUTPUT);
pinMode(FLASH_4_PIN, OUTPUT);
pinMode(FLASH_TRIGGER_PIN, INPUT);
/* Due to the relay board used, when there is no signal (pin is low) the relay is on.
So in setup pins are set high, and pins set low when I want the relays to turn on. */
digitalWrite(FLASH_1_PIN, HIGH); // ensures relay 1 is off
digitalWrite(FLASH_2_PIN, HIGH); // ensures relay 2 is off
digitalWrite(FLASH_3_PIN, HIGH); // ensures relay 3 is off
digitalWrite(FLASH_4_PIN, HIGH); // ensures relay 4 is off
}