How to control the display's backlight in the sketch?

Yes this, I'm pretty sure: the trimmer's input is 3.3V, output is LED-A pin, which probably stand for LED Anode.

So the trimmer is essentially a voltage divider feeding the backlight - not a particularly good technique for implementing an LED.

If I put a wire between LED-A (pin19) and GND (pin 1), the backlights turns OFF.

This is not a good practice, especially for some settings of the trimmer.

And to add to that: in the datasheet of the SSD1289 controller, there is not a single word about backlight...

That is because the controller is designed to deal with the presentation of information on the LCD itself and the backlight is more or less an add-on to the LCD to make that information more legible.

The trimmer is part of the shield that goes between the display and the Arduino and the apparently non-existent documentation for that shield should explain its operation and perhaps other options. By now you should have figured out why the distributors that provide good support seem to charge more for their products than those who provide minimal support.

Don

Yes this, I'm pretty sure: the trimmer's input is 3.3V, output is LED-A pin,

I agree with the other poster that this is a terrible design. The LED(s) probably suck in a lot of current. For the trimmer approach to work, its resistance has to be fairly small.

Do you know if the wiper goes to the LED or one of the terminals goes to the LED? Essentially you want to know if the trimmer is used as a variable resistor.

which probably stand for LED Anode.

Yes. That's correct.

If I put a wire between LED-A (pin19) and GND (pin 1), the backlights turns OFF.

If the trimmer is used as a divider and the wiper is at the top, you have just shorted the power supply.

I think you can use a pwm pin to power the led and software control the duty cycle. That requires some resistance on the led, and some limit on how much current the led can draw. If the timmer is wired in right, you can use it. Otherwise, you can cut the trace and wire in a resistor.

Do you know if the wiper goes to the LED or one of the terminals goes to the LED? Essentially you want to know if the trimmer is used as a variable resistor.

The wiper goes to the LED. It's shown right there in his original post.

If the trimmer is used as a divider and the wiper is at the top, you have just shorted the power supply.

And you probably burned out the trimmer just before you got to the top. But it does indeed turn the backlight off, either way!

That requires some resistance on the led ...

Which should be present in any design including one using the unmodified shield. There may be one on the PC board that holds the LCD, but don't count on it.

If the timmer is wired in right, you can use it. Otherwise, you can cut the trace and wire in a resistor.

That is essentially what he proposed in his original post except he planned to remove the trimmer instead of cutting traces.

Don

EDIT: Wouldn't he be better off leaving the trimmer in place, cutting the trace between the top (right hand end) of the trimmer and the 3.3v pin, and moving his resistor connection over from the wiper to the top of the trimmer?

Wouldn't he be better off leaving the trimmer in place, cutting the trace between the top (right hand end) of the trimmer and the 3.3v pin, and moving his resistor connection over from the wiper to the top of the trimmer?

I would actually cut the trace and put in a resistor.

Another approach that requires minimum pcb work is to lift the underside of that trimmer, and connect it to the pwm output. The led is the dimmest when the trimmer is in the middle. This approach may not work if the trimmer's value is too small.

OK guys I think I understood what you said :slight_smile: I think I will just remove the trimmer anyway, since I don't need both PWM and manual control.

But I'm confused: do I really need a resistor if I limit the PWM output to 3.3v (as in my code) ? Knowing that:

  • The 3.3V pin is rated 40mA max, same as the PWM outputs,
  • When the trimmer is "fully open", there is no resistor between the 3.3V pin and LED-A pin.

So I think I don't even need to add a resistor!

Sorry, I'm still newb to electronics :slight_smile:

do I really need a resistor if I limit the PWM output to 3.3v (as in my code)

You can't limit the output to 3V3 in software. PWM is always a 5V signal, it is just the on / off ratio that changes.
See this for how it works:-
http://www.thebox.myzen.co.uk/Tutorial/PWM.html

You always need a current limiting device when using an LED and a resistor is the simplest one you can have. Anyone who tells you different is wrong.

The 3.3V pin is rated 40mA max, same as the PWM outputs

That is a the absolute maximum permitted value and you really shouldn't operate there. There are other restrictions as well depending on what is going on at the other port pins.

When the trimmer is "fully open", there is no resistor between the 3.3V pin and LED-A pin.

That is a poor design especially if there is no current limiting resistor on the display PC board.

So I think I don't even need to add a resistor!

It's your display and Arduino that are at risk. I wouldn't do it.

