From: Aragon G. <ar...@ph...> - 2004-02-15 10:56:13
|
I'm really glad you like my idea. :) However, I'm having difficulty figuring out how your idea will work with the resistors? Here's my idea. These are the output control lines I'm currently using on my parallel port: 1 -> 44780 Strobe (6) 14 -> 44780 R/W (5) 16 -> 44780 R/S (4) 17 -> LCD backlight transistor switch Instead of using pin 17 for a 1 bit operation, I'm going to use it to strobe a pair of CD4514s. Each CD4514 can take 4-bits of binary input, so I'm going have one connected to bits 0-3 of the parallel port's i/o lines, and the other connected to bits 4-7. They will share I/O lines with the LCD display, but the CD4514 pair will be strobed independantly of the display. This is the same way a 40x4 display is addressed. It also means that addressing the CD4514s will require one dedicated time cycle of I/O (which the LCD would not get). This is fine considering the frequency at which the CD4514s will be typically addressed. The CD4514s have a built in latch, in case anyone is wondering what happens when the I/O and strobe disapears from the 4514s inputs. :) Googling for CD4514 will get you a PDF spec sheet on them if you want to see more. So what will this achieve? Well, it will give you 32 switchable channels that can be controlled from software. You could have 16 of these providing 16 levels of backlight brightness, and another 16 performing other switching operations (panel LEDs, relays, etc. etc.). It really adds a huge level of flexibility. You could hook up a relay to cut your PCs power if you so wanted! If you really wanted to go crazy, the 4514s could be wired up more efficiently to provide 256 (!) switchable channels. The only downside is that each 4514 will require its own time cycle for addressing it - more complex and cpu intensive when it comes down to programming. IMHO this would be overkill, but that's just me. :) Well I'm going to be giving this a try soon, depending on how much time I can scavage from work. I might need help on the programming side as my C skills are very much in their infancy. Regards, Aragon | By Michael Reinelt <re...@eu...> | [ 2004-02-15 08:47 +0200 ] > > Hi Aragon, > > >I've seen lcd4linux's GPO system and example on the page. I'm trying to > >find the right circuitry that must work similarly to the example on the > >page, but provide analog output. More specifically, I'd like to control > >backlight intensity using a GPO by converting 3 bits of the binary data to > >8 voltage variations to the backlight LED. > > First, I think this is a good idea. > > I'm planning to include code for software-controlled backlight like for > a circuit like this: http://www.jalcds.de/images/4x20backlight.gif > > But there is no intensity, just switch on/off > > If you want intensity, I'd try thw following: > > use the diode 1N4148, the resistor 150 Ohm and the transistor BD135 > three times. > > the 100 Ohm petentiometer should be replaced by a resistor, it's value > should be different for all three transistors, and show some binary > scheme (e.g. 100 - 220 - 470). The output of all three resistors would > be connected together on Pin 16 of the LCD. > > I know that there may be cleaner solutions.... > > bye, michael > > -- > Michael Reinelt Tel: +43 676 3079941 > Geisslergasse 4 Fax: +43 316 692343 > A-8045 Graz, Austria e-mail: re...@eu... |