String on LCD dropping a line

I am a beginner at Arduino, and am trying to program a 16x2 LCD screen. I wrote a program to to make the text scroll across the screen until it disappears, then clear and reset.

I discovered that when I enter a long line of text, any digits after the 24th drop down to the second line. Can anyone tell me why this would be?

This is my code:

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
}

void loop() {
// set the cursor to (16,0):
lcd.setCursor(16, 0);
// establish the string
String Str1 = “What about a longer line?”;
lcd.autoscroll();
//print character by character for the length of the string
for (int n = 0; n < Str1.length(); n++) {
lcd.print(Str1.charAt(n));
delay(300);
}

// scroll 16 positions (display length) to the right
// to move it offscreen right:
for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
// scroll one position right:
lcd.scrollDisplayLeft();
// wait a bit:
delay(300);
}

lcd.clear();
delay(300);

}

When I load the code, it scrolls something like this:

What about a longer line
?

Anyone know why this might be happening?

I discovered that when I enter a long line of text, any digits after the 24th drop down to the second line. Can anyone tell me why this would be?

Yes. Follow the [u]LCD Addressing[/u] link at http://web.alfredstate.edu/weimandn for a description of how the LCD memory is structured. From that you should be able to figure out what is happening.

Don