This post is for smusante
in reply to his PM to me. I posted here rather than answering the PM so that others may make use of the info.
I saw your post about the way you hooked up the Optrex DMC20261 display. I have one of these and cannot make it work like all of my other displays. Could you post on how you hooked it up, what library you use, and what voltage level it needs? I can only get a backlit screen. No characters show up no matter where I turn the 1K pot. I am using the standard LiquidCrystal arduino library. I don't have this problem with my 16x2 or my 20x4 displays. I'm stumped.
Steve, the newer Optrex displays require a NEGATIVE VEE supply. In the past, they worked properly with the VEE pin tied to ground. Now they require about -3.5 volts. Here is a circuit that I used to generate the negative VEE supply using an Arduino PWM output (it MUST be a PWM pin).
Use this circuit, then set the PWM pin to analogWrite(pin, 127)
to generate a 50% duty cycle square wave to drive the inverter. If the LCD display ends up too dark (i.e. too much contrast), you can decrease the negative voltage by using a smaller value on the PWM pin (i.e. analogWrite(pin, 64)
). Use any value between 0 and 127 to get the contrast you want. Going above 127 is pointless since 128 to 255 is equivalent to 127...0. (edit to add)
: Capacitor values are not critical. 1uF to 100uf will work equally well. The diodes are not critical either. They can be 1N4148, 1N914, even 1N4001. The resistor isn't critical either (maybe not even necessary). I used it to limit the current surge on the AVR pin when the circuit is first powered up and the caps are discharged. You can probably get away without it.