Skip to content

Semana 3 Entradas analogicas

Nestor Plasencia edited this page Nov 8, 2017 · 4 revisions

Potenciómetro

Un potenciómetro se define como un resistor de resistencia variable, es decir mediante un dial podemos variar el valor de salida que este posee.

Por ejemplo en un potenciómetro de 1 kohm o 1000 ohms, se ubica el dial en un 0%, los 1000 ohm serán para los terminales 1 y 2. Si se ubica en el 50%, divide en 500 ohm entre 1-2 y 500 ohm entre 2-3. Y si se ubica en el 100%, los 1000 ohms serán para los terminales 2 y 3.

En todos los casos se obtiene una división proporcional del total de la resistencia del potenciómetro.

Si alimentamos los terminales 1 y 3 con voltajes de 5 y 0 voltios; al mover el dial en el terminal obtendremos múltiples voltajes entre 0 y 5 voltios.

Convertidor ADC

Arduino posee un codificador ADC (Convertidor Analógico a Digital) que posee un rango de 5V y de una resolución de 10 bits

Esto quiere decir que puede dividir el rango de 0V a 5V en 2^10 = 1024 partes, con esto dependiendo del valor en voltios de la entrada nos brindara un número entre 0 y 1023.

Por ejemplo:

Si la entrada es de 0V Arduino lo convertirá en un número binario de 10 bits y luego a un entero que sería igualmente 0.

Si la entrada es de 1 volt, el número binario cambiará y el resultado entero será de 204, igualmente si el voltaje es de 3 volt el resultado será de 615,

Por último si el voltaje es de 5 voltios obtendremos el tope de 1023.

Entrada Analogica

Vayamos a Circuits.io , vamos a continuar con el circuito realizado en Entradas Digitales

Eliminaremos el pulsador y el resistor.

En +Components, adicionamos esta vez un Potentometer, este será el potenciómetro que usaremos.

Lo colocamos en la protoboard, teniendo en cuenta que cada terminal tenga un punto de conexión distinto, unimos los terminales extremos del potenciómetro a 5V y GND. Además unimos el terminal central a la entrada analógica A0.

El algoritmo en este nuevo ejercicio consiste en que mediante el potenciómetro regulamos el tiempo de parpadeo del led.

Eliminamos la variable del pulsador, su configuración y el bucle while.

En la declaración de variables,agregamos la variable pot que indicara el pin analogico conectado al potenciómetro, en este caso el A0, además una variable con nombre valor de tipo entero que contendrá el valor numérico de la lectura analógica.

int led = 10; 
int pot = 0; 
int valor = 0;   

Las entradas analógicas no tienen que configurarse ya que solo cumplen función de entrada, así que solo se configura el led de salida, en la función void setup.

void setup ()  {
  pinMode(led,OUTPUT);  
}

En void loop utilizamos la función analogRead que posee un único parámetro, el puerto analógico que recibirá la información de voltaje. Esta función nos devuelve el valor numérico de la lectura analógica, por lo tanto lo almacenamos en la variable valor.

valor = analogRead(pot);

Ahora en la función creada en el video anterior de nombre Parpadeo, modificamos la constante 300 y colocamos el valor obtenido de la lectura analogica.

Parpadeo(led,valor);

En Code Editor ejecutamos la simulación con Upload and Run.

Si ponemos el potenciómetro al 100% observamos que el parpadeo se produce aproximadamente cada segundo, a medida que disminuimos el valor la frecuencia con la que se produce el parpadeo aumenta.