Parece que a função vw_send está só a espera de caracteres ASCII, para isso use a função itoa, que converte de int para um array de caracteres o numero.
Pode pesquisar sobre ela no google com itoa avr, o uso tipico é assim:
char buff[6];
itoa(msg, bff, 10);
buff é um buffer que guarda o valor convertido de int para caracteres ascii, convem ter pelo menos o numero de digitos que quer enviar mais uma posição para o caracter terminador de string, depois no itoa o primeiro argumento é o numero/variavel que quer converter, o segundo é o buffer e o terceiro é a base de conversão, 10 é para decimal, 2 para binário, 8 para octal e 16 para hexadecimal.