PDA

View Full Version : Inexpensive Serial (surplus) LCD



mrburnette
13-02-2012, 21:21
We have all seen those too good to be true eBay advertisements; but sometimes I get surprised with a winner. This time it is a dual 2-line LCD. Rather large, probably from a gasoline pump, these are 5V serial displays and are easily interfaced to a PICAXE.

Here is the eBay dealer... 3 displays for $9.99 U.S. dollars. Dealer says he ships 'worldwide' but I can not ascertain the prices outside the U.S. because the eBay tool has locked me into continental only. Anyway, shipping is expensive, so you may wish to team-up with others to order a few and split the shipping cost.
http://www.ebay.com/itm/Lcd-Display-16-x-4-Lines-Micro-Bulk-Lot-3-/350219964507?_trksid=m7&_trkparms=algo%3DLVI%26itu%3DUCI%26otn%3D2%26po%3D LVI%26ps%3D63%26clkid%3D6307773599087105463

WARNING: the next statement appears to be incorrect... see post #16. You must open the solder-jumper.
The units ship for 2400 "N" BAUD, but jumper S3 on the rear can be un-soldered (open) to go to 4800 BAUD. I have the DV-16215-1-S2RB datasheet but it is over 1M PDF and I cannot attach to this thread... leave me a message with your eMail and I will send it to you. It is available from http://www.omnidisplays.com/lcd-tft-oled-pdf-character-displays-specs/Displays-Specs/Data-International/Display-Specs-PDF/DV-16215-1-S2RB/ but you must register with them to download.

Attached is some thermometer code I threw together to test both display... all 4 lines. Some may recognize Peter Anderson's algorithm for using a thermistor/resistor for a decent linear temperature range.
http://www.phanderson.com/picaxe/picaxe_thermistor.html

- Ray

1040510407

manuka
13-02-2012, 22:36
Thanks Ray for now confirming with a pix that each board has TWO 2 line LCDs rather than a single 4 line one!

julianE
14-02-2012, 07:34
Fine work. I went and ordered a set. Not sure from the photo, is there a backlight?

mrburnette
14-02-2012, 12:49
Fine work. I went and ordered a set. Not sure from the photo, is there a backlight?

No backlight in this display (either). Looks like the intent was to position the LCD display board behind a protective clear glass with incident lighting inside the case... much like a gasoline pump. However, the displays have good contrast in my testing and I ordered 30 and received them all via UPS within about 7 days... they are all in individual antistatic bag and are factory fresh sealed. I made up 5 thermometers using a 10K 1% resistor and 10K NTC Vishay thermistors and took them to the local Hamfest recently and they all sold quickly... one dude buying 3 (I have no idea, but the money was green!)

In my thermometer code, I took the eBay information provided by the seller and abstracted it into code for basic functions. Perhaps others that have more time to play around with the display will evolve and extend this work (Please?):


DataVision: ' LCD stuff for Data Vision Dual 2x16 display Firmware 16215-1 S2RB Philco P345A
;COMMAND = 0 ' CLEAR ALL 4 LINES
;COMMAND = 1 ' GOTO Top Display
;COMMAND = 2 ' CLEAR Top Display
;COMMAND = 3 ' GOTO Lower Display
;COMMAND = 4 ' CLEAR Lower Display
;COMMAND = 5 ' Split-Line Filler Characters (16 spaces)
;COMMAND = 6 ' Lower Display OFF
;COMMAND = 7 ' Lower Display ON
;COMMAND = 8 ' Home without Clearing Top
;COMMAND = 9 ' Home without Clearing Lower

Select Case COMMAND
Case 0
GoSub ClearTop
GoSub ClearBottom
Case 1
serout MONITOR,BAUD,($12)
Case 2
GoSub ClearTop
Case 3
serout MONITOR,BAUD,($16)
Case 4
GoSub ClearBottom
Case 5
serout MONITOR,BAUD,(" ")
Case 6
serout MONITOR,BAUD,(%00010101,%00001010)
Case 7
serout MONITOR,BAUD,(%00010101,%00001100)
Case 8
serout MONITOR,BAUD,(%00010001,%10000000)
Case 9
serout MONITOR,BAUD,(%00010101,%10000000)
End Select
RETURN

