Controlar la intensidad de un led

Por favor ayudeme a corregir mi codigo

float entrada;
int led=10;
float salida;
int led1 = 10; 
char leer; 
boolean encendido = true;

void setup() {
Serial.begin(9600); 
pinMode (led1,OUTPUT); 
digitalWrite(led1,INPUT);
}

void loop() {
leer = Serial.read(); 
if ((leer == 'a')&&(encendido == false)){ 
 digitalWrite(led1, HIGH);
 encendido = true; 
}else if ((leer == 'a')&&(encendido == true)){
 digitalWrite(led1, LOW); 
 encendido = false;

}
}
{  
 entrada=analogRead(A0); 
 salida=map(entrada,0,1023,0,255); // salida=(entrada*255.)/1023
 analogWrite(led1,salida);  
}

Put the code that should be in the loop function into the loop function.

Please remember to use code tags when posting code.

Debes poner el código entre las etiquetas apropiadas.

Para controlar la intensidad pueden usar una salida digital tipo PWM, en Arduino UNO son los pines 3,5,6,9,10 y 11.

Te falto contarnos con que quieres controlar la intensidad del LED. Mira este ejemplo donde el LED cambia su intensidad solito.

byte n;
void setup(){
   pinMode(10, OUTPUT);
}
void loop(){
   analogWrite(10, n);
   n++;
   delay(10);
}