Parallax LCD help

Hi all,

I'm new to the language and would like some help to get me started. I just bought a Parallax LCD and would like to get it up and running using,

#include <NewSoftSerial.h>
#include <ParallaxLCD.h>

I really just want to turn on the backlight and print 'Hello World" for right now, but I would eventually like to use this on my Arduino's RX1 pin to capture data.

Any help would be greatly appreciated.

Thanks in advance.

Links are more useful than words.

Is the Parallax LCD a serial LCD or does it have a bunch of wires? Where have you connected however many wires there are?

What have you tried? With what results?

Thanks for the reply PaulS.

The LCD is http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/lcd/List/0/SortField/4/ProductID/50/Default.aspx

I've tried using the example given in the Parallax™ Serial LCD's library.
You can find it here. Arduino Playground - LCD

I've tried connecting GND to GND pin, 5V to 5V pin, and RX to pin 2.
I'm using a Arduino Uno.

Like I said I'm new to the language, but am eager to learn...just need to be pointed in the right direction.

Cheers

... and RX to pin 2.

But pin 2 is the Arduino RX pin. If you want to receive (RX) something on the LCD then you have to connect it to to the transmitter (TX) of the Arduino.

Don

Thanks for your reply.
Unfortunately I've tried that combination too.

Can't I just use that library example and connect the pins?

Arduino - Parallax LCD

GND - GND
5V - 5V

Tried the following:
Rx - Rx
Rx - Tx
Rx - pin 2
Rx - pin a2

I used the example in the ParallaxLCD without changing any code, but the LCD doesn't respond. Just a cursor that doesn't even blink.

Hi, have you tried the test mode using the dip switches on the rear of the PCB to check you LCD is working correctly? Also have you set the right baud rate again via the dip switches? The tx pin on the uno needs to be connected to the LCD's rx pin, remember the serial connections cross over.

Hi thanks for helping.
Yes, I've tried the dip switches on the back and set them both to OFF in order to test whether it was working or not. It does work and goes into demo mode.
I switched the dip switches to be set at 9600 baud, then I ran that example sketch that came with the Parallax Serial library.
It doesn't work.

/* 
 	NOTE: you must: #include <NewSoftSerial.h>
 	BEFORE including the ParallaxLCD.h header
 */

#include <NewSoftSerial.h>
#include <ParallaxLCD.h>

ParallaxLCD lcd(2,2,16); // desired pin, rows, cols

void setup () {

  lcd.setup();
  delay(1000);
  lcd.backLightOn();
  lcd.at(1,4,"Milliseconds\0");
  delay(1000);
  lcd.off();
  delay(1000);
  lcd.on();
  lcd.pos(0,1);
  lcd.at(2,7,"m:\0");
  for (int b=0; b<101; b+=5) {
    lcd.pos(0,3);
    lcd.at(2,9,millis());
    delay(500);
  }
  lcd.empty();
  lcd.print("Line Feed\0");
  for (int b=0; b<51; b+=5) {
    lcd.lf();
    delay(500);
  }
  lcd.empty();
  lcd.print("Chr Return\0");
  delay(1000);
  for (int b=0; b<51; b+=5) {
    lcd.pos(0,11);
    delay(500);
    lcd.cr();
    delay(500);
  }

  lcd.cursorBlock();
  lcd.empty();
  lcd.print("Block Cursor\0");
  for (int x=1; x<16; x++) {
    lcd.pos(1,x);
    delay(500);
  }
  lcd.empty();
  lcd.pos(1,1);
  lcd.cursorUnderline();
  for (int x=1; x<16; x++) {

    lcd.pos(1,x);
    delay(500);
  }
  lcd.backLightOff();
  lcd.cursorOff();
}

void loop () {
  lcd.at(2,9,millis());
}

I did notice that there isn't any code in there that determines the baud rate. Shouldn't it also have serial.begin(9600); or something of that nature?
I tried serial.begin(9600); by the way and it doesn't work either.

Cheers

Try to reduce this to a simple does it work or not problem.

If you want a simple test just treat the LCD as a serial device and print to it . Just hook up to pin 1 (TXD) and use the hardware serial.

If you don't know how to do a simple program for this read up on communications and there should be many examples on using serial.

P.S. I tried to load that 3wire for parallax but got errors.

Hi justone, and thanks for the comment.

Yes it does work, but no luck with the Parallax LCD library.

Here is how I got it working so far:

// Parallax LCD #27977 codes that seem to work
// Work in progress

void setup()  {
  Serial.begin(9600);  // 2400, 9600, or 19,200
}

// Uncomment the ones you want

void loop()  {
//  Serial.print(0x11,BYTE);  // turn the backlight on all the time
//  Serial.print(0x12,BYTE);  // turn the backlight off all the time
//  clearLCD();  // seems to work
//  Serial.print("Hello Parallax");  // prints text to the current cursor position.
}

Now that I have this working somewhat, maybe someone can tell me where I can find out more information on the 'Serial.print()' commands?
For instance I now know that 'Serial.print(0x11,BYTE);' turns the backlight on, but where do I find more information on other codes? Exactly what type of codes are they?

The type of LCD I have indicates that it has a Piezospeaker; now how do I use that?

Any help regarding the codes would be much appreciated.

Cheers

where do I find more information on other codes?

The link to the LCD that you posted contains other links, though they are not all that obvious. One of them is to this:
http://www.parallax.com/Portals/0/Downloads/docs/prod/audiovis/27976-7-9-ParallaxSerialLCD-v3.0.pdf
It has answers to all of your questions.

I am trying to use the same LCD display. I'm trying to the example ParallaxLCD but its giving me errors regarding the NewsoftSerial its saying the directory cannot be found meanwhile the file in same directory as the pde file. I also changed the <> to "" but no luck.

I'm trying to the example ParallaxLCD but its giving me errors

The ParallaxLCD is giving you errors? Hard to fathom that.

regarding the NewsoftSerial

NewsoftSerial is rubbish. NewSoftSerial is correct.

its saying the directory cannot be found

What is saying that? Which directory can not be found?

meanwhile the file in same directory as the pde file.

What file? The NewSoftSerial.h and NewSoftSerial.cpp files belong in the NewSoftSeria directory in the libraries directory in the sketchbook directory, NOT in the same directory as the pde file.