ClearTop:
serout MONITOR,BAUD,(%00010001,%00000001)'Upper HOME+CLEAR L1 ")
RETURN

ClearBottom:
serout MONITOR,BAUD,(%00010101,%00000001)'Lower HOME+CLEAR L1 ")
RETURN


- Ray

I re-PDF'd the manufacturer's PDF and shortened it to get it to upload. See post #1 for the full PDF.
10410

The back-side picture showing the jumper that needs solder removed is here:
http://www.instructables.com/id/PICAXE-Pitcher-Perfect-Thermometer/

mrburnette
14-02-2012, 13:11
Thanks Ray for now confirming with a pix that each board has TWO 2 line LCDs rather than a single 4 line one!

Funny thing... I included the PIC in the original posting but when I came back after posting, the link was there, but "dead"... I went into Edit/Advance and the object was shown in my lib but not active for the thread... I tried to re-enter it and the editor refused! I had to log-out and log-in twice before I could drag the picture object down and reinsert same. Weird. I would have not caught the link failure if you had not posted, so many thanks.

- Ray

julianE
23-02-2012, 17:52
My set of displays just came. very high quality. much larger then i expected. hope to try it out soon. thanks for all the work, and glad you made some green from the find.
btw, what is the connector on it, large molex, was hoping to find a matching plug to make for a cleaner look.

mrburnette
23-02-2012, 20:21
btw, what is the connector on it, large molex, was hoping to find a matching plug to make for a cleaner look.

It certainly is an oversize connector! On one of my displays, I just removed the connector. On another one, I cut the existing connector and did a little bending and soldered on a standard fit a 0.1" spacing connector.
The PDF above that I had stripped a few pages from to make it fit the forum size limits, has the last few pages missing which was the mechanical construction. I've included it here.

Do not forget that the default is 2400 BAUD... remove the solder on the reverse jumper J3 and then use something like the following for your SEROUT commands:


SYMBOL BAUD = N4800_4 ' For use with modified (OPEN J3) DataVision LCD

Good luck with the displays and add to the knowledge. I really need a better, more complete DataVision code listing... I just have not had the time to play.

- Ray

10525

cachomachine
26-02-2012, 17:01
What do i have to do to write to the second line of each display?

I am sending 32 consecutive characters to the top display and only the first 16 are visible on the first row, the second row stays blank.

Shiffting to the bottom display does the samething, what have i missed?

cacho

mrburnette
26-02-2012, 17:11
What do i have to do to write to the second line of each display?

I am sending 32 consecutive characters to the top display and only the first 16 are visible on the first row, the second row stays blank.

Shiffting to the bottom display does the samething, what have i missed?

cacho

Post #1 has an attached file: Therm4_08M2_4LineLCD_FT.bas and I have abstracted all of the commands necessary to control the display, line-by-line. When you write beyond L1 position 16, you go into the controller's buffer. You need to position character 17 at the start of the next line.



