You are on page 1of 5

http://arduineando.matem.unam.

mx/proyectos/potenciometroLed

Controlando el parpadeo de un led con un


potenciometro
- componentes - circuito - diagrama - cdigo - variantes - referencias - otros -

En este proyecto vamos a sensar un potencimetro y con el valor que


obtengamos, vamos a controlar la frecuencia con la que va a
parpadear un led.
El valor que obtenemos del potenciometro con la
funcin analogRead(), un valor entre 0 y 1023, lo usaremos con la
funcin delay() para controlar la frecuencia en la que va a parpadear el
led
Usaremos un sketch muy similar al sketch Blink pero en ste
cambiaremos el valor del delay() usando los valores que nos da el
potenciometro.
- al inicio

Componentes
arduino
protoboard
un potenciometro
un led
una resistencia de 220 ohms (rojo, rojo, caf)

- al inicio

Circuito
En este proyecto vamos a tener dos citcuitos que ya hemos utilizado,
uno de salida, con el led que vamos a hacer parpadear y el otro el de
entrada, con un potenciometro del que obtendremos un voltaje entre 0
y 5 volts.
El led lo conectaremos como lo hemos venido haciendo, con una
resistencia de 220 ohms conectado por un lado a un pin digital y por el
otro a tierra.
El otro circuito es el del potenciometro, con los dos conectores laterales
del potenciometro conectados uno al pin de 5 volts del arduino y el otro
a pin de tierra. El conector central lo conectaremos a uno de los pines
analgicos del arduino.
- al inicio

Diagrama
- al inicio

Cdigo
En este proyecto vamos a usar un sketch muy similar al que utilizamos
para hacer parpadear un led.
La diferencia es que en este cdigo vamos a usar la
funcin analogRead() para leer los valores analgicos que nos
proporciona el potenciometro.
A esta funcin, igual que con el digitalRead(), hay que pasarle un slo
parmetro, el nmero del pin analgico que queremos leer o sensar.
El valor que nos devuelve esta funcin es un valor entre 0 y 1023. Y
vamos a usar este valor en la funcin delay() para determinar la
frecuencia con la que el led va a parpadear.
/*

En este proyecto leemos el valor analogico de un potenciometro

El valor leido lo usamos para controlar la frecuencia


con la que va a parpadear un led usandolo en la funcion
delay()

Tambien enviamos este valor a la computadora


utilizando la biblioteca Serial

*/

const int pinPot = A0; // pin del potenciometro, analogico


const int pinLed = 9; // pin del led, digital

int valorPot = 0; // variable para guardar el valor del


potenciometro

void setup() {
// ponemos el pin del led como de salida
pinMode(pinLed, OUTPUT);
// Aunque no es necesario Incializa el pin del potenciometro
como de entrada
pinMode(pinPot, INPUT);
// Inicializa la comunicacion serial
Serial.begin(9600);
}

void loop(){
// lee el valor del potenciometro
valorPot = analogRead(pinPot);
// manda el valor por el serial
Serial.print("Valor del sensor analogico = ");
Serial.println(valorPot);

digitalWrite(9, HIGH); // pone el LED en HIGH, encendido


delay(valorPot); // espera de acuerdo al valor leido
digitalWrite(9, LOW); // pone el LED en LOW, apagado
delay(valorPot); // espera de acuerdo al valor leido
}

- al inicio

Variantes
Podemos agregar un valor al valor obtenido del potenciometro para
que no empiece desde cero y con este valor no veamos el parapadeo.
Podemos quitar el codigo que envia el valor del potenciometro para
que el tiempo de parpadeo sea igual entre apagado y prendido.
- al inicio

Referencias:
Arduino Reference: analogRead()
Referencia Arduino: analogRead()
Funcin para leer el estado de un pin analgico.
Arduino Reference: Serial.begin()
Referencia Arduino: Serial.begin()
Funcin para inicializar la biblioteca Serial y definir la velocidad de comunicacin.

Arduino Reference: Serial.print()


Referencia Arduino: Serial.print()
Funcin para enviar por el puerto serial los datos. Con println(), enva tambien un
retorno de carro.
- al inicio

You might also like