Display issue with Phanderson 107 & Serout

MearCat

Member
On my breadboard, I set up a Phanderson.com #117 serial LCD chip (2400 Baud) last night with a HD44780 4x20 LCD and 08M and set up a simple initial test as below, but kept getting the LCD displaying wierd characters, eg.

Row1-12345678901234
100Row2-012345678901
Rw3-012345678901234
Row4-012345678901234


Where there would an extra "100" in there and a missing "o" in "Row"

Does anyone have any suggestions on what the problem could be?

Code:
' Program - 08M PICAXE chip 
   SYMBOL LCD = 4 ' Pin 3 (Output 4) for output to Serial LCD
   HIGH LCD
   PAUSE 5000	' wait for OLED to boot
   SEROUT LCD, T2400, ("?f") 
   pause 1000
   SEROUT LCD, T2400, ("?y0?x00Row1-012345678901234") 
   pause 1000
   SEROUT LCD, T2400, ("?y1?x00Row2-012345678901234") 
   pause 1000
   SEROUT LCD, T2400, ("?y2?x00Row3-012345678901234") 
   pause 1000
   SEROUT LCD, T2400, ("?y3?x00Row4-012345678901234")
 

pha555

Senior Member
I assume this is the Winstar OLED and the timing may well be different.

But, you might try the calibfreq

Anytime you have two devices using the internal osc talking to one another, there is the possibility of a problem. Adding a crystal or resonator to the LCD #117 is not an option.

Peter Anderson, http://www.phanderson.com/picaxe/
 
Last edited:

MearCat

Member
I am not one of those people who randomly put up a new thread without searching, but was searching for #107 not #117 so didn't find that thread, but thanks for the link.

I will try some calibfreq tweaking.

Peter - this issue is not with the Winstar OLED. I initially wired up the breadboard circuit to make sure it was all working with a standard HD44780 LCD before I plugged in the Winstar unit. As a test however, I did plug in the Winstar OLED and got random pixels but I will get the LCD working and then move onto the OLED. Is the issue with the internal clock in the #107 chip, or the PICAXE chip?
 
Last edited:

srnet

Senior Member
I am not one of those people who randomly put up a new thread without searching, but was searching for #107 not #117 so didn't find that thread, but thanks for the link.
Apologies, I read this bit;

"On my breadboard, I set up a Phanderson.com #117 serial LCD chip"

and did a search on that on Google.
 

centrex

Senior Member
I think it should look like this

serout lcd, T2400, ("?y0?x00","row0-12345678901234")

or are you sure you have the ? in the correct places if it is missing from in front of the x00 on row2

etc
 
Last edited:

MearCat

Member
There's no need to separate the commens that follow the ?, and the text. I've been using Peter Andersons chips for a few years without separating them and they work fine. This is the first time however I've had this issue.

The random loss of characters was solved by simply adding a "calibfreq 1" line to the beginning of the program. Thanks again srnet for finding that link.
 

hippy

Ex-Staff (retired)
There's no need to separate the commens that follow the ?, and the text. I've been using Peter Andersons chips for a few years without separating them and they work fine.
That's true - PICAXE will generate the same code and take the same space for SERTXD("ABCDEF") and SERTXD("A","BC","D","EF") and any other combinations ( SEROUT and HSEROUT included ).

Splitting the commands and data into separate strings may help make things more readable or understandable but isn't compulsory.
 

inglewoodpete

Senior Member
The problems appear to occur when repositioning the cursor (should I say repositioning the display point).

Clearly there are overheads when the controlling chip has to receive, analyse and output the change-of-input-position. Ordinary characters are just passed from input to output - a simpler and quicker operation.

I suggest you try the following code:
Code:
serout lcd, T2400, ("?y0?x00")
Pause 20    '20mS
serout lcd, T2400, ("row0-12345678901234")
serout lcd, T2400, ("?y1?x00")
Pause 20    '20mS
serout lcd, T2400, ("row1-12345678901234")
serout lcd, T2400, ("?y2?x00")
Pause 20    '20mS
serout lcd, T2400, ("row2-12345678901234")
serout lcd, T2400, ("?y3?x00")
Pause 20    '20mS
serout lcd, T2400, ("row3-12345678901234")
You may be able to reduce the pause time.
 

rbright

Member
Future of 107 / 117

I've used PHanderson's 107 in a couple of projects for some time but I wonder what is the benifit of using this component in the future instead of a pure PicAxe controller solution especially now with the new M2 range with expanded memory. Apologies if this question raises any sensitivities.
 

inglewoodpete

Senior Member
I'm with you on that one RB. However, I'd like to use the flexability of the 20x2 in slave mode so that I can address the LCD charcter 'locations' directly via i2c (or use serial too). But it has to remain on the back burner for the time being: just too many projects!

I am also a customer of Peter Anderson and have had several years of reliable service from his serial LCD driver chip.
 

fritz42_male

Senior Member
Toysdownunder are good. Bought some 16x2 serial units and a Polulu board. Pick up is convenient.

Any sign of i2c versions of those boards?
 
Top