BTW--I was able to get the last object to work that you modified, but it just transmitted a bunch of garbled characters.
The object I just posted may use 7 pins but if I just grounded the enable pin it worked fine, so if you want to Batty you can go ahead and modify it so that pin isn't used.
Every order requested so far has been shipped. So far I've sold 50 displays or 1/4 of what I have. Hopefully when Kimberly shows me how to sell on Ebay next Tuesday I can increase the price a little to ensure I get well over $100 to donate. Thanks everyone who ordered, I've had a good time learning how to take orders and run a business! Hopefully I can find something to sell a little more permanently in the future, I found a mission trip to a poor town in Mexico in March I want to go to
Here is my last attempt until I have some actual displays to work with.
This is a slightly modified version of the ObEx LCD driver 106, with a demo program. It should handle writing to the one-line display without the discontinuity at column 8.
Let me know if this works for you. If not, I'll have a working version next week sometime.
Congrats batty you did it I'll send you your LCD's on Tuesday. By chance, would you like to donate 50 cents each display? Then I'll donate the shipping and we'll be even.
Congrats batty you did it I'll send you your LCD's on Tuesday. By chance, would you like to donate 50 cents each display? Then I'll donate the shipping and we'll be even.
Thanks! I consider myself lucky that the changes worked -- until today I didn't have any LCD displays at all to test with. So there was a very good chance I might have made a stupid mitsake
Yes, 50 cents per display would be fine. You can use the info you have from my order to arrange things.
BTW, the display I just borrowed from a friend of mine is an old one, but it is a VFD (Vacuum Fluorescent Display) 4x20 chars that is HD44780 compatible (it is a Noritake CU20045SCPB-U1J), but it has a slightly different mapping from Display RAM addresses to screen character positions than most of the 4x20 displays around now. So I'll probably be putting together Yet Another Display driver object. More fun for this week.
Trying to connect the LCD Display to Propeller Demo Board.
Running the file DEMO_LCD_16x1_4Bit.SPIN
Not getting anything on the display.
My connections:
Pin 1 of Display (VSS) = VSS on Demo Board
Pin 2 of Display (VDD) = 5V on Demo Board
Pin 4 of Display (RS) = P0 on Demo Board
Pin 5 of Display (R/W) = P1 on Demo Board
Pin 6 of Display (E) = P2 on Demo Board
Pin 14 of Display (DB7) = P4 on Demo Board
Pin 13 of Display (DB6) = P5 on Demo Board
Pin 12 of Display (DB5) = P6 on Demo Board
Pin 11 of Display (DB4) = P7 on Demo Board
I have Edited the LCD_16x1_4Bit.spin file as shown below.
{{
┌──────────────────────┐
│ Parallel LCD Driver │
├──────────────────────┴───────────────────────┐
│ Width : 16 Characters │
│ Height : 1 Line │
│ Interface : 4 Bit │
│ Controller : HD44780-based │
├──────────────────────────────────────────────┤
│ By : Simon Ampleman │
│ sa@infodev.ca │
│ Date : 2006-11-18 │
│ Version : 1.0 │
├──────────────────────────────────────────────┤
│ Modified by: Tom Dinger │
│ to handle a 16x1 display with split │
│ DDRAM addressing for the line │
│ Date : 2010-08-20 │
│ Version : 1.1 │
└──────────────────────────────────────────────┘
Hardware used :
Schematics
P8X32A
┌────┬────┐
┤0 31├ 0V 5V 0V P16 P17 P18 N/C N/C
┤1 30├ │ │ │ │ │ │ │ │
┤2 29├ │VSS │VDD │VO │R/S │R/W │E │DB0 │DB1
┤3 28├ ┴1 ┴2 ┴3 ┴4 ┴5 ┴6 ┴7 ┴8
┤4 27├ ┌────────────────────────────────────────────────┐
┤5 26├ │ 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16│ LCD 16X2
┤6 25├ │ 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16│ HD44780-BASED
┤7 24├ └────────────────────────────────────────────────┘ SSC2F16DLNW-E
┤VSS VDD├ ┬9 ┬10 ┬11 ┬12 ┬13 ┬14 ┬15 ┬16
┤BOEn XO├ │DB2 │DB3 │DB4 │DB5 │DB6 │DB7 │A(+) │K(-)
┤RESn XI├ │ │ │ │ │ │ │ │
┤VDD VSS├ N/C N/C P11 P10 P9 P8 5V 0V
DB7 ┤8 23├
DB6 ┤9 22├
DB5 ┤10 21├
DB4 ┤11 20├
┤12 19├
┤13 18├ E
┤14 17├ RW
┤15 16├ R/S
└─────────┘
PIN ASSIGNMENT
VSS - POWER SUPPLY (GND)
VCC - POWER SUPPLY (+5V)
VO - CONTRAST ADJUST (0-5V)
R/S - FLAG TO RECEIVE INSTRUCTION OR DATA
0 - INSTRUCTION
1 - DATA
R/W - INPUT OR OUTPUT MODE
0 - WRITE TO LCD MODULE
1 - READ FROM LCD MODULE
E - ENABLE SIGNAL
DB4 - DATA BUS LINE 4
DB5 - DATA BUS LINE 5
DB6 - DATA BUS LINE 6
DB7 - DATA BUS LINE 7 (MSB)
A(+) - BACKLIGHT 5V
K(-) - BACKLIGHT GND
INSTRUCTION SET
┌──────────────────────┬───┬───┬─────┬───┬───┬───┬───┬───┬───┬───┬───┬─────┬─────────────────────────────────────────────────────────────────────┐
│ INSTRUCTION │R/S│R/W│ │DB7│DB6│DB5│DB4│DB3│DB2│DB1│DB0│ │ Description │
├──────────────────────┼───┼───┼─────┼───┼───┼───┼───┼───┼───┼───┼───┼─────┼─────────────────────────────────────────────────────────────────────┤
│ CLEAR DISPLAY │ 0 │ 0 │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1 │ │ Clears display and returns cursor to the home position (address 0). │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ CURSOR HOME │ 0 │ 0 │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 1 │ * │ │ Returns cursor to home position (address 0). Also returns display │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ being shifted to the original position. │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ ENTRY MODE SET │ 0 │ 0 │ │ 0 │ 0 │ 0 │ 0 │ 0 │ 1 │I/D│ S │ │ Sets cursor move direction (I/D), specifies to shift the display(S) │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ These operations are performed during data read/write. │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ DISPLAY ON/OFF │ 0 │ 0 │ │ 0 │ 0 │ 0 │ 0 │ 1 │ D │ C │ B │ │ Sets On/Off of all display (D), cursor On/Off (C) and blink of │
│ CONTROL │ │ │ │ │ │ │ │ │ │ │ │ │ cursor position character (B). │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ CURSOR/DISPLAY │ 0 │ 0 │ │ 0 │ 0 │ 0 │ 1 │S/C│R/L│ * │ * │ │ Sets cursor-move or display-shift (S/C), shift direction (R/L). │
│ SHIFT │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ FUNCTION SET │ 0 │ 0 │ │ 0 │ 0 │ 1 │ DL│ N │ F │ * │ * │ │ Sets interface data length (DL), number of display line (N) and │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ character font(F). │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ SET CGRAM ADDRESS │ 0 │ 0 │ │ 0 │ 1 │ CGRAM ADDRESS │ │ Sets the CGRAM address. CGRAM data is sent and received after │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ this setting. │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ SET DDRAM ADDRESS │ 0 │ 0 │ │ 1 │ DDRAM ADDRESS │ │ Sets the DDRAM address. DDRAM data is sent and received after │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ this setting. │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ READ BUSY FLAG AND │ 0 │ 1 │ │ BF│ CGRAM/DDRAM ADDRESS │ │ Reads Busy-flag (BF) indicating internal operation is being │
│ ADDRESS COUNTER │ │ │ │ │ │ │ │ │ │ │ │ │ performed and reads CGRAM or DDRAM address counter contents. │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ WRITE TO CGRAM OR │ 1 │ 0 │ │ WRITE DATA │ │ Writes data to CGRAM or DDRAM. │
│ DDRAM │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ READ FROM CGRAM OR │ 1 │ 1 │ │ READ DATA │ │ Reads data from CGRAM or DDRAM. │
│ DDRAM │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└──────────────────────┴───┴───┴─────┴───┴───┴───┴───┴───┴───┴───┴───┴─────┴─────────────────────────────────────────────────────────────────────┘
Remarks :
* = 0 OR 1
DDRAM = Display Data Ram
Corresponds to cursor position
CGRAM = Character Generator Ram
┌──────────┬──────────────────────────────────────────────────────────────────────┐
│ BIT NAME │ SETTING STATUS │
├──────────┼─────────────────────────────────┬────────────────────────────────────┤
│ I/D │ 0 = Decrement cursor position │ 1 = Increment cursor position │
│ S │ 0 = No display shift │ 1 = Display shift │
│ D │ 0 = Display off │ 1 = Display on │
│ C │ 0 = Cursor off │ 1 = Cursor on │
│ B │ 0 = Cursor blink off │ 1 = Cursor blink on │
│ S/C │ 0 = Move cursor │ 1 = Shift display │
│ R/L │ 0 = Shift left │ 1 = Shift right │
│ DL │ 0 = 4-bit interface │ 1 = 8-bit interface │
│ N │ 0 = 1/8 or 1/11 Duty (1 line) │ 1 = 1/16 Duty (2 lines) │
│ F │ 0 = 5x7 dots │ 1 = 5x10 dots │
│ BF │ 0 = Can accept instruction │ 1 = Internal operation in progress │
└──────────┴─────────────────────────────────┴────────────────────────────────────┘
DDRAM ADDRESS USAGE FOR A 1-LINE DISPLAY, 16x1, split memory for the line
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 <- CHARACTER POSITION
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
│00│01│02│03│04│05│06│07│40│41│42│43│44│45│46│47│ <- ROW0 DDRAM ADDRESS
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
}}
CON
' Pin assignment
[COLOR=Red]RS = 0 'was 16
RW = 1 'was 17
E = 2 'was 18
[/COLOR][COLOR=Red]DB4 = 7 'was 11
DB7 = 4 'was 8[/COLOR]
VAR
long CurrentCol ' The current cursor column 1..16
PUB START
DIRA[DB7..DB4] := %1111 ' Set everything to output
DIRA[RS] := 1
DIRA[RW] := 1
DIRA[E] := 1
INIT
PRI INIT
uSdelay( 15000 ) ' 15 ms delay
OUTA[DB7..DB4] := %0000 ' Output low on all pins
OUTA[RS] := 0
OUTA[RW] := 0
OUTA[E] := 1
OUTA[DB7..DB4] := %0010 ' Set to DL=4 bits
OUTA[E] := 0
INST4 (%0010_1000) ' Now that we're in 4 bits, add N=2 lines, F=5x7 fonts
CLEAR
INST4 (%0000_1100) ' Display on, Cursor off, Blink off
INST4 (%0000_0110) ' Increment Cursor + No-Display Shift
PRI BUSY | IS_BUSY
uSdelay( 5000 ) ' I did not find a way to read busy flag in 4 bit correctly
PRI INST4 (LCD_DATA)
BUSY
OUTA[RW] := 0
OUTA[RS] := 0
OUTA[E] := 1
OUTA[DB7..DB4] := LCD_DATA >> 4
OUTA[E] := 0
BUSY
OUTA[E] := 1
OUTA[DB7..DB4] := LCD_DATA
OUTA[E] := 0
PRI CHAR (LCD_DATA)
BUSY
OUTA[RW] := 0
OUTA[RS] := 1
OUTA[E] := 1
OUTA[DB7..DB4] := LCD_DATA >> 4
OUTA[E] := 0
BUSY ' [TD] I don't think this is needed...
OUTA[E] := 1
OUTA[DB7..DB4] := LCD_DATA
OUTA[E] := 0
'
' Now, adjust the column position
++CurrentCol
if CurrentCol == 9
' We just passed the address change column
MOVE(9,1) ' position the DDRAM cursor address correctly
PUB CLEAR
' Clear display, Return Cursor Home
INST4 (%0000_0001)
CurrentCol := 1
PUB MOVE (X,Y) | ADR
' X : Horizontal Position : 1 to 16
' Y : Line Number : 1 (actually ignored)
'
' If X > 8, then we use a different DDRAM starting location
X #>= 1 ' no smaller than 1
CurrentCol := X ' save the column number
if X > 8
ADR := $40 + X - 8 - 1
else ' X <= 8
ADR := X - 1
ADR |= $80 ' Set DDRAM Address command
INST4 (ADR)
PUB STR (STRINGPTR)
REPEAT STRSIZE(STRINGPTR)
CHAR(BYTE[STRINGPTR++])
PUB DEC (VALUE) | TEMP
IF (VALUE < 0)
-VALUE
CHAR("-")
TEMP := 1_000_000_000
REPEAT 10
IF (VALUE => TEMP)
CHAR(VALUE / TEMP + "0")
VALUE //= TEMP
RESULT~~
ELSEIF (RESULT OR TEMP == 1)
CHAR("0")
TEMP /= 10
PUB HEX (VALUE, DIGITS)
VALUE <<= (8 - DIGITS) << 2
REPEAT DIGITS
CHAR(LOOKUPZ((VALUE <-= 4) & $F : "0".."9", "A".."F"))
PUB BIN (VALUE, DIGITS)
VALUE <<= 32 - DIGITS
REPEAT DIGITS
CHAR((VALUE <-= 1) & 1 + "0")
pub uSdelay(DelayuS) 'Delay for # of microseconds
waitcnt((clkfreq/1_000_000) * DelayuS + cnt)
Any help with getting this to work will be greatly appreciated.
I just received my displays today as well. But I will not have time to try them on the Demo board until Wednesday evening, at the earliest. But I will get it working, promise.
You might try a much simpler main test program, e.g.:
I "found" some time this morning to try out the new displays, rather than waiting until tomorrow night.
I too had trouble this morning, but the problem in my case was very simple: you need to connect the VO pin (pin 3 on the display board) to ground, or a voltage near ground. That pin controls the LCD display contrast, and a high level (or the pin disconnected) puts the display in minimum contrast mode, so none of the characters is visible.
Once I grounded that pin (maximum contrast), the display started working just fine.
I "found" some time this morning to try out the new displays, rather than waiting until tomorrow night.
I too had trouble this morning, but the problem in my case was very simple: you need to connect the VO pin (pin 3 on the display board) to ground, or a voltage near ground. That pin controls the LCD display contrast, and a high level (or the pin disconnected) puts the display in minimum contrast mode, so none of the characters is visible.
Once I grounded that pin (maximum contrast), the display started working just fine.
OK, when I get home, I will try connecting the VO pin (pin 3 on the display board) to ground, or a voltage near ground.
ALso I don't have any current limiting resistors in series with the Propeller Pins. I don't think I need any?
I've been running it on 5v with no resistors and it's working just fine for me. I've noticed the power problem myself, with the display showing garbage if not powered down. I guess if you really wanted to the power could be connected to a transistor to restart the display.
@Batty--Thanks a lot for choosing to donate money even though you won the displays. I'm really appreciative of it, and I'm sure the gal the money is supporting will be even more appreciative I'll try and get the package ready to ship tonight and I'll send you the invoice for the donation.
I'm planning on starting to sell the displays on Ebay tonight, so hopefully if my price is the most competetive one on there I can raise it a little and donate more money to Monica and her dad.
Whit--check the thread for free BS2's. With some teamwork we can get a BS2 or two to support your gatorbots.
Hopefully it will show you the search. Looking down the list, I can sell mine cheaper. Not only that, but I found one about like mine selling for $7. That's good money (to donate, of course )
I'm glad you fixed your problem using the VO pin. But I haven't (yet) seen an issue with the display being scrambled -- When I press F10 in PropTool to reload and restart the demo, it just seems to work. (I think I was using the version of the demo I posted, but maybe not...)
The idea is that the board would have an lcd for displaying data from FORTH, but there may not be much room on the display for sensor data and anything else the user wants to display. For this, I could easily save the rest of my 16x1 LCD's for use on the project should it work out and I could provide it on the board for free, but there is only a possibility it will work, and I cirtainly won't be able to get the $100 to donate off of them I would have recieved if I sold the rest on Ebay. So, what do you guys think?
Well my ideas for helping third world countries just took a 360. Ah well, I'll just go back to the original idea and get the rest of the money out of the displays.
Hopefully tomorrow I can get the money raised so far for Monica. I promised at least 50 and I got it, so perhaps I can use part of the next bit of money I earn to help her disabled dad. The only thing that bothers me is that it doesn't solve the problem that he's jobless, but I just don't see what else can be done, and I don't feel how electronics can help.
I gave the money earned to Monica so it should help support her going to school. $65 has been donated so far, and the box, when all 50 cents for each display is paid, will fetch about $150 more for her. I'm unsure about selling them on ebay so I think I'll try another forum first, but I'll sell what's left on ebay to get the money and I'll let you all know what happens.
In the meantime, I'm curious about how I can get more money for other good causes. Anyone have good ideas? Right now the only thing I can think of is to get liturature from poor countries and post it on a website--maybe then I will be able to find more people to support the needy in these places.
I have attached semi-working code for this LCD running off the BS2px. It communicates through 4-bit mode (6-wire). As it is, the display shows the following message on the left half of the screen:
"BASIC St"
the rest is truncated. I've tried changing the initialization, but I haven't been able to set it to display one consecutive line. According to the datasheet, characters 1-8 are at display address 0-7, while characters 9-16 are at display address 40-47. The display address the datasheet refers to as DD Ram.
What I know:
#1 Clear screen resets the display the DD Ram pointer to 0.
#2 If I omit the clear screen command and send my message over and over, it eventually writes to DD Ram 40-47 which shows on the right side of the screen.
To this point I've been unable to specify the DD RAM address to print to... Can anyone help with this?? I suppose I could write the first eight characters, then 32 blank characters, then the last eight characters, but I have a feeling that's not the way it's supposed to be.
This is my first LCD project.... It took me days to get to this point! My initial code didn't work at all. The attached code is based on some code I found for another LCD off the net. I'll give credit when it works.
Comments
And your I/O assignments look OK to me, from this far away
The object I just posted may use 7 pins but if I just grounded the enable pin it worked fine, so if you want to Batty you can go ahead and modify it so that pin isn't used.
This is a slightly modified version of the ObEx LCD driver 106, with a demo program. It should handle writing to the one-line display without the discontinuity at column 8.
Let me know if this works for you. If not, I'll have a working version next week sometime.
Thanks! I consider myself lucky that the changes worked -- until today I didn't have any LCD displays at all to test with. So there was a very good chance I might have made a stupid mitsake
Yes, 50 cents per display would be fine. You can use the info you have from my order to arrange things.
BTW, the display I just borrowed from a friend of mine is an old one, but it is a VFD (Vacuum Fluorescent Display) 4x20 chars that is HD44780 compatible (it is a Noritake CU20045SCPB-U1J), but it has a slightly different mapping from Display RAM addresses to screen character positions than most of the 4x20 displays around now. So I'll probably be putting together Yet Another Display driver object. More fun for this week.
Received my displays today.
Exactly as advertised.
Very well packed.
I can't wait to try one out.
Regards,
zappman
I got my ten LCDs in the mail today. As Zappman said, they are nice and were well packaged.
Thanks pi'd for a great product, good price and the fantastic idea of giving some the earnings to a good cause!
Thanks also to Ding-Batty for an object too!
Get your orders in everybody.
Running the file DEMO_LCD_16x1_4Bit.SPIN
Not getting anything on the display.
My connections:
Pin 1 of Display (VSS) = VSS on Demo Board
Pin 2 of Display (VDD) = 5V on Demo Board
Pin 4 of Display (RS) = P0 on Demo Board
Pin 5 of Display (R/W) = P1 on Demo Board
Pin 6 of Display (E) = P2 on Demo Board
Pin 14 of Display (DB7) = P4 on Demo Board
Pin 13 of Display (DB6) = P5 on Demo Board
Pin 12 of Display (DB5) = P6 on Demo Board
Pin 11 of Display (DB4) = P7 on Demo Board
I have Edited the LCD_16x1_4Bit.spin file as shown below.
Any help with getting this to work will be greatly appreciated.
Thanks,
Zappman
I just received my displays today as well. But I will not have time to try them on the Demo board until Wednesday evening, at the earliest. But I will get it working, promise.
You might try a much simpler main test program, e.g.: You also might try the original ObEx object 106 (before my modifications), with the same pin assignments you used above, and see if that works.
I "found" some time this morning to try out the new displays, rather than waiting until tomorrow night.
I too had trouble this morning, but the problem in my case was very simple: you need to connect the VO pin (pin 3 on the display board) to ground, or a voltage near ground. That pin controls the LCD display contrast, and a high level (or the pin disconnected) puts the display in minimum contrast mode, so none of the characters is visible.
Once I grounded that pin (maximum contrast), the display started working just fine.
OK, when I get home, I will try connecting the VO pin (pin 3 on the display board) to ground, or a voltage near ground.
ALso I don't have any current limiting resistors in series with the Propeller Pins. I don't think I need any?
Thanks very much for your help.
I used 1K resistors in line with the four data lines DB4..DB7, because I am running the display on 5V. That seemed to work fine.
The demo program works.
I don't have any current limiting resistors in series with the Propeller Pins.
Only thing I noticed is that if I rerun the demo without powering off the demo board, I see garbage on the display.
Most of the time on the 3rd rerun the display looks corrects again.
Thanks Ding-Batty and pi'd, I am very happy to see one of the displays working :smilewinkgrin:.
@Batty--Thanks a lot for choosing to donate money even though you won the displays. I'm really appreciative of it, and I'm sure the gal the money is supporting will be even more appreciative
I'm planning on starting to sell the displays on Ebay tonight, so hopefully if my price is the most competetive one on there I can raise it a little and donate more money to Monica and her dad.
Whit--check the thread for free BS2's. With some teamwork we can get a BS2 or two to support your gatorbots.
http://cgi.ebay.com/HD44780-1602-16x2-LCM-Character-LCD-Display-Module-New-/320568133920?pt=LH_DefaultDomain_0
16x2 for $3.49 shipped from HK
Hopefully it will show you the search. Looking down the list, I can sell mine cheaper. Not only that, but I found one about like mine selling for $7. That's good money (to donate, of course
I hope you have success on eBay.
I found this site, that has some similar 16x1 displays on clearance for $1.86 each (2 minimum): http://www.satistronics.com/hd44780-16x1-characters-lcd-module-no-backlight_p1291.html
@Zappman,
I'm glad you fixed your problem using the VO pin. But I haven't (yet) seen an issue with the display being scrambled -- When I press F10 in PropTool to reload and restart the demo, it just seems to work. (I think I was using the version of the demo I posted, but maybe not...)
I worked and got home pretty late, so all I got done was print off the manual/data sheet
http://forums.parallax.com/showthread.php?t=125114
The idea is that the board would have an lcd for displaying data from FORTH, but there may not be much room on the display for sensor data and anything else the user wants to display. For this, I could easily save the rest of my 16x1 LCD's for use on the project should it work out and I could provide it on the board for free, but there is only a possibility it will work, and I cirtainly won't be able to get the $100 to donate off of them I would have recieved if I sold the rest on Ebay. So, what do you guys think?
Hopefully tomorrow I can get the money raised so far for Monica. I promised at least 50 and I got it, so perhaps I can use part of the next bit of money I earn to help her disabled dad. The only thing that bothers me is that it doesn't solve the problem that he's jobless, but I just don't see what else can be done, and I don't feel how electronics can help.
In the meantime, I'm curious about how I can get more money for other good causes. Anyone have good ideas? Right now the only thing I can think of is to get liturature from poor countries and post it on a website--maybe then I will be able to find more people to support the needy in these places.
I have started the "announcement/support" thread for the driver in the Propeller Chip forum: http://forums.parallax.com/showthread.php?t=125714
Have fun!
Ding-Batty
"BASIC St"
the rest is truncated. I've tried changing the initialization, but I haven't been able to set it to display one consecutive line. According to the datasheet, characters 1-8 are at display address 0-7, while characters 9-16 are at display address 40-47. The display address the datasheet refers to as DD Ram.
What I know:
#1 Clear screen resets the display the DD Ram pointer to 0.
#2 If I omit the clear screen command and send my message over and over, it eventually writes to DD Ram 40-47 which shows on the right side of the screen.
To this point I've been unable to specify the DD RAM address to print to... Can anyone help with this?? I suppose I could write the first eight characters, then 32 blank characters, then the last eight characters, but I have a feeling that's not the way it's supposed to be.
This is my first LCD project.... It took me days to get to this point! My initial code didn't work at all. The attached code is based on some code I found for another LCD off the net. I'll give credit when it works.