Backlight control?

Anyone know if it’s possible to control the backlight on the Cobra in software? I saw a backlight property in the utility class (I think), but it doesn’t seem to do anything.

I was hoping there might be a property where I could assign a percent or something. That way, I could have my backlight fade in and out at certain times with my clock application.

On the 2 2x16 LCD shield the backlight was controlled via a PWM capable pin so rather than just turning the pin on/off (hi/low) I changed it to a PWM and could control the brightness.

Looking at the LCD docs: http://www.tinyclr.com/downloads/Cobra/FEZ%20Cobra_sch.pdf , on page 4 it shows four connections for the backlight pins 1&2 are the - side and pins 3&4 are the +side. The Domino schematic: http://www.tinyclr.com/downloads/Cobra/FEZ%20Cobra_sch.pdf, on the right side you can see what pins the backlight connects to on the processor module.

It does not look like any of those pins are PWM capable but it would take digging through the EMX module docs to know for sure.

It appears that the led backlight power for the 4.3 and 3.5 screens is generated on the adapter board. The smaller screen uses 6 LEDs in series for the backlight.

There are some pins that might be used for intensity control, but they are not put on the cable to the cobra.

There is a pad tat you can wire to cobra to control the light. Not sure if we tested it though. I will get back to you on this

bump. I’m very interested in managing BL in my application so I’d love to know before I buy.

Thanks for bumping it, Brett. I am also waiting for an answer.

You can see it in the schematics of the display extension

On JP2 there is a low-active pin which is named SHDN#

A low-level on this pin swiych off the LED’s on the display and vice versa.

Actually it is the ADJ pin:)

I have just connected this pin to PWM5 to double check and I can adjust the back-light level to anything I like now!

Here is the sample code

public static void Main()
        {
            // Blink board LED

            bool ledState = false;
            PWM bl = new PWM((PWM.Pin)FEZ_Pin.PWM.PWM5);
            byte i = 1;
            while (true)
            {
                bl.Set(3000, i++);
                if (i > 99)
                    i = 1;
                Thread.Sleep(10);
            }
}

hmm , the schematics of the LED circuit is different than the schematics from Linear Technology :frowning:

I take a look into the manual of the LT1932 and it is described as

SHDN (Pin 5): Shutdown Pin. Tie this pin higher than
0.85V to turn on the LT1932; tie below 0.25V to turn it off.

I do not know where the schematics came from but I know it works :slight_smile:

Thanks for the answer, Gus. I think for now, though, I’ll leave my cobra unmodified. BUT it’s nice to know that it can be adjusted :slight_smile:

is there any description of what those pads are for on the display adapter, besides this ?

edit:

schematics show that SHDN and ADJ are the only real pads of interest. For on/off control you can use SHDN, and for variable backlight you can pipe a PWM value to ADJ as Gus’ code does.

Now all I need to do is justify sticking the soldering iron onto the $50 board with a $100 screen on it ??? :o and figure out the “nicest” way to make it connectable back to Cobra

Has anyone hooked up the SHDN and ADJ pins of the LCD to their Cobra?

Any tips regarding which outputs on the Cobra should be used, and whether any buffering is required?

Thanks.

You can use any pin and connect it directly.