Arduino AIO Darkroom Timer

Mansion

A
Mansion

  • 0
  • 0
  • 0
Lake

A
Lake

  • 0
  • 0
  • 0
One cloud, four windmills

D
One cloud, four windmills

  • 0
  • 0
  • 7
Priorities #2

D
Priorities #2

  • 0
  • 0
  • 6
Priorities

D
Priorities

  • 0
  • 0
  • 7

Forum statistics

Threads
199,015
Messages
2,784,647
Members
99,772
Latest member
samiams
Recent bookmarks
0

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
23,115
Location
Europe
Format
Multi Format
You're welcome :smile: The LCD should work with the backpack added to it. Keep in mind it needs to be soldered onto the LCD. I've seen people just 'plugging' it in with pin headers, expecting it to work that way.
 

albada

Subscriber
Joined
Apr 10, 2008
Messages
2,175
Location
Escondido, C
Format
35mm RF
Just to add my 2cts to this one: I've also searched for a bit for something like this, but 20x4 is a bit less common than 16x2 to begin with, and we tend to get them in only a few default color schemes. For my enlarger controller I ended up picking any old black-text-on-white-background 20x4 LCD and modify it with a custom backlight. It turns out that the backlight is generally one or two blue or white LEDs that shine into the narrow sides of the LCD itself. Replace these with any color you like, or even RGB LEDs. If you want to go fancy, you can even add a little pwm module (just a small signal mosfet and two resistors, basically) to make the backlight dimmable from one of the Arduino's pwm pins.

I'll add that LCD modules have two types:
Transflective - the background glows and the letters are black.​
Transmissive - The background is black and the letters glow.​

Get a transmissive module! Glowing letters emit less light into your darkroom than a glowing background because letters have less surface-area.

Mark
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
23,115
Location
Europe
Format
Multi Format
@albada I think the transflective ones are more common, though. I haven't bought LCD's in a while to be honest...
I'm also not sure if the transmissive ones are as easy to hack in the way I described. They do look nicer overall, but back when I was doing my enlarger project, I couldn't find any in the dimensions I was looking for.

I did consider just using an ePaper display and shine a little light onto it, but the refresh rate was bothering me. Later on I did a project that confirmed that an ePaper would be too slow for this (even using partial refresh). Let's hope they speed up a little, as they would be quite nice for darkroom work.
 

snusmumriken

Subscriber
Joined
Jul 22, 2021
Messages
2,512
Location
Salisbury, UK
Format
35mm
I hadn’t noticed this thread before today. Having a little experience of designing Arduino gadgetry during my career in wildlife biology, I had often considered building a timer/light controller. Reckoned it might even get me into f-stop printing. Seeing the fate of this thread, I feel quite glad I didn’t bother! I get on fine with a Soviet-era Czech clockwork enlarger timer. 😁
 
Last edited:

alanbradford

Subscriber
Joined
Aug 30, 2010
Messages
214
Location
Switzerland
Format
Medium Format
OK - Finally got the rotary encoder and can confirm that the changes Koraks suggested to the original code (above) work perfectly and without any issues I have seen so far. Photo of finished device attached. Thanks so much Koraks!
 

Attachments

  • IMG_4040.JPG
    IMG_4040.JPG
    180.4 KB · Views: 142

Olivierbl

Member
Joined
Mar 28, 2023
Messages
6
Location
FRANCE
Format
35mm
Hello,
I tried to built this project but i have some errors.
I used an Arduino Uno (no generic or clone)
I used the arduino librairy :
- LiquidCrystal (1.1.1 and 1.1.2) from Frank de Brabander
- Keypad from Mark Stanley (3.1.1)

I changed the arduino code like "Koraks" said. I changed the line 56 by the following command :
LiquidCrystal_I2C lcd(0x27,20,4);
and also i replaced the line "186" by lcd.init();
I removed the line :
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);

I followed the connection between all composant with the PDF schema and it's correct.

But my problem is my LCD, no menu display, LCD flashe every one second.

I tried with an example to display "Hello World" on the LCD and it's working, but when i put the code in arduino, LCD flashe

