Sei sulla pagina 1di 3

Kurtso/Curso:

Ikasgaia/Tema:

Bachillerato 2
Microcontroladores

Ikasgaia/Asignatura:
Dokumentua/Documento:

DAO
Ficha 05 Entradas analgicas

Ficha 05 Entradas analgicas


Introduccin
Hasta ahora slo hemos utilizado las entradas / salidas digitales de la placa Arduino. En esta ficha se van a utilizar los pines
A0-A5, que proporcionan entradas (no salidas, slo entradas) analgicas. Las entradas analgicas, en lugar de obtener slo un
valor HIGH o LOW permiten obtener un rango de valores entre 0 y 1023 que luego deber de ser interpretado por el
programa.
En esta ficha se va a utilizar un potencimetro. Un potencimetro es una resistencia variable, que puede impedir el paso de
toda corriente (valor 0), o permitir que pase toda (valor 1023).
El esquema de conexin del potencimetro es el siguiente:

El potencimetro tiene 3 pines: dos en la misma cara, y uno en la cara opuesta. Los pines que estn en la misma cara deben
conectarse a tierra y 5V (indistintamente), y el que est en la cara contraria, proporcionar la entrada analgica.
Su conexin en la placa de prototipos no es sencilla, ya que no encaja correctamente (se suelta) a no ser que se conecte en
diagonal, como en la siguiente fotografa:

Orrialde/pgina: 1/3

C/Iturribide, 78 C.P. 48006 - Bilbao - Tlfn. 94.432.91.00


www.maristasbilbao.com | elsalvador@maristasbilbao.com

Kurtso/Curso:
Ikasgaia/Tema:

Bachillerato 2
Microcontroladores

Ikasgaia/Asignatura:
Dokumentua/Documento:

DAO
Ficha 05 Entradas analgicas

Leyendo datos analgicos


Realiza el montaje de un potencimetro en la entrada analgica 0, y copia el siguiente programa de prueba. Puedes ver que
no resulta complicado realizar la lectura de un valor analgico:
// Potencimetro en la entrada analgica 0
const int PinPot = 0;
void setup()
{
// Conexin con el ordenador
Serial.begin(9600);
}
void loop()
{
// Leer el valor del potencimetro
int val = analogRead(PinPot);
// Enviar el valor del potencimetro al ordenador
Serial.print("Valor del potencimetro:");
// Esperar un segundo
delay(1000);
}

Como puedes observar, el programa realiza lo siguiente:

Inicializa la conexin con el ordenador


Cada segundo, lee el valor del potencimetro, y lo enva al ordenador

Ten en cuenta que no se ha utilizado "pinMode" para indicar que A0 es una entrada, ya que los pines analgicos A0-A5 slo
pueden utilizarse como entradas, nunca como salidas.
Ejercicio: conecta otro potencimetro, y modifica el programa para que enve el siguiente mensaje al ordenador: "Valor
del potencimetro 1: ; Valor del potencimetro 2: " (todo el mensaje en la misma lnea). No olvides realizar primero el
esquema con el programa Fritzing.

Cambiando la frecuencia de un LED


Conecta un LED y un potencimetro a la placa Arduino, y crea un programa que haga lo siguiente:

El LED debe parpadear X veces por segundo.


La frecuencia del parpadeo vendr dada por el valor del potencimetro:
o Un valor 0 equivale a cambiar su estado una vez por segundo
o Un valor 1023 (el mximo), equivale a cambiar su estado 20 veces por segundo

Qu vas a necesitar para realizar este programa?

Declarar constantes para los pines del LED y del potencimetro


En la funcin "setup" indica que el pin del LED ser una salida
Necesitars una funcin "cambiarEstado" que apague el LED si est encendido, y lo encienda si est apagado (y
guarde su estado en una variable)
Necesitars una funcin "tiempoTranscurrido" que calcule el tiempo transcurrido desde el ltimo cambio del LED
Necesitars una funcin "tiempoNecesario" que haga lo siguiente:
o obtenga el valor del potencimetro
o utilice una frmula tal que, si el valor es 0, el tiempo necesario para cambiar de estado al LED sea 1000 (un
segundo), si el valor es 1023 sea 50 (20 veces por segundo), y valores intermedios del valor proporcionen
tiempos intermedios. (cuidado: si empleas nmeros en la frmula, asegrate de emplear nmeros reales,
es decir, termnalos con ".0", porque si no, se realizar la divisin entera, en lugar de real)

Orrialde/pgina: 2/3

C/Iturribide, 78 C.P. 48006 - Bilbao - Tlfn. 94.432.91.00


www.maristasbilbao.com | elsalvador@maristasbilbao.com

Kurtso/Curso:
Ikasgaia/Tema:

Bachillerato 2
Microcontroladores

Ikasgaia/Asignatura:
Dokumentua/Documento:

DAO
Ficha 05 Entradas analgicas

En la funcin "loop", si el tiempo transcurrido es mayor que el tiempo necesario, cambia el estado.

Ejercicio: lo primero de todo, tienes que pensar cmo aplicar las matemticas bsicas para obtener una funcin que
calcule el tiempo del parpadeo tal y como se indica en el programa. Una vez hayas pensado eso, realiza el esquema en
Fritzing e implementa el programa que se solicita. Para que te hagas una idea de qu debe realizar tu montaje, tienes un
vdeo en: http://youtu.be/6xRKzPoF04U .
Pista: la grfica de la funcin que te permitir calcular el tiempo necesario ser la siguiente (X es el valor del
potencimetro, e Y el tiempo necesario):

Ejercicio 2: ahora conecta 2 LEDs y 2 potencimetros, de forma que ambos sean independientes (realiza primero el
diagrama en Fritzing).

Orrialde/pgina: 3/3

C/Iturribide, 78 C.P. 48006 - Bilbao - Tlfn. 94.432.91.00


www.maristasbilbao.com | elsalvador@maristasbilbao.com

Potrebbero piacerti anche