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); }