1645120629 How to build your own DIY UV exposure box for
Posted in News
17/02/2022

How to build your own DIY UV exposure box for when the sun won’t shine

uv exposure

I was always told: if you have to do something, do it with your own style! So here is my Italian style UV box to expose the papers coated with antique photographic processes.

At the origin of photography, many technologies of printing required exposure in UV light. In those times, the sun was the perfect source and the exposure was usually made outdoor. But the quantity of UV light from the sun can vary a lot in different seasons or with different weather. Plus, baby it’s cold outside now in winter! For this reason, I decided to build a UV Box.

I was inspired by some similar projects videos on YouTube but I added a personal touch. First of all, I used an old wood box for wine bottles instead of a modern plastic box. The wood box was in my cellar, free, and wood looks better and more coherent than plastic with old techniques. Second I decided to add a timer for a precise exposure instead of counting the seconds with an external timer and manually switching the lights on and off.

1645120626 230 How to build your own DIY UV exposure box for

Check out the video to know more about the UV Box and see how it works.

I used very common components that are easy to buy online:

The 5V lines are derived from the 12V Power Supply with the Stepdown Converter. The relays are on the 12V power supply going to the LED strips and have the green LED in parallel.

Here is the scheme of the circuit:

And here the code I wrote for the timer:

 

#include <LiquidCrystal.h>
#include "Countimer.h"
#include <EEPROM.h>
Countimer tdown;
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);


#define bt_set    A0
#define bt_up     A1
#define bt_down   A2
#define bt_start  A3
#define bt_full   A4
#define LCD_CONTRAST_PIN 11
#define relON LOW
#define relOFF HIGH

int time_s = 0;
int time_m = 0;
int time_h = 0;
int set = 0;
int flag1=0, flag2=0;
int relay = 8;
int relay2 = 9;
int buzzer = A5;
int power = 0;
int contrast = 0;


void setup() {
Serial.begin (9600);
//set some defaults


pinMode(bt_set,   INPUT_PULLUP);
pinMode(bt_up,    INPUT_PULLUP);
pinMode(bt_down,  INPUT_PULLUP);
pinMode(bt_start, INPUT_PULLUP);
pinMode(bt_full,  INPUT_PULLUP);

pinMode(relay, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(buzzer, OUTPUT);

lcd.begin(16, 2);
analogWrite(LCD_CONTRAST_PIN, contrast); //set some contrast
lcd.clear();
lcd.setCursor(0,0);
lcd.print("   Welcome To   ");
lcd.setCursor(0,1);
lcd.print(" LB's Drunk UV Box ");
tdown.setInterval(print_time, 999);
eeprom_read();
delay(4000);
lcd.clear();
}

void print_time(){
time_s = time_s-1;
if(time_s<0){time_s=59; time_m = time_m-1;}
if(time_m<0){time_m=59; time_h = time_h-1;}
}

void tdownComplete(){
  lcd.setCursor(0,1);
  lcd.print("  Done  ");
  delay(3000);
  lcd.clear();}
 

void loop(){
tdown.run();

//read power
if(digitalRead (bt_full) == 0){power=1;}
if(digitalRead (bt_full) == 1){power=0;}

if(digitalRead (bt_set) == 0){
if(flag1==0 && flag2==0){flag1=1;
set = set+1;
if(set>4){set=0;}
delay(100); 
}
}else{flag1=0;}

if(digitalRead (bt_up) == 0){
if(set==0){tdown.start(); flag2=1;}
if(set==1){time_s++;}
if(set==2){time_m++;}
if(set==3){time_h++;}
if(set==4){ if(contrast < 254){contrast=contrast+1; analogWrite(LCD_CONTRAST_PIN, contrast);} if (contrast >= 254){contrast=254;};}
if(time_s>59){time_s=0;}
if(time_m>59){time_m=0;}
if(time_h>99){time_h=0;}
if(set>0){eeprom_write();} //EEPROM.write(addrCon, contrast); EEPROM.write(addrLum, luminosity);
delay(200); 
}

if(digitalRead (bt_down) == 0){
if(set==0){tdown.stop(); flag2=0;}
if(set==1){time_s--;}
if(set==2){time_m--;}
if(set==3){time_h--;}
if(set==4){ if(contrast > 0){contrast=contrast-1; analogWrite(LCD_CONTRAST_PIN, contrast);} if (contrast <= 0){contrast=0;};}
if(time_s<0){time_s=59;}
if(time_m<0){time_m=59;}
if(time_h<0){time_h=99;}
if(set>0){eeprom_write();} // EEPROM.write(addrCon, contrast); EEPROM.write(addrLum, luminosity);
delay(200); 
}

if(digitalRead (bt_start) == 0)
  {if(set==0){{ flag2=1; 
  eeprom_read(); 
  if(power == 0){
  digitalWrite(relay, relON);
  digitalWrite(relay2, relOFF);}
else {
   digitalWrite(relay, relON);
   digitalWrite(relay2, relON);}

  tdown.restart(); 
  tdown.start();
}}
  else {set=0;
  }
}

lcd.setCursor(0,0);
if(set==0){
  if(power==1){lcd.print("PW full    Timer");}
  if(power==0){lcd.print("PW half    Timer");}
}
if(set==1){lcd.print("  Set Timer SS  ");}
if(set==2){lcd.print("  Set Timer MM  ");}
if(set==3){lcd.print("  Set Timer HH  ");}
if(set==4){lcd.print("  Contrast:  " + String(contrast)+"  ");}
lcd.setCursor(8,1);
if(time_h<=9){lcd.print("0");}
lcd.print(time_h);
lcd.print(":");
if(time_m<=9){lcd.print("0");}
lcd.print(time_m);
lcd.print(":");
if(time_s<=9){lcd.print("0");}
lcd.print(time_s);
lcd.print("   ");

if(time_s==0 && time_m==0 && time_h==0 && flag2==1){flag2=0;
    tdown.stop(); 
    digitalWrite(relay, relOFF);
    digitalWrite(relay2, relOFF);
    digitalWrite(buzzer, HIGH);
    delay(300);
    digitalWrite(buzzer, LOW);
    delay(200);
    digitalWrite(buzzer, HIGH);
    delay(300);
    digitalWrite(buzzer, LOW);
    delay(200);
    digitalWrite(buzzer, HIGH);
    delay(300);
    digitalWrite(buzzer, LOW);
    tdownComplete();
    eeprom_read();
}

if(flag2==1){
    if (power == 1){digitalWrite (relay, relON); digitalWrite(relay2, relON);}
    else {digitalWrite (relay, relON); digitalWrite(relay2, relOFF);}
    }
else{digitalWrite(relay, relOFF);
     digitalWrite(relay2, relOFF);}

delay(1);
}

void eeprom_write(){
    EEPROM.write(1, time_s);  
    EEPROM.write(2, time_m);  
    EEPROM.write(3, time_h);  
}

void eeprom_read(){
    time_s =  EEPROM.read(1);
    time_m =  EEPROM.read(2);
    time_h =  EEPROM.read(3);
}

As you can see, it is easy to build. It just requires some electronics & programming skills and a lot of patience. Buying a full 6 bottles box and drinking them during the building can help the morale, but I’m not sure about the results!

About the Author

Italian born Luigi Barbano is a professional photographer since 1994, artist and author. He has written and published numerous photographic books, the most recent “Photography: The f Manual“. You can find out more about Luigi and all of his books on his website. This article was also published here and shared with permission.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.