Send text from PC(Serial) to LCD(16*2) using VirtualWire

hey guys i am trying to build a wireless one way transmission hardware which send text from PC to LCD wirelessaly its working quite well but when text is more than 16 letters it can not be displayed i want a auto scrolling program to scroll with every new letter
here are the codes:

Transmitter :

#include <VirtualWire.h>

const int led_pin = 13;
const int transmit_pin = 12;
const int receive_pin = 2;
const int transmit_en_pin = 3;
int pin = 0;
void setup()
{
Serial.begin(9600);
vw_set_tx_pin(transmit_pin);
vw_set_rx_pin(receive_pin);
vw_set_ptt_pin(transmit_en_pin);
vw_set_ptt_inverted(true);
vw_setup(2000);
pinMode(led_pin, OUTPUT);

}

byte count = 1;

void loop()
{

int msg[1]={Serial.read()};

msg[1] = count;
digitalWrite(led_pin, HIGH);
vw_send((uint8_t *)msg, 1);
vw_wait_tx();
digitalWrite(led_pin, LOW);
delay(1);
count = count + 1;

}

Receiver :

#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int receive_pin = 13;

void setup()
{
delay(1000);
Serial.begin(9600);
Serial.println(“setup”);
vw_set_rx_pin(receive_pin);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_rx_start();
lcd.begin(16, 2);
}

void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
char i;
for (i = 0; i < buflen; i++)
{
switch (buf*)*

  • {*
  • case 97:*
  • lcd.print(‘a’);*
  • break;*
  • case 98:*
  • lcd.print(‘b’);*
  • break;*
  • case 99:*
  • lcd.print(‘c’);*
  • break;*
  • case 100:*
  • lcd.print(‘d’);*
  • break;*
  • case 101:*
  • lcd.print(‘e’);*
  • break;*
  • case 102:*
  • lcd.print(‘f’);*
  • break;*
  • case 103:*
  • lcd.print(‘g’);*
  • break;*
  • case 104:*
  • lcd.print(‘h’);*
  • break;*
  • case 105:*
  • lcd.print(‘i’);*
  • break;*
  • case 106:*
  • lcd.print(‘j’);*
  • break;*
  • case 107:*
  • lcd.print(‘k’);*
  • break;*
  • case 108:*
  • lcd.print(‘l’);*
  • break;*
  • case 109:*
  • lcd.print(‘m’);*
  • break;*
  • case 110:*
  • lcd.print(‘n’);*
  • break;*
  • case 111:*
  • lcd.print(‘o’);*
  • break;*
  • case 112:*
  • lcd.print(‘p’);*
  • break;*
  • case 113:*
  • lcd.print(‘q’);*
  • break;*
  • case 114:*
  • lcd.print(‘r’);*
  • break;*
  • case 115:*
  • lcd.print(‘s’);*
  • break;*
  • case 116:*
  • lcd.print(‘t’);*
  • break;*
  • case 117:*
  • lcd.print(‘u’);*
  • break;*
  • case 118:*
  • lcd.print(‘v’);*
  • break;*
  • case 119:*
  • lcd.print(‘w’);*
  • break;*
  • case 120:*
  • lcd.print(‘x’);*
  • break;*
  • case 121:*
  • lcd.print(‘y’);*
  • break;*
  • case 122:*
  • lcd.print(‘z’);*
  • break;*
  • case 32:*
  • lcd.print(’ ');*
  • break; *
    }
  • }*
  • }*
    }

Will this message use both rows or just the top?

HazardsMind:
Will this message use both rows or just the top?

It uses just top row