Go Down

Topic: Multiple LCDs (Read 2214 times) previous topic - next topic

jasonch

I have the Uno, and I want to drive 4 LCDs with just the one board. I already saw the topic from before which included driving 4 LCDs at once (@ http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265969050), however the LCDs I'm using are rather different from the ones used in the example: I'm using the Varitronix VI-401-DP 7-Segment display, which seems to require a few dozen connections for just one. Would I still be able to drive the 4 of them with the single board, or would I need to get different LCDs?

P.S. This is my first time programming displays, and I'm still working out the kinks just in terms of the right display to get, as shown with getting the LCDs before I had settled on a microcontroller (I had a good reason at the time; I just forget what it was :smiley-roll-sweat:).

floresta

A link to the datasheet would really help.

Don

Korman

Driving these displays is very easy. Just assume each segment is a led, make one long daisy chain of shift registers like the 74hc595. You'll need one per digit, makes four per display. Depending on your requirements, you can either make one very long chain or one chain per display. If you make multiple chains, you can share data and clock lines between all displays and just have individual latch lines. For one long chain, you just need 3 pins all together.

Before doing so, check what kind of voltage and current those segments need and whether the display is a common anode or cathode type. The datasheets I found didn't say anything about that.

Korman

liudr

I think there should be 7-segment LED driver chips that do these more elegantly. Google them.

jasonch

This is the only datasheets that was provided with the LCDs I got : http://www.varitronix.com/Product/LCD/VI-401-DP(R0).pdf

I had trouble finding the voltages and other electrical characteristics for them though in the sheet. They have plenty on its physical dimensions though. They were recomended based on an earlier version of the design that I was using, before I had settled on the Uno as the brains of the device.

And @ liudr, I'm sure that there are better better ways of doing this, but I'm still learning what to look for in regards to what would be easiest to program, given my novice status in programming displays and microcontrollers.

Zapro


I have the Uno, and I want to drive 4 LCDs with just the one board. I already saw the topic from before which included driving 4 LCDs at once (@ http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265969050), however the LCDs I'm using are rather different from the ones used in the example: I'm using the Varitronix VI-401-DP 7-Segment display, which seems to require a few dozen connections for just one. Would I still be able to drive the 4 of them with the single board, or would I need to get different LCDs?

P.S. This is my first time programming displays, and I'm still working out the kinks just in terms of the right display to get, as shown with getting the LCDs before I had settled on a microcontroller (I had a good reason at the time; I just forget what it was :smiley-roll-sweat:).


You need something the AY0438, i use this in a project and it's dead easy to use it, just SPI.transfer(var); 4 times and you have updated all segments.

I don't know if you are aware of it, but this kind of raw LCD glass needs a squarewave signal on it's pins, or the contents will fade, and display will be irreversibly damaged!!!

The AY0438 and similar LCD controllers take care of this and make the signals for the glass.

I once tried controlling a display like yours with 74hc595 shift registers, to make it work, i'd have to update the 4 shift registers 20 times a second and invert all bits, so the displays sees an squarewave AC waveform.

Another possibility is a PCF8576 (I2C bus controlled)

// Per.

floresta

#6
Jun 07, 2011, 03:31 am Last Edit: Jun 07, 2011, 03:35 am by floresta Reason: 1
Quote
it works quite nicely with the arduino.


It may work nicely with the Arduino but it will be next to useless driving a LCD.

Don

EDIT:  The post to which this answer refers was removed.  It recommended an easy to use LED driver.  I guess I'll just have to quote the entire post in the future.


jasonch

I guess at this point I'm just wondering which type of display is easier to wire up and program when using multiple displays: LED or LCD? And if so, which specific one of them?

P.S. In case it matters in terms of size of display needed, 2 of the displays would be for temperature measurement near room temperature (to one decimal point), and 2 for power in the milliwatt/fraction of a watt range. What to display would come from the results of various sensors. Also, I would want to keep the display displaying the last number they showed on all 4 of them until they're refreshed on the next cycle, if possible. Preference is given to ease of programming and wiring if it's one or the other though. And it sounds like I'd need a character-orientated display, instead of the almost pixel-orientated type that I have now, if I want to display the results of sensors since it sounds easier to do that with character-orientated from a programming perspective.

focalist

#8
Jun 10, 2011, 09:11 pm Last Edit: Jun 11, 2011, 01:21 am by focalist Reason: 1
Absolutely... pixel displays are just going to be a pain, if all you need is simple text.

Personally, I would use four 16x2 character LCD's.  That gives you 16 columns and two rows of text per display.  They come in all kinds of neat colors too...



Each one has an Enable pin, which selects that LCD to be handling the information on the data bus.  The LCD's have their own memory and all the messiness, all you need to do is write the data, there's even simple Arduino libraries to handle it.  All the data lines can be connected on all the displays (I'd just use 4 bit), because only the display with the Enable active will care.  That's exactly what they were doing in that above thread, they even have code samples.  The key point is that these displays all have similar driver chips and logic onboard and interface the same way.  The software libraries take care of the rest.

Best of all, 16x2 LCD's are CHEAP.

If you don't need a backlight, around $4 each from china, $6 backlit.  If you buy them locally, you may pay as much as twice that.  Here's one from a member here, I might also try dipmicro.  These things are available anywhere.  If you need more "real estate", the displays all run the same code and wiring and can be gotten as 8x2, 16x2, 40x2, 20x4, etc.  That's columns and rows of characters, by the way.

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=160487836956&ssPageName=STRK:MEWAX:IT

That's one source for the LCD's but there are many out there.  For the LCD code:

http://arduino.cc/en/Reference/LiquidCrystal

When the testing is complete there will be... cake.

liudr

focalist,

Your picture is a bit strange. Either it's flipped vertically or it has connections below the display.

OP,
I'd say if you want 4 different numbers, following focalist's suggestion, why not getting say one of each? A green, blue, red, and other (I meant color of pixels and or back light) so you read with the color coding :)

Check this out (just for image reference, price it too high)

http://cgi.ebay.com/Character-LCD-Module-Display-LCM-162-1602-HD44780-/190370286920?pt=LH_DefaultDomain_0&hash=item2c52f40d48

Oh, by the way, you can use this library I wrote to display large-sized numbers and characters for ease of reading from far away.

floresta

@focalist
Quote
Each one has an Enable pin, which selects that LCD to be handling the information on the data bus.  The LCD's have their own memory and all the messiness, all you need to do is write the data, there's even simple Arduino libraries to handle it.  All the data lines can be connected on all the displays (I'd just use 4 bit), because only the display with the Enable active will care.

This is correct, sort of.  The way you are describing the Enable pin makes it sound more like a 'chip select' which it is not.  The data is transferred to (or from) the chip after the enable pin is first driven high and then transitions from high back to low, so your last sentence would be better if it read "because only the display whose Enable pin is pulsed will care".

@liudr
Quote
Your picture is a bit strange. Either it's flipped vertically or it has connections below the display.

The displays come both ways.  Most have the connections at the top, some have them below, and at least one has both.

Don

Go Up