Home Componentes electrónicos Prototipado
POTCIR10KLIN
Un potenciómetro es una resistencia cuyo valor ohmico varía dependiendo de la posición en la que situemos su rueda. Como sensor, un potenciómetro es un sensor analógico que proporciona un voltaje continuo proporcional a su posición angular, es decir, la posición en la que se encuentra su rueda.
El montaje con una placa Compluino UNO resulta especialmente sencillo al disponer esta placa de pines de alimentación (+5V y GND) asociados a todas las entradas y salidas de la placa.
La placa Arduino original dispone de un número muy limitado de pines de +5V y GND por lo que en la mayoría de los montajes será necesario usar las lineas de distribución de alimentación de la propia protoboard, especialmente si queremos añadir otros elementos al montaje. Esta diferencia la podemos ver entre este montaje y el siguiente, que incluye un led.
En este programa leemos el valor entregado por el potenciómetro. Para poder mostrarlo en el monitor serie lo almacenaremos en una variable, que aparecerá en el monitor junto con el texto "La lectura es: ".
// Leer un potenciómetro
#define POT A0
int lectura_pot = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
lectura_pot = analogRead(POT); //Guardar el valor leido en el pin A0 en una variable
Serial.print ("La lectura es: "); //Mostrarlo en la pantalla
Serial.println(lectura_pot);
delay(100);
}
A continuación puedes ver la información que se mostraría en el monitor del IDE de Arduino
Podemos modificar el programa anterior para obtener la medida obtenida en el pin de lectura analógica en un rango de 0 a 1023 y, además, indicar el voltaje que recive de 0 a 5 voltios.
// Leer un potenciómetro
#define POT A0
int lectura_pot = 0;
float voltaje = 0.0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
lectura_pot = analogRead(POT); //Guardar el valor leido en el pin A0 en una variable
voltaje = ((5.0 / 1024.0) * lectura_pot);
Serial.print ("La lectura es: "); //Mostrarlo en la pantalla
Serial.println(lectura_pot);
Serial.print ("La medida de voltaje es: ");
Serial.print(voltaje);
Serial.println(" V");
delay(200);
}
En este programa utilizaremos un potenciómetro y un led. Cuando el valor otorgado por el potenciómetro sea superior a la mitad se encenderá el led.
Estos son el esquema eléctrico, el montaje con una placa Compluino UNO y el montaje sobre una placa Arduino.
Este es el programa necesario para este montaje.
// Encender un led con el potenciómetro
#define POT A0
#define LED 10
int lectura_pot = 0;
void setup()
{
pinMode(LED, OUTPUT); // Definir el pin 10 como salida
}
void loop()
{
lectura_pot = analogRead(POT); //Guardar el valor leido en el pin A0 en una variable
if (lectura_pot >= 512) // Comparar la lectura del potenciómetro con un valor de corte
{
digitalWrite(LED, HIGH);
}
else
{
digitalWrite(LED, LOW);
}
}
Con un led conectado a una salida digital con control PWM podemos controlar el brillo del led utilizando el valor otorgado por el potenciómetro. Debemos tener en cuenta que el control PWM se realiza con valores entre 0 y 255 mientras que los pines de entrada analógica registran valores de 0 a 1023. para resolver esta discrepancia utilizamos la función map.
// Controlar el brillo de un led con un potenciómetro
#define POT A0
#define LED 10
int lectura_pot = 0;
int brillo = 0;
void setup()
{
pinMode(LED, OUTPUT); // Definir el pin 10 como salida
}
void loop()
{
lectura_pot = analogRead(POT); //Guardar el valor leido en el pin A0 en una variable
brillo = map(lectura_pot, 0, 1023, 0, 255); //Transformar 1024 valores al rango de 0 a 255.
analogWrite(LED, brillo);
}