El circuito (realizado con Fritzing):

/*
* Este programa cambia la intensidad de un LED en base al valor de un potenciometro.
*
* 2014 - Guimi (http://guimi.net)
*/
// VARIABLES
//----------
const byte led=5; // Variable que indica el pin del led
const byte sensor=0; // Variable que indica el pin del sensor (potenciometro)
int valorSensor=0; // Variable para guardar el valor del sensor [0-1023]
// FUNCION SETUP
//--------------
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(sensor, INPUT);
// Preparamos la comunicacion mediante el puerto serie
//Serial.begin(9600);
}
// FUNCION LOOP
//-------------
void loop() {
// Leemos el valor del sensor [0-1023]
valorSensor=analogRead(sensor);
// Mostramos informacion por el puerto serie
//Serial.print("sensor = " );
//Serial.println(sensorValue);
// La lectura analogica es de 0-1023
// La escritura PWM es de 0-255
valorSensor=map(valorSensor,0,1023,0,255); // Este comando hace una regla de 3 (mapea) entre ambos rangos
// Escribimos en el LED el valor correspondiente [0-255]
analogWrite(led,valorSensor);
// Esperamos un tiempo de reaccion para el LED
delay(3);
}