Go Down

Topic: serial display examples matrix orbital display (Read 1 time) previous topic - next topic

ghost2501

Sep 24, 2012, 02:51 am Last Edit: Sep 24, 2012, 02:53 am by ghost2501 Reason: 1
I tried using this example in the learning section it seems outdated? http://arduino.cc/playground/Learning/SerialLCD

It says to replace the BYTE and serial.print with serial.write. I did a find and replace for both of those then it just starts nit picking everything on down the page. i used thsi link http://blog.makezine.com/2011/12/01/arduino-1-0-is-out-heres-what-you-need-to-know/ to find out about replacing the serial.print etc.

I just need a real simple example that says hello world to my display and that is it. All the other examples have like 50 lines of code and expect me to know what to leave in or out.

and links on serial lcd displays using arduino I am actually quite dissapointed as i cant seem to find any and all my displays are serial matrix orbital displays.

here is my code so far after doing the find and replace, i get sketch_sep23c:153: error: expected primary-expression before ')' token on most any line i dont delete.

Code: [Select]

//  *
//  * ------------
//  *  Control a Serial LCD Display
//  *  
//  *  Tested on a Matrix Orbital model LCD0821 display.
//  *  Other diplays will work but may have slightly different
//  *  command codes and hardware setups.
//  *  
//  *  Copyleft 2006 by djmatic
//  *  
//  *   ------------
//  *
//  *


// Declare your program variables here


// Arduino and LCD setup

void setup()
{
 Serial.begin(19200); // era beginSerial


//       LCD setup commands: uncomment the ones you want to use
//       Note: These codes (i.e. the ones following 254) may have to be changed for
//       different manufacturer's displays

//       Turn Auto scroll ON
//         Serial.write(254, );
//         Serial.write(81, );    
//      
//       Turn Auto scroll OFF
//         Serial.write(254, );
//         Serial.write(82, );

//       Turn ON AUTO line wrap
//         Serial.write(254, );
//         Serial.write(67, );              

//       Turn OFF AUTO line wrap
//         Serial.write(254, );
//         Serial.write(68, );

//       Turn OFF the block cursor    
//       Note that setting both block and underline
//       cursors may give unpredictable results.
          Serial.write(254, );
          Serial.write(84, );              

//       Turn ON the block cursor
//         Serial.write(254, );
//         Serial.write(83, );  

//       Turn ON the underline cursor
//         Serial.write(254, );
//         Serial.write(74, );              

//       Turn OFF the underline cursor
//         Serial.write(254, );
//         Serial.write(75, );              
}




//  MAIN CODE

void loop()
{
 //backlightOn(0);  // turn the backlight on all the time

 clearLCD();
 Serial.write(" Hello");  // print text to the current cursor position
 newLine();              // start a new line
 Serial.write("Arduino");
 delay(5000);
}




//  LCD  FUNCTIONS-- keep the ones you need.

// clear the LCD
void clearLCD(){
 Serial.write(12, );
}


// start a new line
void newLine() {
 Serial.write(10, );
}


// move the cursor to the home position
void cursorHome(){
 Serial.write(254, );
 Serial.write(72, );
}


// move the cursor to a specific place
// e.g.: cursorSet(3,2) sets the cursor to x = 3 and y = 2
void cursorSet(int xpos, int ypos){  
 Serial.write(254, );
 Serial.write(71, );              
 Serial.write(xpos);   //Column position  
 Serial.write(ypos); //Row position
}


// backspace and erase previous character
void backSpace() {
 Serial.write(8, );
}


// move cursor left
void cursorLeft(){    
 Serial.write(254, );
 Serial.write(76, );  
}


// move cursor right
void cursorRight(){
 Serial.write(254, );
 Serial.write(77, );  
}


// set LCD contrast
void setContrast(int contrast){
 Serial.write(254, );
 Serial.write(80, );  
 Serial.write(contrast);  
}


// turn on backlight
void backlightOn(int minutes){
 Serial.write(254, );
 Serial.write(66, );  
 Serial.write(minutes); // use 0 minutes to turn the backlight on indefinitely  
}


// turn off backlight
void backlightOff(){
 Serial.write(254, );
 Serial.write(70, );  
}


can anyone edit that code down so a serial matrix orbital display hooked up like he shows using rx and tx pins can just say hello world to me etc. then i can take a breath adn move on but this is really annoying.

liudr

You can't do this:
Quote
Serial.write(254, );
           Serial.write(84, );               


You should do this:
Code: [Select]
           Serial.write(254);
           Serial.write(84);               


regardless what they do to your display.

ghost2501

ok thanks like i said i used find and replace to get rid of the BYTE in his examples as that was the first error that came up. I am trying to figure out if i should stick with serial or go to i2c with this.

Regardless liek i said i cant find a serial display example that even compiles the code let alone talks to my display.

I wish there was a real simple serial lcd display test example everyones always says i remade thsi library etc and has a thousand commands or they have every command on the page adn have the hash marks blocking them all.

liudr

You should find ",BYTE" or ", BYTE" and replace with "". Not a joke. You can do that.

Every serial display is different from every other serial display. You need to stick to the program provided by your display seller. Once you know the baud rate the display is using, just use Serial.print("Hello"); to display on it.

The hash marks mean the line is commented out, so not to be executed.

ghost2501

#4
Sep 24, 2012, 06:25 am Last Edit: Sep 24, 2012, 06:29 am by ghost2501 Reason: 1
well i thought serial.print was replaced with the .write anyway it said that when i tried to compile/send it hence i replaced them all.

also random question is TTL to do with serial or does it have to to with i2c if i try to hook it up that way. There are jumpers that let the display talk using ttl  just wondering if i need to worry about ttl for i2c for troubleshooting.

Go Up