Skip to main content

Automating the Darkroom Part 2: The User Interface

User Interface

The next step was to prototype the user interface and code to drive the enlarger. The display is 320x240 pixels in size so I broke it down to a 4x3 matrix of blocks 80x80 pixels. This was to keep the interface simple. I could then define these blocks as buttons with labels. A series of menus would be arranged as 'pages' with a 'next' key to page to each new page. The pages I decided would be...

  • Manual Operation
  • Split Filter Automatic
  • Develop Timers
  • Paper Flashing
I designed the pages using Excel. The current versions are shown below which are photographs of the actual screen. (The colors are actually black and red.) The software is easy to change and as I use the system I find small improvements and change the way it operates. In general the exposure timers are set in quarter stop increments as a trade-off between resolution and making changes happen quickly. (RH Designs boasts 1/4th stop exposures and I could support these timings as well.) The limits of the exposures is 4 seconds to 256 seconds. I use f-stop timings for all my work because it makes it easier to judge changes.

The first page is for manual control. I can turn the enlarger lamp on and off and select filters. F-stops on the lens are still adjusted manually. The exposure timer is set here and a timed exposure can be started as well. The timed exposure can be halted by pressing start again. The timed exposure operates the enlarger lamp.

A Test button starts a test strip interval from 8 seconds to 64 seconds in 1/2 stop increments. A beep sounds at each half stop interval to prompt the user to cover the test strip. The Timer displays the current exposure so one can judge progress.
The next page is the automatic split filter menu. Separate timers may be set in quarter stop increments for hard and soft contrast filters. Pressing Start begins a sequence where the hard filter is selected, then the enlarger lamp is switched on for the time set in the hard filter timer. It is then switched off, the soft filter is selected and the enlarger lamp is switched on for the time set in the soft filter timer and then switched off. The stop button can be used to halt the process if needed. A manual start performs the same sequence except the sequence stops while the user selects,the filters manually (above the lens).
The next page is one used to time development of the paper. This wasn't in my original plans however it became clear how easy it was to program timers and this would allow only one device in the darkroom for all the work. It works simply as a series of pre-programmed timers based on the times I use for RC and FB paper. Pressing each button invokes each timer which counts down using a click to mark each second. A beep marks the end of the period. Pressing the button again halts the timer early.  

Finally I wanted to include the ability to flash paper. Normally I used the enlarger as the flash light source. This is troublesome as the negative must be removed to flash the paper. Once again RH Designs has a solution but at something like $100 it is pretty expensive. Since the operation is merely timing a light it fits easily into the exposure mission of the Arduino.

There is again a timer window along with buttons to increase and decrease the time. This is expressed in seconds. The flash LED can be turned on and off manually. The start button turns on the LED and starts rhe countdown, the LED is turned off after the countdown. A test strip mode gives beeps at one second intervals which prompt the operator to cover the test strip a little more at each beep.

Comments

Unknown said…
Have you used any filters on the LCD in order to make it darkroom safe? Is using an interface of a specific color enough for this?

Great project and great blog btw, I'm binging through all your posts :).
MorseBlog said…
Yes I was worried that there was light leaking through the LCD as they do this. I suspect it is low level enough to not worry about. I bought some red gel sheeting and used this. Fortunately it does not impact the touchscreen functionality.