Shop OBEX P1 Docs P2 Docs Learn Events
Has anyone worked with this screen before? — Parallax Forums

Has anyone worked with this screen before?

Private19872Private19872 Posts: 61
edited 2014-09-05 18:44 in Propeller 1
I recently bought this screen from Sparkfun. Once I plugged it in, it lit up and showed its splash screen, however, when I try to interact with it using my propeller, it doesn't recognize the serial commands I send. I set up this program very quickly to test it.
CON
        _clkmode = xtal1 + pll16x                                               'Standard clock mode * crystal frequency = 80 MHz
        _xinfreq = 5_000_000


OBJ
  lcd      : "FullDuplexSerial"
  
PUB Main


  lcd.start(0, 1, 00, 115_200)


  waitcnt(clkfreq+cnt)
  
  lcd.str(string(124, 12))
    


I checked it using the Parallax Serial Terminal, but it still doesn't seem to be doing anything on the screen. The screen's documentation says it uses 8 N 1 serial at a default of 115,200 baud. I'm wondering if I may have coded something incorrectly or just am using the wrong object for the job.

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2014-09-03 19:56
    Make sure you have a 3.3K resistor between the Propeller transmit pin and the LCD receive pin. The Propeller operates at 3.3V and the LCD operates at 5V. Even though the LCD pin should be input-only and never should output a 5V signal, you don't know that for sure. Putting 5V on a Propeller pin can destroy it.

    It's not clear how the LCD's receive pin is connected. It may be that it's 3.3V tolerant (can accept a 3.3V logic signal), but you don't know that for sure.

    FullDuplexSerial should work for this purpose provided the above hardware issues are addressed. More information on the serial display controller would be helpful.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-09-03 20:45
    CMOS logic threshold of 0.7Vcc for the LCD mean that you need at least 3.6V but a quick&dirty way around this is to either feed the +5V to the LCD through a diode which will reduce the voltage enough to accept 3.3V signals but should also be enough to allow the LCD to operate. At lest you will be able to confirm operation. What are you sending in the string? Surely you would want to print something more substantial? You should try this first.

    The other way to boost the signal is to just use a 74HCT gate that is powered from +5V, maybe 2 inverters in series perhaps but they are quite happy to accept anything as low as 2V as a logic high. Of course 2 cascaded grounded-emitter NPNs will do the trick too if that makes it easier.

    EDIT: anything lower than 5V will affect the backlight and display contrast but you should still see it operating anyway.
  • Private19872Private19872 Posts: 61
    edited 2014-09-05 13:47
    Sorry for taking so long to reply. I added a transistor to send a 5 volt signal to the screen instead of 3.3v but it still doesn't seem to be doing anything. As for what I was sending, according to the tutorial on their website, it's the control code to toggle the screen coloring (white on blue or blue on white).
  • Private19872Private19872 Posts: 61
    edited 2014-09-05 18:44
    Actually, never mind. The control code I was sending was incorrect. I tried "Hello world" and it worked just fine. Thank you for your time. Also, if anyone else is considering using this screen, it can accept a 3.3v signal from the propeller just fine without amplification.
Sign In or Register to comment.