I’m trying to make Arduino catch shutter signal from a camera trigger (a controller that sends shutter signals to a camera). However I end up having a floating input.
The camera trigger signal seems universal across most devices: the circuit is 3.3V and it falls to 0 when the signal is sent. Camera fires. The circuit comes back to 3.3V. There’s actually also a focus signal in the third pin but I’m not using it, so let’s ignore this one for the sake of simplicity.
So catching the shutter signal from any device is as simple as reading the pin going from high (3.3V) to low (0V).
The board is Arduino UNO.
The camera trigger is a time lapse controller with lots of fancy functions (works well, its signal is clear and doesn’t seem to float)
The task is to catch the trigger by arduino and create commands for multiple other devices.
The output from arduino works so I’m going to skip on pins 8-12 (on the diagram) and only focus on the input
My first solution was to use internal pullup.
Code (relevant bits only)
#include <avr/interrupt.h> pinMode(2, INPUT_PULLUP); attachInterrupt(digitalPinInterrupt(2), buttonPressed, FALLING);
The input was floating and slight touch of the UNO or the camera trigger would create a false positive.
The second solution was to use an external pullup resitor (on the diagram attached).
The code was (relevant lines only):
#include <avr/interrupt.h> pinMode(2, INPUT); attachInterrupt(digitalPinInterrupt(2), buttonPressed, FALLING);
The outcome is pretty much the same (a bit better).
There gotta be something that I misunderstand (new to it!). Any help appreciated.