Potenciómetro. Introducción y ejemplos.
Un potenciómetro es una resistencia variable, podemos elegir el valor que puede tomar. De esta forma, controlamos la intensidad de corriente que fluye por un circuito si éste está conectado en paralelo, así como la diferencia de potencial si está conectado en serie.
El potenciómetro dispone de tres patillas: entre las dos de sus extremos existe siempre un valor fijo de resistencia, y entre cualquiera de los dos extremos y la patilla central tenemos una parte de ese valor. Es decir, la resistencia máxima que ofrece el potenciómetro entre sus dos extremos no es más que la suma de las resistencias entre un extremo y la patilla central.
símbolo eléctrico |
EJEMPLOS
Potenciómetro para encender 5 LEDs
En este ejemplo observaremos que a medida que variamos la resistencia interna del potenciómetro, se irán encendiendo más o menos LEDs.
Los componentes que vamos a utilizar en este caso serán:
- 5 LEDs (el color no es significativo)
- 5 resistencias de 220Ω (una para cada LED)
- 1 potenciómetro 50kΩ
Primero, procederemos a montar el circuito en la breadboard. Antes que nada, conectaremos el potenciómetro: la patilla de la derecha, la conectaremos a la alimentación de 5V (cable rojo), la patilla central la conectaremos al pin analógico A0 (cable amarillo), y finalmente, el cable blanco irá conectado a masa, quedando el siguiente resultado:
conexiones del potenciómetro |
Así, como tenemso 5 LEDs, utilizaremos 5 pines distintos (2, 3, 4, 5 y 6). Seguidamente irá conectada una resistencia (cables azules) y a continuacion el LED. Para terminar, la salida del LED debemos conectarla a masa, para así garantizar que el circuito esté cerrado (cable naranja).
El resultado final sería el siguiente:
Una vez realizado el montaje, pasamos a escribir el código para poder mandarle la información a nuestro arduino.
int leds[]={2,3,4,5,6}; // simplificación a la hora de definir las variables. Está definiendo los 5 pines.
int pot; // Esta variable se refiere al potenciómetro
int n=0; // Variable auxiliar que utilizaremos como contador en el bucle.
void setup(){
for(n=0;n<5 i="" n="">
{
pinMode(leds[n],OUTPUT);
}
Serial.begin(9600); //Iniciamos la comunicación con el puerto monitor serial
}5>
void loop(){
pot = analogRead(0);// Definimos el valor de la variable pot como una analógica en el puerto A0
/*Monitorizamos el valor del potenciómetro con el serial.print seguido entre paréntesis de lo que queremos que nos muestre.*/
Serial.print("Valor del potenciometro: ");
Serial.print(pot);
Serial.print("\n");
delay(2000);
/*Ahora definimos los límites de acuerdo con los valores que va obteniendo el potenciómetro, para determinar a partir de qué valor se encenderá cada LED*/
if(pot >= 0 && pot <= 150){ //Definimos el rango para el cual se encenderá el LED
for(n=0;n<1 i="" n="" nbsp=""> //solo se enciende un LED, de ahí el número 1
digitalWrite(leds[n],HIGH); // Se encienden n LEDs, aquí n = 1
for(n=1;n<5 i="" n="" nbsp="">//Los demás LEDs están apagados
digitalWrite(leds[n],LOW);
} 5>1>
//Para los demás bucles se procederá de la misma forma, modificando las condiciones de encendido
if(pot >= 150 && pot <= 300){
for(n=0;n<2 i="" n="" nbsp="">
digitalWrite(leds[n],HIGH);
for(n=2;n<5 i="" n="">
digitalWrite(leds[n],LOW);
}
if(pot >= 300 && pot <= 450){
for(n=0;n<3 i="" n="" nbsp="">
digitalWrite(leds[n],HIGH);
for(n=3;n<5 i="" n="">
digitalWrite(leds[n],LOW);
}
if(pot >= 450 && pot <= 600){
for(n=0;n<4 i="" n="" nbsp="">
digitalWrite(leds[n],HIGH);
for(n=4;n<5 i="" n="">
digitalWrite(leds[n],LOW);
}
if(pot >= 600){
for(n=0;n<5 i="" n="" nbsp="">
digitalWrite(leds[n],HIGH);
}
}5>5>4>5>3>5>2>
Para finalizar con el ejemplo, mostramos un vídeo del funcionamiento, y otro vídeo de la monitorización.
Y esto es todo. No dudéis en comentar y en preguntar cualquier duda.
Gracias por la atención.
0 comentarios:
Publicar un comentario