Feasibility of a project / LED sequence controlling + triggering a camera

Dear Community,

this is my first post, I'll humbly apply to your forum rules and hope this is the right thread to post my topic according to your guidelines. Also I'm neither an experienced electrician nor programmer so please excuse me for maybe asking not-so-hard questions.

I'm currently wondering if an arduino system would be suitable for a project of mine:

I want to create a small rig to take images of fabrics.
There will be a top mounted camera facing downwards onto a defined surface.
An certain number (I'm thinking of 8 Sets containing 3 LEDs each) of LEDs will be mounted in a circle around that surface. Additionally there will be two sets of 4 LEDs each to light the surface from above and below.

I would like to have some kind of device that controls the light and the cameras shutter. File handling will be realized by another device, so its just 'triggering'.

The device should allow me to start a predefined process like the following:

Top Lights on + Camera shutter
Pause
Top Lights off + Bottom Lights on + Camera shutter
Pause
Bottom lights off + Circular LED Set 1+4 on + Camera shutter
pause
Circular LED Set 1+4 off + Circular LED set 2+5 on + Camera Shutter
pause
(and so on)

...resulting in each progress triggering a certain number of images.

the cameras shutter can be triggered by an analogue signal to a dedicated remote jack, so no need for going digital, IR, USB or anything. also I'm planning to use this device in daily business so it should be built to work reliable and for many process cycles. LEDs should be quite bright to keep the shutter speed low, so i guess the amount of LEDs as well as their power usage require some external power source.

That would be minimum requirements, additional, nice-to-have or cosmetic features would be:

control LED brightness (in general or individually)
hardware failure display (some kind of red light indicating something is wrong)
ability to retake only a certain image (i.e. Lights 3+4)
touch-screen with a custom UI as input device (really just for cosmetic reasons)
progress bar of some kind

Do you think that going arduino in this case is the right choice?
Given I'm not capable of developing this all by myself what would you estimate in terms of cost for hardware and programming?

Thank you for your advice and kind regards :slight_smile:

An Arduino may be sufficient, depending on what tasks are handled by the "other" (controlling) system, and what remains to do for the Arduino. In the simplest case make that other system send commands to the Arduino, which LEDs should be activated, at what brightness, and then to take a picture.

Thanks for your reply!
The other system is basically just a mac connected to the cameras USB port running an image capture software.
I would like to separate these processes from each other, since i've experienced nightmares with updates and compatibility issues with OSX already. So the Arduino should manage the trigger program and all tasks connected to it by itself.

Even if you program every scenario on the Uno, somebody/some device must instruct the controller what to do, take a single picture or the full suite. If you like, you can add switches and a display to the Arduino, to make it fully independent of a controlling PC (except for taking the images). You even can allow to edit and store scripts in EEPROM, selectable by the user, without changing the hardware.

So you should make the hardware (LED drivers...) work in a first step, then you can extend the functionality at any time, by simply uploading more sophisticated sketches.

DrDiettrich:
Even if you program every scenario on the Uno, somebody/some device must instruct the controller what to do, take a single picture or the full suite. If you like, you can add switches and a display to the Arduino, to make it fully independent of a controlling PC (except for taking the images). You even can allow to edit and store scripts in EEPROM, selectable by the user, without changing the hardware.

Thank you, that was precisely the answer i've been looking for!

Now, since i'm new to this topic in general, i'm wondering if - for this very application - there's a substantial difference or drawback when choosing an arduino over a raspberry as a controlling device.
From what i've learnt so far a raspberry is more of a full-scale computer replica rather than a dedicated controller, so given the simplicity of the task at hand and the apparently much easier set-up process an arduino should do just fine, right?

If I understood you correctly going arduino here would basically require the following parts:
An Arduino, of course
1.8" LCD Keypad Shield up/down to choose between scripts for "regular process / retake image xy"
left/right buttons to scroll brightness
Power Button
1(?)x MCP23017 to expand I/O channels

other than that, of course the LEDs, power supply, an opto-isolator so separate the power circuits, wiring and some kind of a case...

i guess if i strip down a remote shutter cable i can simply wire it up without an additional element, right?

thanks again for your support so far!

ZSTein:
i guess if i strip down a remote shutter cable i can simply wire it up without an additional element, right?

No. The usual remote shutter is a simple switch that shorts a signal to ground. When an Arduino controls an output, it either pulls it to ground (what you need) or place a high voltage (3.3V / 5V) on the pin (and that might damage your camera). Other problem can be the level of the signal from the camera. Arduinos can only take that 3.3V / 5V on their pins; if the camera's signal is e.g 6V you risk to fry the Arduino.

A transistor or optocoupler circuit between the Arduino and the camera is very advisable.

sterretje:
A transistor or optocoupler circuit between the Arduino and the camera is very advisable.

Avoiding the pitfalls right there! As you point it out it, seems quite natural - a poof of smoke on either end would probably have had me enraged me for being that careless. Thanks!

I cannot and will not give concrete advice in this early stage of your project.

First of all you should collect the data sheets of the peripherals (LED, shutter), required for the selection of the appropriate power supply and hardware for driving everything. Then decide how to wire all that together, and make it work with push buttons, if possible. You may have to experiment with various ways of bringing power to the LEDs, so that the cables and connectors will allow to install everything in the right place, for taking photos in a real world environment. With an inappropriate design you may have to follow the cables later, in order to find the small controller box, that moves around whenever somebody steps on a cable.

Similarly you can produce a prototype of the user interface, using a touch(?) screen and/or switches. Which amount of information should fit onto the display, i.e. how big should it be? Monochrome or color?

The choice of the controller also is yours. Do you want a small hand held controller, or a control panel including power supplies, mains switch, and other swtiches and indicators? Or both, with the controller box attached by a flexible cable or wireless (BT/IR)?

DrDiettrich:
I cannot and will not give concrete advice in this early stage of your project.

You're right. I got a little carried away until I realized that all parameters (number of lights, dimming option, sequence order, etc.) are up to trial and error first hand. I've spent some coins at the electronics store the other day and got myself a rather simple setup with manual switches just to get started.

Now that I know that the final automation of the process will be feasible with an arduino solution, I'll spend some time prototyping the lighting setup itself.

I would upload a picture of it, but I don't dare because it looks like kind of redneck since i forgot to buy a housing for the switches and recycled a blister pack instead :sweat_smile:

Thanks for your help so far - i will keep you posted on the progress, maybe that remote trigger voltage I'm about to find out can help someone else at some point, too...