Sign in

username:

password:



Not a member?

Search oopic



Search tips

Subscribe to oopic



Ads

Discussion Groups

Discussion Groups | | Sparkfun LCD Troubles

Sparkfun LCD Troubles - ef721 - Jun 20 17:32:58 2008

Hey guys,

I recently acquired a SparkFun Serial LCD and I am trying to control
it from the ooPIC. I attempted to use the oLCDSE object, but to no avail.

The baud rate is 9600bps and the serial controller of the LCD is based
off the Hitachi 44780 chip.

What is the code to output text onto this LCD ?
Here is the link to the LCD:
http://www.sparkfun.com/commerce/product_info.php?products_id=812

Thank you,

Eric
------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )


Re: Sparkfun LCD Troubles - rtstofer - Jun 20 18:09:08 2008

--- In o...@yahoogroups.com, "ef721" wrote:
>
> Hey guys,
>
> I recently acquired a SparkFun Serial LCD and I am trying to control
> it from the ooPIC. I attempted to use the oLCDSE object, but to no
avail.
>
> The baud rate is 9600bps and the serial controller of the LCD is based
> off the Hitachi 44780 chip.
>
> What is the code to output text onto this LCD ?
> Here is the link to the LCD:
> http://www.sparkfun.com/commerce/product_info.php?products_id=812
>
> Thank you,
>
> Eric
>

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Sparkfun LCD Troubles - rtstofer - Jun 20 18:20:37 2008

--- In o...@yahoogroups.com, "ef721" wrote:
>
> Hey guys,
>
> I recently acquired a SparkFun Serial LCD and I am trying to control
> it from the ooPIC. I attempted to use the oLCDSE object, but to no
avail.
>
> The baud rate is 9600bps and the serial controller of the LCD is based
> off the Hitachi 44780 chip.
>
> What is the code to output text onto this LCD ?
> Here is the link to the LCD:
> http://www.sparkfun.com/commerce/product_info.php?products_id=812
>
> Thank you,
>
> Eric
>

You would use the oSerialL object and set it up for 9600 baud.
Connect the IOLineS LCD RX input. Connect +5 and a common ground and
you should be good to go. I don't think you will have to invert the
IOLineS.

I wouldn't be surprised if you have to define IOLineF even though you
don't need it. In fact, you may have to do a little testing with the
.Busy property to determine whether you need to pull the IOLine high
or low. In either case, use a 330 ohm resistor to do the pullup(down)
such that .Busy becomes 0. I would not make a direct connection.

I would also put a 330 ohm resistor in series with the IOLineS and Rx
connection. These resistors don't affect the operation but can save
an OOPic from disaster should a pin become shorted.

Oh - yes, you'll have to become intimately familiar with the datasheet
because you are going to have to write your own code (probably
functions) to do the usual things like clear the display, etc. Just
send the byte indicated in the datasheet.

But, you should be able to write chars without any special programming
at all.

Richard

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Sparkfun LCD Troubles - ef721 - Jun 22 18:02:23 2008


Heres what I tried and what did not work

Dim lcd As New oSerialL
Sub Main()
lcd.Baud = cv9600
lcd.IOLineS = 16
lcd.InvertS = cvTrue
start:
lcd.String = "Hello" 'Text
Goto start
End Sub

the backlight of the LCD turns on but the characters do not display.

--- In o...@yahoogroups.com, "rtstofer" wrote:
>
> --- In o...@yahoogroups.com, "ef721" wrote:
> >
> > Hey guys,
> >
> > I recently acquired a SparkFun Serial LCD and I am trying to control
> > it from the ooPIC. I attempted to use the oLCDSE object, but to no
> avail.
> >
> > The baud rate is 9600bps and the serial controller of the LCD is based
> > off the Hitachi 44780 chip.
> >
> > What is the code to output text onto this LCD ?
> > Here is the link to the LCD:
> > http://www.sparkfun.com/commerce/product_info.php?products_id=812
> >
> > Thank you,
> >
> > Eric
> > You would use the oSerialL object and set it up for 9600 baud.
> Connect the IOLineS LCD RX input. Connect +5 and a common ground and
> you should be good to go. I don't think you will have to invert the
> IOLineS.
>
> I wouldn't be surprised if you have to define IOLineF even though you
> don't need it. In fact, you may have to do a little testing with the
> .Busy property to determine whether you need to pull the IOLine high
> or low. In either case, use a 330 ohm resistor to do the pullup(down)
> such that .Busy becomes 0. I would not make a direct connection.
>
> I would also put a 330 ohm resistor in series with the IOLineS and Rx
> connection. These resistors don't affect the operation but can save
> an OOPic from disaster should a pin become shorted.
>
> Oh - yes, you'll have to become intimately familiar with the datasheet
> because you are going to have to write your own code (probably
> functions) to do the usual things like clear the display, etc. Just
> send the byte indicated in the datasheet.
>
> But, you should be able to write chars without any special programming
> at all.
>
> Richard
>

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Sparkfun LCD Troubles - rtstofer - Jun 22 21:17:11 2008

--- In o...@yahoogroups.com, "ef721" wrote:
> Heres what I tried and what did not work
>
> Dim lcd As New oSerialL
> Sub Main()
> lcd.Baud = cv9600
> lcd.IOLineS = 16
> lcd.InvertS = cvTrue
> start:
> lcd.String = "Hello" 'Text
> Goto start
> End Sub
>
> the backlight of the LCD turns on but the characters do not display.
>

Have you tried it without inverting the signal?

How do you have it wired? IOLine 16 to the Rx pin is obvious but what
about ground? Is the LCD powered from the OOPic board? If not, the
grounds from the two systems need to be tied together.

Are you certain there are bits pouring out of the IOLine? If you
don't hava a logic probe or a scope, you can send long strings of 'U'
which has a bit pattern of 0x55 so it is in a high state half the
time. Send a few hundred loops of chars and then do a long delay
(like a second or so). You should be able to see the difference with
an analog voltmeter. A digital voltmeter may also see the changes.

You could also send tildes which have a bit pattern of 0x7F so they
are on almost all of the time.

As I said earlier, you MIGHT have to actually implement that flow
control pin and pull it up (or down) with a 330 ohm resistor. We had
a situation the other day where an object wouldn't work unless an
unnecessary IOLine was nevertheless defined.

Richard

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Sparkfun LCD Troubles - ef721 - Jun 23 10:35:55 2008



> As I said earlier, you MIGHT have to actually implement that flow
> control pin and pull it up (or down) with a 330 ohm resistor. We had
> a situation the other day where an object wouldn't work unless an
> unnecessary IOLine was nevertheless defined.
>
> Richard
>
Are you saying that I would have to waste an IO line on flow control
that I do not need? That sucks. Also, how exactly does flow control
work, would the flow control have to be high or low for no flow
control ( meaning it allows strings to be constantly sent)

,Eric

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Re: Sparkfun LCD Troubles - Andrew Porrett - Jun 23 12:39:26 2008

Why don't you just try the four combinations - TX inverted /
non-inverted x flow control high / low?

How long could that take? If it gets you closer to the solution,
isn't it worth it?

Then you can figure out if the flow control is even required.

Just a thought...

At 10:35 AM 6/23/2008, ef721 wrote:
>Are you saying that I would have to waste an IO line on flow control
>that I do not need? That sucks. Also, how exactly does flow control
>work, would the flow control have to be high or low for no flow
>control ( meaning it allows strings to be constantly sent)
>
>,Eric

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Sparkfun LCD Troubles - rtstofer - Jun 23 14:20:43 2008

--- In o...@yahoogroups.com, "ef721" wrote:
>
> > As I said earlier, you MIGHT have to actually implement that flow
> > control pin and pull it up (or down) with a 330 ohm resistor. We
had
> > a situation the other day where an object wouldn't work unless an
> > unnecessary IOLine was nevertheless defined.
> >
> > Richard
> >
> Are you saying that I would have to waste an IO line on flow control
> that I do not need? That sucks. Also, how exactly does flow control
> work, would the flow control have to be high or low for no flow
> control ( meaning it allows strings to be constantly sent)
>
> ,Eric
>

You really need to get a logic probe or scope to do this kind of
work. Something like this: http://tinyurl.com/4pu7km There are
several inexpensive versions on ebay but this one was "Buy Now".

The following code works in that the IOLine idles high (same as a
real TTL USART) and the bits go low. It is not necessary to define
the flow control which would, I suspect, be an output used only when
the serial port is used for input to throttle the sender.
Dim S As New oSerialL

Sub main()

ooPIC.Delay = 5000

S.IOLineS = 9
S.Operate = 1

Do

S.String = "hello"
ooPIC.Delay = 20

Loop

End Sub
I have not run the signal to a level shifter and on to Hyperterminal
but I'm pretty sure it's correct. Compiler V6 and chip B.2.2+

Richard

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Sparkfun LCD Troubles - rtstofer - Jun 23 15:13:20 2008

This is a better version in that in forces 9600 baud. I have tested
this with a level shifter into RealTerm and it works fine. I added a
CR LF pair to clean up the display.

Dim S As New oSerialL

Sub main()

ooPIC.Delay = 5000

S.IOLineS = 9
S.Baud = cv9600
S.Operate = 1

Do

S.String = "hello" + Chr$(13) + Chr$(10)
ooPIC.Delay = 20

Loop

End Sub
Richard

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Events and V6 - Brian Lloyd - Jun 27 1:17:01 2008

Did Savage Innovations ever fix the V6 compiler so that events work
properly again? As I recall, that was supposed to have happened by May.

--

73 de Brian, WB6RQN
Brian Lloyd - brian HYPHEN wb6rqn AT lloyd DOT com

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )

Re: Events and V6 - tinslwc - Jul 7 18:08:10 2008

Still Waiting, I bought a bunch of 2.2+ to get by so I don't have to go
through the trouble of manually compiling. I believe he said May 1.
It is in the messages somewhere.
--- In o...@yahoogroups.com, Brian Lloyd wrote:
>
> Did Savage Innovations ever fix the V6 compiler so that events work
> properly again? As I recall, that was supposed to have happened by
May.
>
> --
>
> 73 de Brian, WB6RQN
> Brian Lloyd - brian HYPHEN wb6rqn AT lloyd DOT com
>

------------------------------------



(You need to be a member of oopic -- send a blank email to oopic-subscribe@yahoogroups.com )