Está en la página 1de 7

16/7/2017 El potencimetro | MiArduino

MiArduino

POTENCIMETRO, PROGRAMACIN

EL POTENCIMETRO
15 FEBRERO, 2016 | JADIAZ | DEJAR UN COMENTARIO

Objetivos
Conocer los potencimetros.
Comprender la conversin analgica a digital.
Aprender a usar las puertas analgicas de Arduino.

Material requerido
Arduino Uno o similar. Esta sesin acepta cualquier otro modelo
de Arduino.

Una Protoboard.

http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 1/7
16/7/2017 El potencimetro | MiArduino

Un diodo LED.

Un potencimetro de 10K

Una resistencia de 330 Ohmios.

Algunos cables de Protoboard.

Que es un potencimetro ?
Hasta ahora hemos usado siempre resistencias jas, de un valor dado. Pero a veces es conveniente
disponer de una seal variable para controlar el circuito que nos interesa. Imaginad el volumen de un
equipo de msica, o el dial que sintoniza una emisora en una radio FM.

Un potencimetro es, simplemente, un mecanismo para proporcionar una resistencia variable.

Hay potencimetros de tantos tamaos, formas y colores como podis imaginar, pero al nal son una
resistencia ja de un valor dado (10 k en nuestro caso actual) y un mecanismo que permite deslizar

http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 2/7
16/7/2017 El potencimetro | MiArduino

un dial conductor sobre esa resistencia, que nos permite tomar una parte de ese valor.

Por eso un potencimetro siempre tiene 3 pines. Los del extremo se comportan como una resistencia
del valor de fondo de escala del potencimetro, y un pin central que va tomando valores de
resistencia en funcin del movimiento que hagamos con el ajuste.

Conectaremos 5V y GND a los extremos del potencimetro (no importa cual es uno y otro) y luego
conectaremos el pin central al positivo de un LED y el negativo a GND directo, pasando por una
resistencia de limitacin.

De este modo cuando giremos el potencimetro estaremos modi cando la tensin que aplicamos a
la entrada del LED, que variar entre 0 y 5V habremos conseguido un regulador de intensidad del
LED.

Con una resistencia de 10k la intensidad en el circuito ser de:

5V / 10.000 = 0,5 mA muy poco para conseguir iluminar el LED que requiere unos 20 mA. As
que durante la mayor parte del giro del potencimetro el LED estar apagado.

Importante: No olvides la resistencia del led. Aunque el potencimetro limite la intensidad, hay un
momento en que llegar a cero y ah y tu LED se estropear.

El circuito
El montaje en el protoboard sera similar a esto ya que vamos a utilizar el Arduino simplemente para
dar tensin al circuito y nada ms, Veris que la intensidad de la luz varia de forma continua al girar el
potencimetro.

El programa.
En realidad para hacer esta prctica no se necesita ningn programa, cuando giremos el
potencimetro el led lucir con mayor o menor intensidad.
Entradas analgicas
http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 3/7
16/7/2017 El potencimetro | MiArduino

Entradas analgicas
Con Arduino que podemos in uir en el mundo exterior aplicando salidas todo/nada en los pines
digitales y tambin que usando PWM podemos simular bastante satisfactoriamente seales
analgicas en algunos de esos pines.

En muchas ocasiones los sensores que usamos para supervisar el mundo exterior, nos entregan una
seal analgica. Es el caso de los sensores de temperatura o distancia, de presin o PH, de intensidad
de corriente en un circuito o de caudal de agua en una tubera.

Para leer este tipo de seales continuas necesitamos un convertidor analgico a digital que nos
permite leer el valor de una seal analgica en un momento dado.

Estos convertidores toman una muestra del valor actual de la seal y nos entregan su valor
instantneo, medido en Voltios.

Arduino UNO dispone de seis convertidores analgico a digital, nominados de A0 hasta A5, rotuladas
como ANALOG IN:

El esquema.

http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 4/7
16/7/2017 El potencimetro | MiArduino

El programa.
La primera curiosidad es que no necesitamos declarar en el setup() que vamos a usar una puerta
analgica. Y la segunda es que para tomar una muestra (leer) del pin A5, usaremos la instruccin:

int Val = analogRead(A5) ;

Los convertidores de Arduino UNO y Mega son de 10 bits de resolucin por lo que nos devolver
valores entre 0 y 210 = 1.024 para tensiones entre 0 y 5V. En cambio el Arduino DUE dispone de
convertidores de 12 bits por lo que el valor de sus lecturas estar entre 0 y 1012 o sea 4.096, es
decir tiene mejor resolucin (pero slo puede leer hasta 3,3V).

Asegrate de no usar sensores que puedan dar ms de 5V mximo (con Arduino UNO y Mega), ya
que daaras el chip principal de Arduino.

Vamos a escribir un programa que lea el valor del pin A5 y lo enve a la consola para que podamos
visualizarlo.

void setup(){
Serial.begin(9600); // Iniciamos la puerta serie
}
void loop(){

http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 5/7
16/7/2017 El potencimetro | MiArduino

int lectura = analogRead(A5) ;


Serial.println( lectura);
delay(200) ;

Veras que a medida que giras el ajuste las lecturas varan de forma continua re ejando la posicin del
potencimetro, las lecturas re ejan la cada en voltios.

Velocidad de muestreo
Hasta ahora no hemos visto a qu velocidad podemos tomar muestras con nuestro Arduino. Vamos a
comprobarlo, con este mismo circuito.
Tenemos una funcin llamada millis() que nos indica en milisegundos el tiempo transcurrido desde
que iniciamos Arduino y la podemos usar para ver cuantas muestras podemos tomar por segundo.
void setup(){

Serial.begin(9600);

void loop(){

unsigned long tiempo ;


int n = 0 ;
tiempo = millis();

// Mientras no pase un Segundo = 1000 mS

while (millis() <= tiempo + 1000){

analogRead( A5) ;
n++ ; // Contamos cada vez que leemos

}
Serial.println(n);

Hemos usado un unsigned long para guardar millis() porque es el tipo que Arduino usa
internamente para su reloj. Sera un error manejar millis() con un int porque su valor mximo es
32.767 y midiendo milisegundos el contador se desbordara en poco ms de 32 segundos.

http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 6/7
16/7/2017 El potencimetro | MiArduino

SI ejecutamos este programa en un Arduino UNO os dar, poco ms o menos, un resultado de 8.940
muestras o lecturas por segundo. No est mal.

Es adecuado para muestrear seales que no varen demasiado rpido con el tiempo, como son casi
todos los sensores habituales en la industria, pero que se quedar corto si queris muestrear seales
de audio.

Para jugar con audio es mejor usar un Arduino DUE. Tiene una velocidad de reloj 4 veces ms
rpida(os har falta), capacidad de muestreo a velocidad de audio (40Khz) y autnticos convertidores
DAC (digital to analog converters).

LEDS POTENCIMETRO

http://www.iescamp.es/miarduino/2016/02/15/el-potenciometro/ 7/7