Shop OBEX P1 Docs P2 Docs Learn Events
Nokia LCD interface anyone — Parallax Forums

Nokia LCD interface anyone

ALIBEALIBE Posts: 299
edited 2007-04-08 08:11 in Propeller 1
I am trying to get a larger LCD screen on my robot and thought this one might be a good one to go w/ for $19 a pop.·

Has anyone tried this w/ the Prop? Any pointers would be great.

Are there other similar LCDs that people have tried w/ the Prop in this forum?
Thanks in advance

http://www.sparkfun.com/commerce/product_info.php?products_id=569
Color-LCD-Lit-1.jpg


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."


ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/
·

Comments

  • mahjonggmahjongg Posts: 141
    edited 2007-02-26 17:55
    Elektor recently had an article about interfacing such LCD's to microcontrollers, it should not be too hard to do.

    Mahjongg
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-02-26 18:10
    Thats amusing, I just adapted Bean's BS2 code over the weekend. The display flickers, but I think this is due to Sparkfun's LED driver circutry (it's an older version before they modified the carrier)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 2/26/2007 6:16:04 PM GMT
  • mahjonggmahjongg Posts: 141
    edited 2007-02-27 02:02
    Okay, I checked, and the Elektor article is about interfacing Alcatel GSM LCD,s and can be found here:

    www.elektor-electronics.co.uk/Default.aspx?tabid=27&art=53289&PN=On

    The article itself can be downloaded as a .PDF, but its not a free download.


    You might therefore also want to take a look at the LCDHype forum board which has a lot of info about using LCD's, you will find it here:

    lcdhype.de/index.php?act=idx

    Mahjongg
  • inserviinservi Posts: 113
    edited 2007-02-27 11:04
    Hello, some time ago (one or two years), i read an article in Elektor about the using of recuperating Nokia screen with µC.

    I will try to find it.

    dro.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    in medio virtus
  • ALIBEALIBE Posts: 299
    edited 2007-02-27 13:22
    LCDHype has tons of info - not just one type of LCD - but so many mftrs' . Thanks for forwarding the link mahjongg!!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "any small object, accidentally dropped, goes and hides behind a larger object."


    ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
    http://ALIBE.crosscity.com/
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-03-03 04:25
    Here's the file I promised in the PM, like I said it is really really slow. Switching to an assembly version of the SPI routines·would drastically speed things up.··It's not well commented because I used Bean's example code from the sparkfun website.

    Credit goes to Bean for his code and Martin for his SHIFTOUT routine.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • ALIBEALIBE Posts: 299
    edited 2007-03-03 13:23
    Paul, Bean, Martin - thanks a lot for this.

    I tried this on my LCD and all I see it that the blue screen and a short-lived refresh (from possibly the ::Cls() ). I don't see any other activity.

    I have 10Ks for each of the pins except for the VDD and VSS. I have the LCD riding on the knock-off carrier board

    what am I doing wrong.

    thanks in advance

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "any small object, accidentally dropped, goes and hides behind a larger object."


    ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
    http://ALIBE.crosscity.com/
    ·
  • inserviinservi Posts: 113
    edited 2007-03-03 13:35
    Hello here are the article from Elektor 06/07/2006.
    dro.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    in medio virtus

    Post Edited (inservi) : 3/3/2007 1:44:56 PM GMT
    691 x 832 - 79K
    695 x 746 - 93K
  • ALIBEALIBE Posts: 299
    edited 2007-03-03 14:08
    wanted to add;
    I changed the contrast adjusting loop from "130" to various settings and still do not see a difference. just a blue scr.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "any small object, accidentally dropped, goes and hides behind a larger object."


    ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
    http://ALIBE.crosscity.com/
    ·
  • ALIBEALIBE Posts: 299
    edited 2007-03-03 14:28
    I "see some light" [noparse]:)[/noparse]

    I tried VOLDOWN ($D7) and, "Houston, we see some activity" - not there fully yet though.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "any small object, accidentally dropped, goes and hides behind a larger object."


    ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
    http://ALIBE.crosscity.com/
    ·
  • ALIBEALIBE Posts: 299
    edited 2007-03-03 15:23
    it is working - I agree - it is slow!

    outside of writing some of the guts in ASM, are there any recommendations to making this faster. Also, any thougths on displaying regular text? Will that be any faster than the Gx plotting ?

    thanks

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "any small object, accidentally dropped, goes and hides behind a larger object."


    ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
    http://ALIBE.crosscity.com/
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-03-03 18:56
    When plotting consecutive points you can streamline it a bit, but you really need to make the SHIFTOUT routine assembly. There are some examples in the object library (if there isn't an explicit example, the SD routines have a shiftout/in type of interface at thier core).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • Harrison.Harrison. Posts: 484
    edited 2007-03-03 20:10
    Beau wrote a nice spi library in asm as an example in a sticky in this forum. Go here http://forums.parallax.com/forums/default.aspx?f=25&m=141093 and search for shiftout on that page.

    You can also download the object directly at: http://forums.parallax.com/forums/attach.aspx?a=8953
  • paulmacpaulmac Posts: 51
    edited 2007-03-04 09:02
    serdisplib (linux software) has code for the pcd8544 displays mentioned in that Elektor article. It also has a lot of info about the hardware.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I stand on the shoulders of giants
  • ALIBEALIBE Posts: 299
    edited 2007-03-04 11:36
    paulmac, inservi; thank you both for the additional material.

    Harrison, Beau, currently checking the SPI Lib in ASM - will report back

    thanks all

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "any small object, accidentally dropped, goes and hides behind a larger object."

    ·
    ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
    http://ALIBE.crosscity.com/
    ·
  • lnielsenlnielsen Posts: 72
    edited 2007-03-05 19:13
    I am also looking at adding a display with soft buttons for my robot controller. DigiKey has the OSRAM Pictiva displays which are oLED based. I don't know if I need color so I am leading towards the 1" 128x64x4 grayscale for $9. I am thinking I can show images from the PropCam on it once that is available and still have room for the soft buttons. I am also interfacing to a Logitech wireless PS2 controller. I wish I could get the new PS3 controller working with the motion sensing features as well but that will take bluetooth.

    I will be ordering the display soon and will try the SPI as well.

    Len
  • JelloJello Posts: 9
    edited 2007-04-04 23:14
    Hi everyone,

    Paul Baker has done the Epson driver for this lcd.· Has anyone done a Phillips driver for the (nearly identical) Phillips lcd? The pin outs are the same. Nokia phones are supposed to be smart enough to figure out which driver to use.

    I·scrounged my lcds from·a Nokias 3390 and 6030 (if i remember right), and they still work in the·phones when i put them back, ·but my problem is (according to info in the link below)·they're talk Phillips not Epson.

    http://www.electricstuff.co.uk/noklcd.html

    Anyway, I have tried to convert the Epson driver code to use Phillips commands etc., but not having much success. A pretty blue screen that does nothing.

    Oh, and i am using the·SparkFun lcd break out board. http://www.sparkfun.com/commerce/product_info.php?products_id=600·using·Header 1 (vin, cs, clk, data, reset, gnd) , tried jumpers jumped, unjumped.

    If someone has already been thru this for the Phillips, I would really like to here about your experience.

    thx

    ·<edit> attached my Philipized version of Pauls code, such as it is.

    Post Edited (Jello) : 4/4/2007 11:25:02 PM GMT
  • paulmacpaulmac Posts: 51
    edited 2007-04-04 23:22
    Jello said...
    A pretty blue screen that does nothing.
    I have heard of a similar result with some LCD. It turned out to be the contrast control.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I stand on the shoulders of giants
  • JelloJello Posts: 9
    edited 2007-04-04 23:27
    yeah, I tried the tweeking the contrast WRCNTR (write contrast) from it's min to max settings, but I can't see any difference.
  • JelloJello Posts: 9
    edited 2007-04-06 20:25
    Hotdog!
    The good news is: the lcd was not seated properly in the board! hooray! (shame on me for not looking closer)
    The other good news is my version of the Philips driver even works! hazaa! yippee!
    But.. like stated in an earlier post, it's really, really slow..·but it's better than nothing [noparse]:)[/noparse]
    So, I·took·some advice (also in an earlier post) and refactored to use the faster SPI Engine.spin assembly spi code.
    The bad news is,·the spi engine does not seem to work.
    Attached·is the updated·Philips driver if anyone gets a hankering to look at the spi engine calls.
    Seems like it should work. hmm.


    thx!


    <edit> to update attachment

    Post Edited (Jello) : 4/7/2007 1:47:23 AM GMT
  • JelloJello Posts: 9
    edited 2007-04-07 03:28
    Actually, only the sendData works with the assembly shiftout.
    The controller takes 9 bit commands/data
    Cmd = 0 + 8bits of data
    Data = 1 + 8bits of data

    PUB SendCommand(cmd)
    SHIFTOUT(SData, SClock, cmd, MSBFIRST, 9) ' spin version
    'SPI.SHIFTOUT(SData, SClock, MSBFIRST, 9, cmd) ' assembly version not working here

    PUB SendData(data)
    ' SHIFTOUT(SData, SClock, data | $100, MSBFIRST, 9) ' spin version
    SPI.SHIFTOUT(SData, SClock, data | $100, MSBFIRST, 9) 'assembly version DOES work here

    It's got to be something simple. I am just not seeing it yet.

    J
  • jkroylancejkroylance Posts: 12
    edited 2007-04-08 08:11
    I've been playing with this LCD and code for it, and I tried myself to merge the SPI routines into it and use them instead of the Spin ones. After driving myself nuts for several hours trying to figure out why the LCD works with the Spin code and not with SPI, I stumbled across something: If you issue the very first command to the LCD using the Spin shiftout code (even if it's not a valid command), then start using the faster SPI code, the LCD works fine, and is much faster. Only problem is I can't stand wasting that amount of space on code that's used just once. Attached is an archive of the version I got to work... This is my first attempt at working with propeller programming, so please excuse the sloppiness of the code. I commented alot & tweaked a bunch of stuff trying to figure out why it wouldn't work.

    Nokia Test.spin (top object file)
    NokiaLCD.spin
    SPIEngine.spin

    The part I was messing with is in NokiaLCD.spin toward the bottom of the file in InitLCD, there's a SendSpcCommand() call which calls the Spin shiftout routines to send a $00 to the LCD, then everything's SPI after that. My LCD works fine like this, but if you change SendSpcCommand() to SendCommand() (or even just comment out the whole line), the LCD is unresponsive.

    Hopefully someone can figure this one out, it's got me stumped!
Sign In or Register to comment.