I don't understand...

@alanbradford how do you create your project ? can you share the code ?

Thank you
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
23,115
Location
Europe
Format
Multi Format
LCD flashe every one second.

Can you describe in more detail what you mean?
Does the backlight flash every second? Or is there some kind of text or symbols on the LCD that appear briefly? If so, what exactly?
By flashing every second, do you mean something is 'on' for a second and then 'off' for a second? Or does something briefly blink every second?
Perhaps a photo might help.
 

Olivierbl

Member
Joined
Mar 28, 2023
Messages
6
Location
FRANCE
Format
35mm
Can you describe in more detail what you mean?
Does the backlight flash every second? Or is there some kind of text or symbols on the LCD that appear briefly? If so, what exactly?
By flashing every second, do you mean something is 'on' for a second and then 'off' for a second? Or does something briefly blink every second?
Perhaps a photo might help.

Thanks Koraks for your help and answer.
No letter appears on the LCD, all blocks blynk every second
in below two photos.
1.png


2.png


And if load the following program it's working:
#include <Math.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
lcd.init();
lcd.setBacklight(HIGH);
lcd.home();
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Hello World");
lcd.setCursor(0,1);
lcd.print("Olivier");
lcd.setCursor(0,2);
lcd.print("DARKROOM Olivier");
lcd.setCursor(0,3);
lcd.print("Leica iiiG");
}

3.png
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
23,115
Location
Europe
Format
Multi Format
Thanks, that's much clearer. Could you upload the full code of the darkroom timer sketch as you've used it (unsuccessfully so far) in your device? My expectation is that there's a minor error somewhere in the first part of the code, in the constructor for the LCD object or in the setup routine.
 

Olivierbl

Member
Joined
Mar 28, 2023
Messages
6
Location
FRANCE
Format
35mm
Thanks, that's much clearer. Could you upload the full code of the darkroom timer sketch as you've used it (unsuccessfully so far) in your device? My expectation is that there's a minor error somewhere in the first part of the code, in the constructor for the LCD object or in the setup routine.

This is the code that i used.
It's the same like the original but with your recommandation to change 2 lines.
Thanks very much
 

Attachments

  • DarkroomTimer_v1_1_1-Olivier.ino.txt
    42.1 KB · Views: 111

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
23,115
Location
Europe
Format
Multi Format
I can see no problem with the code on a quick inspection, but I suspect something else is amiss.

Can you disconnect the relay module from your project and then run the same code again? Disconnect everything related to the relays; power supply lines as well as control/gpio pin lines. See how it runs that way. I have a suspicion you have a power supply issue, resulting in your Arduino being stuck in a reboot loop.
 

Olivierbl

Member
Joined
Mar 28, 2023
Messages
6
Location
FRANCE
Format
35mm
I unplug the relay module but same problem.

On the void setup option, i comment the line from 195 to 219
(
//Setups the rotary encoder for interrupt -->
safelightState = HIGH; //turn safelight on on start - just change this at initiation )

My LCD not blynk and i can see now the menu, as i comment some variable or instruction, the programm doesn't work
 

Olivierbl

Member
Joined
Mar 28, 2023
Messages
6
Location
FRANCE
Format
35mm
OHHHHH i think i found my problem !!!
I comment the session
//Setup for push switchs on pin 13 and 15

This section is for interrupt and maybe i have some error on my connection with the switch.
 

alanbradford

Subscriber
Joined
Aug 30, 2010
Messages
214
Location
Switzerland
Format
Medium Format
Only just seen this - Here is the code I use that works - Alan
 

Attachments

  • DarkroomTimer_v1.1.1-Alan.txt
    41.6 KB · Views: 125
Photrio.com contains affiliate links to products. We may receive a commission for purchases made through these links.
To read our full affiliate disclosure statement please click Here.

PHOTRIO PARTNERS EQUALLY FUNDING OUR COMMUNITY:



Ilford ADOX Freestyle Photographic Stearman Press Weldon Color Lab Blue Moon Camera & Machine
Top Bottom