Don

You always need a current limiting device when using an LED and a resistor is the simplest one you can have. Anyone who tells you different is wrong.

I was going to say the same thing but then I figured that someone would point out the exception, which would be if one happened to be using a current limiting supply. Even then the resistor wouldn't hurt anything.

I agree - you should always use a current limiting resistor.

Don

which would be if one happened to be using a current limiting supply.

This is covered by the "current limiting device " part of my statement. :slight_smile:

Oops - I missed that.

Don

But I'm confused: do I really need a resistor if I limit the PWM output to 3.3v (as in my code) ?

PWM 3.3v only means that the arduino is outputing 5v 3.3v/5v = 66% of the time, and 0v 33% of the time.

However, the answer to your question is yes and no.

Yes, you need a resistor for a proper design.

No, you don't need a resistor as the pin's internal limitations in its current capabilities serve as a "resistor", and the diodes are one of those electronic devices that can take a lot of abuses temporarily.

I would put one in myself. But I would encourage you to experiment by not putting one in just to see for yourself.

In case you are asking, I have shorted avr's output pins (when outputting a logic 1) without damaging any.

guix:
So I think I don't even need to add a resistor!
Sorry, I'm still newb to electronics :slight_smile:

Why do they always fight "the resistor"?
Why resist?
Is it "the expense"?

Okay but here: http://arduino.cc/en/Tutorial/PWM

I can read:

This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) [...] The result is as if the signal is a steady voltage between 0 and 5v controlling the brightness of the LED.

So I supposed, limiting the PWM as in my code, will output a steady 3.3V. :zipper_mouth_face: Then, I used a led resistor calculator (the parallel calculator, since I suppose the LEDs of my display are mounted parallel)... which tell me that I need a resistor of 1 Ohm (AKA: I don't even need a resistor), when the input voltage is the same as the forward voltage of the LED, and doesn't matter how much current I enter as the "desired LED current".

Guys, I'm lost...

Why do they always fight "the resistor"?
Why resist?
Is it "the expense"?

I don't, in fact I planned to add a resistor since the first post. I'm just wondering why I need one when a calculator tell me otherwise.

Put simply, I don't see what is the difference between these two:

PWM 66%  ---------> LEDs
PWM 100% ---[R]---> LEDs

when the input voltage is the same as the forward voltage of the LED

But that's the wrong assumption.

If you look at the page you linked to, the pwm waveform has a voltage output of either 5v or 0v, at any given point. If you were to held a steady 5v to your 3.3v led, it would have burned out quickly.

What pwm is doing to leds is to turn on the leds, abusively at 5v, quickly. Because of pov, the led looks dimmer when the duty cycle goes down.

The nice thing about diodes is that they are very good at taking high peak current for a short period of time - sometimes 100x or 200x of their rated current.

when the input voltage is the same as the forward voltage of the LED

In addition to everything in the previous post you have to also understand that:

(1) You do not know what the forward voltage of the LED might be.
(2) Even if you determine what it is for one diode under one particular set of circumstances it would be different ...
(a) for a different diode under the same circumstances.
(b) for the same diode under different circumstances.
(c) for a different diode under different circumstances.

In other words - if you to try to design a circuit to drive an LED with some specific voltage you are doomed to failure.

Did you ever consider why it takes so long to earn an Engineering degree?

Don

Did you ever consider why it takes so long to earn an Engineering degree?

Ouch. That's harsh.

Why do they always fight "the resistor"?

Nothing says that you have to have resistors. All you need to know is why you may need resistors and what risks you are running without resistors, so that you can make an informed decision.

Ok, another try (before I give up :))

In this exact situation (for now, I don't need to know in other circumstances..), let's say my multimeter show: 20 mA

3.3V, 20 mA, no resistor between Arduino's 3.3v pin and LED-A pin. There may be a resistor between LED-A pin and LEDs, or not, I don't care.

So for 5V, using a PWM output instead of the trimmer, I would just need to add a resistor of value (5-3.3) / 0.02A = 85 Ohm, between the PWM output and LED-A pin.

Am I wrong once again?

I've attached what looks like info on that shield including datasheets, manuals, library, and example code.

I found more than one document so I attached them both. Some are different, some are the same.

ITDB02_Graph16.rar (1.4 MB)

32lcd.zip (1.06 MB)

codlink, thanks for trying to help but I already have those documents: there is nothing in them, about backlight :slight_smile: