Is there a LCD driver/controller chip?

I want to build a system using 1602 LCD, I am kind of leaning towards NOT using shifter registers type of driver. Any suggestions would be greatly appreciated.

Thanks

Are you trying to save the number of pins needed for the LCD as the Arduino IDE supports most LCD modules using the LiquidCrystal library. I think the library supports both 8 bit and 4 bit data bus modes so you would need 11 or 7 arduino pins depending on bus width you choose.
You can get modules to solder onto back of existing LCD's or buy new LCD's with modules that use different protocol to talk to LCD. These are primarily use to reduce the number of arduino pins required down to 2 (Serial, I2C) or 3 (SPI).

Thanks for you reply, appreciate it.

I am trying to build a water drop/high speed photography system with a lot of IOs and MOSFETs, so yes, I have only few IO pins left (namely A3 - A6, all PWM pins)

I have seen controllers that uses shifter register and use LCD's 4bit mode. I sorta don't like it, but if no choice, I will take that approach.

I have only few IO pins left (namely A3 - A6, all PWM pins)

The fact that they are called PWM pins means that they can be used for PWM it doesn't mean that they have to be used for PWM. As far as the microcontroller is concerned they are everyday run-of-the-mill I/O pins just like all of the other I/O pins.

Since you only have four pins available and the 4-bit LCD interface requires six pins you will have to use some sort of serial approach. A shift register is one option, I2C, SPI, and the TTL version of RS232 serial are others. In any case you will need a software implementation of the protocol unless you can shift the signals that are currently on the dedicated I2C, SPI or serial pins to the available 'analog' pins.

Don

mjkzz:
I have seen controllers that uses shifter register and use LCD's 4bit mode. I sorta don't like it, but if no choice, I will take that approach.

Sparkfun do a serial enabled 16x2 LCD here that would only need 2 arduino pins and either the Software serial library or hardware serial if your not using it to talk to anything else.

I sorta don't like it, ...

What exactly don't you like?

Don

floresta:

I sorta don't like it, ...

What exactly don't you like?

Don

No, nothing, just that it is a "hacked" way of doing thing, very clever. However, looks like I have to do it that way to save money :slight_smile:

Riva:

mjkzz:
I have seen controllers that uses shifter register and use LCD's 4bit mode. I sorta don't like it, but if no choice, I will take that approach.

Sparkfun do a serial enabled 16x2 LCD here that would only need 2 arduino pins and either the Software serial library or hardware serial if your not using it to talk to anything else.

Yeah, I took a look at that item, great stuff, but a bit expensive, plus I am not in US now, so it will be even more expensive. Thanks for the tip.

You can buy an inexpensive ST7920-based 128x64 graphic LCD from eBay, and drive it using just 2 Arduino pins (one of which can typically be shared with other output devices).

I bought some of these http://www.ebay.com/itm/5V-IIC-I2C-TWI-1602-2004-Serial-LCD-Module-Display-Adjust-Adapter-For-Arduino-/390545994871?pt=LH_DefaultDomain_0&hash=item5aee5af477, they work fine on my 1602 & 2004 LCDs. Two wires A5&A6 that you have free.
TomJ

mjkzz:
Yeah, I took a look at that item, great stuff, but a bit expensive, plus I am not in US now, so it will be even more expensive. Thanks for the tip.

Not sure where in the world you are buy eBay is a very good place to look as others have stated. For me in the UK I could get this to put on back of an existing LCD or this that seems to include the LCD for less than half the SparkFun price.

I think I have to go the "shift" register way, like Tumbleweed's and Riva's link, but I have to build it into my board. :slight_smile: Thanks guys.

Found the chip from another thread: PCF8574

The part you listed is $1.91 singly at Digikey, the completed board was $1.49 free shipping on E-Bay, thought you were being frugal? I guess I don't understand what you are doing. Good luck.
TomJ

Wouldn't it be better to get a MEGA 2560 for such a project?

mjkzz:
I think I have to go the "shift" register way, like Tumbleweed's and Riva's link, but I have to build it into my board. :slight_smile: Thanks guys.

Found the chip from another thread: PCF8574

The PCF8574 is an i2c i/o expander. That is not really called a "shift register"
When people refer to a shift register, often they are refering to parts like the 74hc595
which is considerably cheaper and much faster than the PCF8574.
That said, i2c might be a better option
since it is a bus and multiple devices can be attached to it so you can effective share the 2 arduino
pins across multiple devices (i.e. multiple lcds, multiple sensors, etc...)

For i2c you don't really have to build it into your board, you could use a pre-built hd44780 backpack
or pre attached backpack like Riva showed. They are fairly inexpensive.

Eventually you will need a library. I recommend this one:
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
As it has been extensively tested and it supports multiple interfaces (4bit, shift register, i2c)
and it can support any wiring of the pins since the constructors allow pin configuration.

--- bill