UpdateLCD_T:
COMMAND = 8 : GoSub DataVision ' Home Top
COMMAND = 1 : GoSub DataVision ' Select Top
IF WholeC < 10 then
serout MONITOR,BAUD,(" ",Sign,#WholeC,".",#DigitC," Celsius")
ELSE
serout MONITOR,BAUD,(Sign,#WholeC,".",#DigitC," Celsius")
EndIF
COMMAND = 5 : GoSub DataVision ' Spacer
serout MONITOR,BAUD,(" ",#WholeF,".",#DigitF," Farenheit")
RETURN
'
UpdateLCD_L:
COMMAND = 9 : GoSub DataVision ' Home Lower
COMMAND = 3 : GoSub DataVision ' Select Lower
IF WholeH < 10 then
serout MONITOR,BAUD,(" ",#WholeH,".",#DigitH," Record Hi")
ELSE
serout MONITOR,BAUD,(" ",#WholeH,".",#DigitH," Record Hi")
EndIF
COMMAND = 5 : GoSub DataVision ' Spacer
serout MONITOR,BAUD,(" ",#WholeL,".",#DigitL," Record Lo")
RETURN



I find it easy to use graph paper and lay-out the 2-line or 4-lines I want with the spacing, etc. Then transfer that layout to the PE as Remarks. Using the remarks, construct your serial output code.

- Ray

SAborn
26-02-2012, 17:12
Are you writing a instruction to the LCD of 192 (command for line 2) before you write the data to line 2.

(then the serial display might have a different command for line 2 than a standard LCD, i have never used a serial display to know)

mrburnette
26-02-2012, 17:21
Are you writing a instruction to the LCD of 192 (command for line 2) before you write the data to line 2.

(then the serial display might have a different command for line 2 than a standard LCD, i have never used a serial display to know)

Some serial displays such as the Scott Edward's and the SparkFun, by default simply carry the character from line 1 POS 16 to line 2 POS 1... but this oddball DataVision does not do that by default. Likely it has a control code to force it into that mode, but I've yet to find it.... but then, I really did not look too hard since I very rarely allow my LCD/OLED displays to free-run willynilly. I'm an old-school fool that likes to block all of the display into a rigid format; hence, my graph-paper exercise. My eyes are just too old to try and follow free-running characters back and forth across a display! Plus, most of the time the end-results that are wanted is a blocked-character display anyway... if for no reason other than it is prettier.

- Ray

cachomachine
26-02-2012, 20:19
I have found that if you send 24 dummy characters to the display after you wrote character 16 on line 1, the next one is character 1 of line 2.
So the displal firmware is set for a 40 character line.
There is probably a better way to do it but I can live with that for the moment

cacho

Jeremy Harris
07-03-2012, 13:26
Firstly, I'd like to thank the other contributors to this thread. I bought a lot of 3 of these displays (around 14 delivered to the UK) and they seem pretty good. They are certainly big!

It may be of help to others if I recount the codes I've worked out to drive these. They are essentially very similar to the standard serial LCD displays sold by Tech Supplies in the way they work, but the control commands are different. Each of the two 16 x 2 displays is separately addressed, so control commands and data sent to the display needs to be prefaced with a direction command to tell the on-board processor which display to talk to. The commands below are all in decimal, but can be sent in hex or binary if you wish. The ordinary serout command works fine, but the solder bridge needs to be removed from the S3 pad on the back of the display to switch the display from 4800 baud odd parity to 4800 baud no parity to get it to work with the Picaxe. The pins are numbered 1 to 5, pin 1 is +5 V, pin 3 is the serial input and pin 4 is 0 V.

Control commands to the upper display module need to be prefixed with 17, control commands to the lower display module need to be prefixed with 21. For example serout c.2,N4800_4,(21,1) will clear the lower display module, serout c.2,N4800_4,(17,1) will clear the upper display module, because 1 is the clear display command.

Similarly, when sending data to the display you need to prefix the data with a command that tells the display which module to use, 18 is the data prefix for the upper display module, 22 is the data prefix for the lower display module. For example, sending serout c.2,N4800_4,(18,"TEXT") will send the characters "TEXT" to the cursor position on the upper display module.

Setting the cursor position is the same as for the AXE033 modules, but using a different control command. The top line of each display starts at character 128 and the bottom line starts at character 192, just like the AXE033. The difference is in the prefaced command character, which is 17 for the upper display module and 21 for the lower display module. For example, sending serout c.2,N4800_4,(17,137) moves the cursor of the upper display module to the tenth character on the top line, sending serout c.2,N4800,(21,199) moves the cursor of the lower display module to the eighth character on the second line. The display keeps track of both module cursors independently.

Commands can be concatenated quite easily. For example, to send the word "TEXT" to the tenth character on the top line of the lower display module serout c.2,N4800_4,(21,137,22,"TEXT") works OK. The breakdown of this command is:
21 directs a control command to the lower display module
137 moves the cursor to the tenth position on the first line of the display
22 directs data to the lower display module
"TEXT" is the data written to the lower display module at the cursor position

The clear display commands (17,1) and (21,1) need around 1.5mS to be processed, so are best followed by a short pause of a couple of mS. In practice this pause may well occur from the relatively slow serial data stream and processing overhead on the display itself, as I've found no need for any added delays so far.

There are a few more commands that can be sent to these displays other than the clear and cursor positioning ones above, but these are probably the most useful. Hopefully this may be of use to others experimenting with these surplus displays.

geezer88
07-03-2012, 18:34
Jeremy, Thanks for the nice summary. It arrived just as I was starting to play with my displays, and all works as you advertised.

tom

Jeremy Harris
07-03-2012, 19:00
Glad it helped. I'm tempted to get some more of these displays, as, at this price, they really are a bit of a bargain. Even with the relatively high international shipping cost they still end up costing less than 5 each, which is pretty good for such a large 16 x 4 serial display. I'm grateful to mrburnette for bringing them to our notice.

julianE
11-03-2012, 07:58
Thanks everyone, i was getting frustrated, would get garbled characters, i thought it would work without removing the solder bridge at S3, albeit, at 2400 baud. I did not realize it was a parity issue. All is well now and I went and ordered 6 more. I really like the size and as Ray noted, very good contrast. Thanks again for a great find and the fine summary by Jeremy.

mrburnette
11-03-2012, 16:01
Thanks everyone, i was getting frustrated, would get garbled characters, i thought it would work without removing the solder bridge at S3, albeit, at 2400 baud. I did not realize it was a parity issue. All is well now and I went and ordered 6 more. I really like the size and as Ray noted, very good contrast. Thanks again for a great find and the fine summary by Jeremy.

My bad... I have upgraded the original post with this information.

- Ray

John West
12-03-2012, 01:07
Thanks for the info, Ray. I snagged a few of the displays for my student to use in his PICAXE. He has a lot of projects and he likes to build everything into each one, meaning he always needs more displays. He'll like these. They may not be blue or red (his favorites,) but they're big and convenient, (no serial to parallel adapter to build.) Good stuff for the price, which is what it's all about when trying to keep the kid's parts stock supplied.

julianE
12-03-2012, 05:29
As an FYI I went and tried the module at 3.3 volts, no luck.
it pays to order more then a single set of the modules, the shipping cost was almost the same for 2 sets as it was for a single one.

John West
12-03-2012, 06:11
If you read through the seller's shipping info, I believe they said that additional units (meaning each pkg of 3 LCD's) would add just 50 cents, US, per additional unit. Which is why I ordered 3 sets, (9 LCD panels,) and the company I work with has ordered 30 more LCD panels to go along with mine. As I'm in the States, when we split the shipping, the price gets down right cheap!

MikeGyver
12-03-2012, 10:24
I just noticed you spelled Fahrenheit wrong on the LCD display :o

John West
12-03-2012, 10:40
Must be a defective LCD.

mrburnette
12-03-2012, 13:45
Must be a defective LCD.

Oh, I betcha it was that darn spell-checker! :o

I personally ordered 30, I take a few of the breadboard little thermometers to each Hamfest I visit with my Ham friend and they sell out like crazy. Last November, one customer bought 3 at one time! (But maybe it is 'cause I spelled farenheit correctly?)


10693

One of the nice things I like about the over-sized displays is that one display can have priority information and one can have average/peak/low information. They work great with the littl' PICAXE 08M2 and create a rather awesome presence.... little uC and large LCD. Eyecatching.

- Ray

This is my advertising model or the Hamfests: PICAXE-Pitcher-Perfect-Thermometer (http://www.instructables.com/id/PICAXE-Pitcher-Perfect-Thermometer/)

Afterthought: While the display will not work at 3V, the PICAXE will... one could use the PICAXE to toggle the display On/Off and when the display was off, drop the PICAXE voltage from 5V to 3V - restoring the PICAXE voltage to 5V and then turning the display back on. Should be pretty easy using a FET or transistor switch.

julianE
12-03-2012, 15:22
I don't give a damn for a man that can only spell a word one way.
Mark Twain

mrburnette
12-03-2012, 15:50
I don't give a damn for a man that can only spell a word one way.
Mark Twain

I think most of us on the forum would give Ol' Samuel a good laugh with some of the misspellings... My worst enemy is the automatic spelling correction on my phone... I have sent some messages that arrived on my wife's phone that subsequently required a phone call to explain.

- Ray

John West
15-03-2012, 04:06
For those who missed it, the solder-blob jumper to remove is S3.

mrburnette
15-03-2012, 12:43
I have had two requests for the full PDF manual via email, one worked and one has not worked. It seem some email gateways will refuse a file attachment over 10MB... just like the forum. I can only assure you that Google is trying to send the file.

For everyone that does not mind having two physical files, I split the >10MB PDF... see post #4 and post #7 for the two pieces.

- Ray

cachomachine
15-03-2012, 13:24
@ Ray

There are 6 solder-blob jumper on the back of the LCD display, did you found what they are used to?

Cacho

mrburnette
15-03-2012, 17:56
@ Ray

There are 6 solder-blob jumper on the back of the LCD display, did you found what they are used to?

Cacho

I did not. The "S3" tip came from the eBay seller. There seems to be several forum members that have procured these, so I'm hopeful to see more information being posted. Already, Jeremy Harris has produced some great control code information to add to the preliminary stuff I did with the temperature display for 0M2.

- Ray

John West
15-03-2012, 22:09
For those who'd like to do a bit of "value added" modification to your LCD's, there are gaps in the center of the bezel on each side of the display that should work nicely with a couple of SMT LED's placed there for back (side) lighting.

John West
28-03-2012, 06:06
Have any more command functions been identified for these? I'm getting ready to build one up and would like to start with as much as is known about these displays as possible.

sbscott
08-01-2013, 18:34
Same question as above, anyone got additional command functions for this geat LCD module?

nick12ab
08-01-2013, 18:44
Same question as above, anyone got additional command functions for this geat LCD module?

Has this part on the eBay listing been read?
The device needs a 7805 or equivalent voltage regulated power supply of 5v. The ground wire of a db9f needs to plug into the ground on the breadboard. The transmit line goes to pin 3 on the db9 (or you can use a active high ttl level serial signal from a 5v microcontroller on the same power supply). Start Hyperterm and set your com port to 4800 8 Odd parity and 1 stop bit Connect and you will start seeing your text on the top display. Send a ctrl/v (or a hex 16 with a micro or software) to switch to the bottom display. Hit ctrl/r (or hex 12) to switch back to the top display. Also applying 5v to pin 5 will put the device in test mode and you can see the firmware version and text on both. The default baud rate setting is 4800 8 o 1 but if you remove the solder from J3 then it is 4800 8N1 (then a basic stamp can run it) NEED TO PAUSE 100MS or longer AFTER THESE COMMANDS! '$12 goes to top display '$16 goes to bottom display '$17 throws 2 bytes away from the next text string?? '$19 the next byte is ??? like a t = omega?? '$11 then $0A blanks ?(disabled) top display '$11 then $01 = clear dosplay and goto home on top display '$11 then $04 = clear top and write backwards scrolling! '$11 then $07 = clear top and write backwards scrolling! '$11 then $0F = blinking cursor on top display $11 then $13 = top backspace cursor one space (leaves characters) need to do a $12 before writing over chars.... $11 then $1D = displays on top display "SPECIAL MESSAGE" whatever that means. $11 then &1f = shift top text one space to right $11 then $80 goes home, but does not clear. on top display '$15 then $0A blanks ?(disabled) bottom display

mrburnette
09-01-2013, 17:28
Has this part on the eBay listing been read?

I think the question was from John West and sbscott goes along this theme, '... has any more (post #4 + post #13) commands been discovered and documented?' Personally, I have been been satisfied with the bare minimum of commands since I use the displays for temperature display... don't need lots of commands. Jeremy Harris did a good job with his summary... sometimes my code (post #4) is a bit too abstract.

- Ray