Potenciómetro

Descripción:

El potenciometro es un dispositivo electromecánico que consta de una resistencia de valor fijo sobre la que se desplaza un contacto deslizante, el cursor, que la divide eléctricamente. Como se muestra en el siguiente gráfico:

Vout=((R1/(R1+R2))*Vin (Aplicando la ley de Ohm)

Un potenciómetro es especificado por su resistencia total, R, entre los terminales externos 1 y 3; El movimiento del cursor origina un cambio en la resistencia medida entre el terminal central, 2, y uno cualquiera de los extremos.

Este cambio de resistencia puede utilizarse para medir desplazamientos lineales o angulares de una pieza acoplada al cursor.

Se conectan en paralelo al circuito y se comporta como un divisor de tensión.

Un potenciómetro también puede ser usado como una resistencia variable (o reostato) de dos terminales, en ese caso, se cortocircuitan dos de las tres patas del potenciómetro. Ejemplo:

Listado de componentes:

    * 1 Potenciómetro de 10kΩ 
    * un par de cables.

Circuito:

Se conectan tres cables a la tarjeta Arduino. El primero va a tierra desde uno de los terminales externos (1 o 3) del potenciómetro. El segundo va desde la salida de 5 voltios hacia el otro termianl externo del potenciómetro. EL tercero va desde la entrada analógica #2 hasta el terminal interno del potenciómetro.

Girando el dial o ajustando el potenciómetro, cambiamos el valor de la resistencia variable. Esto produce oscilaciones dentro del rango de 5 y 0 voltios, que son capturados por la entrada analógica.

Código:

/* Analog Read

 * ------------------ 
 *
 * enciende y apaga un LED (light emitting diode) conectado  al pin digital #13. 
 * La cantidad de tiempo que el LED parpadeará depende del 
 * valor obtenido mediante analogRead(). En este caso al pin analógico #2 se  
 * encuentra  conectado un potenciómetro. 
 * 
 *
 * Created 1 December 2005
 * copyleft 2005 DojoDave <http://www.0j0.org>
 * http://arduino.berlios.de
 *
 */

int potPin = 2; // seleccionar el pin de entrada analógico para el potenciómetro

int ledPin = 13; // seleccionar el pin de salida digital para el LED

int val = 0; // variable para almacenar el valor capturado desde el sensor

void setup() {

  pinMode(ledPin, OUTPUT);  // declara el ledPin en modo salida

}

void loop() {

  val = analogRead(potPin);    // lee el valor del sensor
  digitalWrite(ledPin, HIGH);  // enciende LED
  delay(val);             // detiene el programa por un tiempo determinado por la variable
  digitalWrite(ledPin, LOW);   // apaga el LED
  delay(val);            // detiene el programa por un tiempo determinado por la variable

}