Controlando porta PWM?

Galera venho pedir um favor. Eu estou com dificuldade de montar um código no arduino.
Gostaria que ele funcionasse assim:
Eu vou enviar através do programa Visual Basic um valor da barra de scroll,, isso eu monto.
Ae lendo o valor o arduino iria manda na porta PWM que eu programei um valor de tenção que ira variar de apagado pra aceso, mais com um efeito de fade.
Eu tentei assim

int caracter;

void setup()
{
Serial.begin(9600);
delay(1000);
}

void loop()
{

caracter=0;
int recebeValor = analogRead(caracter);
int ledPin = 9;
if (Serial.available()> 0)
{
caracter=Serial.read();
Serial.println(recebeValor);

delay(30);
}
for(int fade = recebeValor; fade <= 255; fade +=2){
analogWrite(ledPin, fade);
delay(30);
}
}

Agradeço antecipadamente.