Offline
Newbie
Karma: 0
Posts: 11
|
 |
« on: June 05, 2011, 04:50:08 pm » |
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  ).
|
|
|
|
|
Logged
|
|
|
|
|
Western New York, USA
Offline
Faraday Member
Karma: 17
Posts: 3461
|
 |
« Reply #1 on: June 06, 2011, 12:30:00 pm » |
A link to the datasheet would really help.
Don
|
|
|
|
|
Logged
|
|
|
|
|
Central Europe
Offline
Edison Member
Karma: 5
Posts: 1220
Use the Source, Luke.
|
 |
« Reply #2 on: June 06, 2011, 01:55:55 pm » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Central MN, USA
Offline
Faraday Member
Karma: 35
Posts: 5918
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
|
 |
« Reply #3 on: June 06, 2011, 03:21:09 pm » |
I think there should be 7-segment LED driver chips that do these more elegantly. Google them.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 11
|
 |
« Reply #4 on: June 06, 2011, 04:10:51 pm » |
This is the only datasheets that was provided with the LCDs I got : http://www.varitronix.com/Product/LCD/VI-401-DP(R0).pdfI 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.
|
|
|
|
|
Logged
|
|
|
|
|
Denmark
Offline
Full Member
Karma: 5
Posts: 249
New on the Arduino platform...
|
 |
« Reply #5 on: June 06, 2011, 05:37:48 pm » |
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  ). 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.
|
|
|
|
|
Logged
|
|
|
|
|
Western New York, USA
Offline
Faraday Member
Karma: 17
Posts: 3461
|
 |
« Reply #6 on: June 06, 2011, 08:31:06 pm » |
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.
|
|
|
|
« Last Edit: June 06, 2011, 08:35:54 pm by floresta »
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 11
|
 |
« Reply #7 on: June 07, 2011, 01:14:01 pm » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
Boston Suburbs
Offline
God Member
Karma: 14
Posts: 955
I am above your silly so-called "Laws", Mister Ohm.
|
 |
« Reply #8 on: June 10, 2011, 02:11:53 pm » |
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:ITThat's one source for the LCD's but there are many out there. For the LCD code: http://arduino.cc/en/Reference/LiquidCrystal
|
|
|
|
« Last Edit: June 10, 2011, 06:21:10 pm by focalist »
|
Logged
|
When the testing is complete there will be... cake.
|
|
|
|
Central MN, USA
Offline
Faraday Member
Karma: 35
Posts: 5918
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
|
 |
« Reply #9 on: June 23, 2011, 12:25:48 am » |
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=item2c52f40d48Oh, by the way, you can use this library I wrote to display large-sized numbers and characters for ease of reading from far away.
|
|
|
|
|
Logged
|
|
|
|
|
Western New York, USA
Offline
Faraday Member
Karma: 17
Posts: 3461
|
 |
« Reply #10 on: June 23, 2011, 09:07:41 am » |
@focalist 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 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
|
|
|
|
|
Logged
|
|
|
|
|
|