10 jul 2014

PRÁCTICA 4: FRECUENCIA DE PARPADEO DE LED VARIABLE

En esta práctica vamos a trabajar con un potenciómetro como dispositivo de entrada analógico para controlar la frecuencia de flasheo de un LED conectado a una salida digital.

Para ello utilizaremos la función analogRead(pin). Lee el valor de tensión en el pin analógico especificado. La placa Arduino posee 6 canales (8 canales en el Mini y Nano y 16 en el Mega) conectados a un conversor analógico digital de 10 bits. Esto significa que convertirá tensiones entre 0 y 5 voltios a un número entero entre 0 y 1023. Esto proporciona una resolución en la lectura de: 5 voltios / 1024 unidades, es decir, 0.0049 voltios (4.9 mV) por unidad. El rango de entrada puede ser cambiado usando la función analogReference().

El conversor tarda aproximadamente 100 microsegundos (0.0001 segundos) en leer una entrada analógica por lo que se puede llevar una tasa de lectura máxima aproximada de 10.000 lecturas por segundo.

Mientras que el uso principal de estos pines por los usuarios de Arduino es para la lectura de sensores analógicos, estos pines tienen también toda la funcionalidad de los pines de entrada-salida de propósito general (GPIO) (al igual que los pines 0 - 13).

Consecuentemente, si un usuario necesita más pines de propósito general de entrada-salida, y no se está usando ningún pin analógico, estos pines pueden usarse como GPIO.

MATERIAL NECESARIO

1 – Tarjeta ARDUINO UNO
1 – Cable USB para Arduino
1 – Placa Protoboard
1 – Software IDE de Arduino
1- Diodo Led de cualquier color (Común)
1- Resistencia de 220 / 330 Ohms
1- Potenciómetro de conexión a Protoboard, de 10 Kiloohmios.

CONEXIONADO DE LOS COMPONENTES


CIRCUITO ESQUEMÁTICO


CÓDIGO

/* VARIANDO LA FRECUENCIA DE FLASH DE UN LED MEDIANTE UN POTENCIÓMETRO
En esta práctica utilizaremos una entrada analógica (mediante un
potenciómetro) para variar la frecuencia de flasheo de un LED
(conectado en una salida digital)
*/
int potPin = 0; //pin de entrada para el potenciómetro
int ledPin = 13; //pin de salida para el LED

void setup()
{
pinMode(ledPin, OUTPUT); //declara ledPin como salida
//los pines de entrada analógica no es necesario configurarlos
}

void loop()
{
digitalWrite(ledPin, HIGH);              //activa el LED
delay(analogRead(potPin));      /*provoca un retraso según valor de la
lectura de la entrada analógica (potenciómetro). analogRead()
devuelve un valor entre 0 y 1023*/
digitalWrite(ledPin, LOW);              //desactiva el LED
delay(analogRead(potPin));      /*provoca un retraso según valor de la
lectura de la entrada analógica (potenciómetro). analogRead()
devuelve un valor entre 0 y 1023*/
}



VÍDEO DEMOSTRATIVO


No hay comentarios:

Publicar un comentario