16X2 LCD: Sliding writings

Hey guys. So I was trying to make a sliding writing coming out of the lcd screen. I'm using the first row already and I want a sliding writing on the second row. Lets say I want to write "Hello".

I tried to set the cursor to (-6, 1) // print("Hello") // and then scroll display left enough times with for loop so that it comes to the center. But when I set the cursor to (-6, 1) and try to print there, it automatically prints it to (0, 1). Is there any way to turn this option off?

And another quick question, when I scroll display for example left, does the whole writing slides to the left or can I specify so that for example only second row scrolls to the left?

Any help would be greatly appreciated! Thanks in advance...

Scroll works on all lines.

If you want one line to move and the other lines to remain stationary:
Handle the text in a software buffer. Set the cursor where you want it, and print the letters from your buffer.

Even a 20x4 display only needs a 80-char software buffer. It is simple to process the "screen image" in SRAM. Then either send all 80 chars or just the chars that have changed.


There is a very limited benefit in scrolling on a character LCD. For one thing, you have to move a complete character position, you cannot smoothly scroll, and the LCD has significant persistence so it blurs.

Animation in general is not terribly successful. :roll_eyes: