Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los potenciómetros son dispositivos que usaremos frecuentemente para introducir valores analógicos
en nuestro Arduino, por ejemplo, para regular la intensidad de la luz de un Led, la velocidad de un
motor DC, o la posición de un servo.
¿QUÉ ES UN POTENCIÓMETRO?
Un potenciómetro es un dispositivo que permite variar su resistencia de forma manual, entre un valor
mínimo Rmin, (normalmente 0 ohminos) y un valor máximo Rmax. Valores habituales de Rmax son 5k,
10k o 20k ohmios.
Internamente un potenciómetro está constituido por un contacto móvil que se desplaza a lo largo de
una pista resistiva. De esta forma, al mover el potenciómetro movemos el contacto a lo largo de la
pista, y variando la longitud del tramo de pista con el que estamos en contacto, y por tanto variando su
resistencia.
Normalmente un potenciómetro tiene tres terminales. Los dos extremos están unidos a ambos lados
de la pista, por lo que siempre registrarán la resistencia máximo Rmax. El terminal restante
corresponde con el contacto móvil. Este terminal varía su resistencia respecto a los otros dos
terminales a medida que accionamos el potenciómetro, siendo la suma de la resistencia a los otros
terminales igual a Rmax.
El código para leer el desplazamiento del potenciómetro es realmente sencillo. Simplemente usamos
una entrada analógica para leer el valor de tensión, y lo transformamos en la posición interpolando con
la función “map”.
void setup() {
Serial.begin(9600);
}
void loop() {
value = analogRead(analogPin); // realizar la lectura analógica
position = map(value, 0, 1023, 0, 100); // convertir a porcentaje
delay(1000);
Serial.print("Posición = ");
Serial.print(position);
Serial.println();
}
void setup() {
// declara el pin de salida
pinMode(ledPin, OUTPUT);
}
void loop() {
// lee el valor del sensor
sensorValue = analogRead(sensorPin);
// prende el LED
digitalWrite(ledPin, HIGH);
// detiene el programa por <sensorValue> millisegundos:
delay(sensorValue);
// apaga el LDE
digitalWrite(ledPin, LOW);
// detiene el programa por <sensorValue> millisegundos:
delay(sensorValue);
}
void setup() {
// inicializa la comunicacion serial con 9600 bits por segundo
Serial.begin(9600);
}
void loop() {
// lectura de la entrada analógica
sensorValue = analogRead(analogInPin);
// ubica el valor de la entrada en el rango de la salida analógica
outputValue = map(sensorValue, 0, 1023, 0, 255);
// cambia el valor de salida analógica
analogWrite(analogOutPin, outputValue);
Practica
Utilice el potenciómetro para encender el Led RGB dependiendo el valor del potenciómetro en
una escala de 0 a 100
o Si el valor del potenciómetro esta entre 0 y 10, el color del RGB debe ser Verde
o Si el valor del potenciómetro esta entre 11 y 20, el color del RGB debe ser Azul
o Si el valor del potenciómetro esta entre 21 y 30, el color del RGB debe ser Rojo
o Si el valor del potenciómetro esta entre 31 y 40, el color del RGB debe ser Amarillo
o Si el valor del potenciómetro esta entre 41 y 50, el color del RGB debe ser Anaranjado
o Si el valor del potenciómetro esta entre 51 y 60, el color del RGB debe ser 91,255,255
o Si el valor del potenciómetro esta entre 61 y 70, el color del RGB debe ser 219,125,221
o Si el valor del potenciómetro esta entre 71 y 80, el color del RGB debe ser 218,129,255
o Si el valor del potenciómetro esta entre 81 y 90, el color del RGB debe ser 143,203,151
o Si el valor del potenciómetro esta entre 91 y 100, el color del RGB debe ser 128,0,255