El potenciómetro

Este contenido es un complemento práctico para los contenidos teóricos de los temas 4. Fundamentos de Computación Física, 5. Internet de las Cosas y 6. Robótica, de la asignatura Computación y Robótica de 2º y 3º de ESO.

🛠️ Materiales:

Un potenciómetro no es otra cosa que una resistencia variable, y tiene este aspecto:

Se trata de un componente muy importante en el campo de la electrónica. Se utiliza comúnmente en muchas situaciones, como por ejemplo cuando estamos subiendo y bajando el volumen de un equipo de sonido, cambiar la emisora de la radio del coche, o cuando cambiamos la intensidad de la luz de una lámpara inteligente.

Su funcionamiento es bastante simple. Tiene tres patillas:

  1. En un extremo conectamos la corriente, el voltaje.
  2. El otro extremo lo conectamos a tierra, como siempre.
  3. Y la patilla del centro la usaremos para obtener el valor de la resistencia que nos da el potenciómetro cuando giramos el tornillo que sobresale.

Teniendo esta herramienta, vamos a crear un sistema que consigue modificar la intensidad de la luz que emite un LED en función del giro que le demos al potenciómetro. Además, aprovecharemos el proyecto para introducir otro concepto de programación que son las estructuras condicionales (piezas de código que sólo se van a ejecutar si se cumple una condición).

Como siempre, lo primero que haremos será montar nuestro circuito.

Cuando utilizamos algunos componentes, como el potenciómetro, en Tinkercad, tenemos que indicarle algunas propiedades eléctricas (igual que hacemos en el caso de las resistencias). En este caso, tenemos que decirle cuál es el valor de la resistencia total que contiene. Esto siempre podemos mirarlo en el componente físico que vamos a usar. Si le dáis la vuelta a nuestro potenciómetro de clase, veréis que tiene la inscripción 10K. Eso significa que utiliza 10KΩ, es decir, 10.000Ω. Por tanto, tenemos que configurar en Tinkercad nuestro componente para que funcione con ese valor:

La patilla central del potenciómetro es el que nos dará el valor de la resistencia que hemos seleccionado cuando lo giramos con los dedos, así que ese valor se lo tenemos que dar a la placa controladora para que sepa con qué voltaje queremos que funcione el LED. Así que, la patilla central, la conectamos a una entrada analógica, por ejemplo la A1.

Ahora tenemos que alimentarla con 5V y también llevar su última patilla a GND/tierra para cerrar el circuito completo.

Seguimos con la conexión de nuestra lámpara LED, con su correspondiente resistencia (de 220Ω) al positivo del LED para no quemarla.

Tan solo nos queda, incluir al LED y la resistencia en el flujo de corriente eléctrica. Como queremos ir modificando la intensidad de la luz del LED, necesitamos valores analógicos de salida, por tanto, debemos conectar el positivo del LED a una salida analógica PWM~, por ejemplo la 10~. Y, por supuesto, conectar a tierra el LED.

El recorrido que haría la electricidad en este caso, cuando encendemos la placa, sería: el voltaje sale de la placa por la salida de 5V (cable rojo), llegaría a la patilla izquierda del potenciómetro, saldría por la patilla central del potenciómetro (cable verde) con el voltaje que le hayamos indicado girando el potenciómetro, entraría en la placa por A1, saldría de la placa por 10~ (cable naranja), llegaría a la resistencia, luego a la patilla derecha del LED, luego a la patilla izquierda, y luego por el cable marrón llegaría de nuevo a la placa hasta GND/tierra, cerrándose el circuito eléctrico.

Con nuestro montaje terminado, vamos a crear una primera versión de nuestro programa que lo único que hará será encender el LED si el voltaje llega a un determinado nivel, o apagarlo si no. En nuestro caso, vamos a decirle que si el voltaje está en su mitad superior (es decir más de 2,5V) que se encienda, y si está en su mitad inferior (es decir menos de 2,5V) que se apague (recuerda que estamos trabajando con 5V).

Es importante resaltar que, de la misma manera que vimos que las salidas analógicas trabajaban con valores de 0 a 255, las entradas analógicas trabajan con valores de 0 a 1023. Por tanto, si estamos alimentando el circuito con 5V, la mitad estará situada en un valor de entrada analógica de 512 (la mitad de 1024).

Prueba a iniciar la simulación y verás que el LED sólo se enciende cuando pasamos un poco por encima de la mitad de los valores que nos ofrece el potenciómetro.

Ahora, vamos a seguir ahondando en las utilidades de las estructuras condicionales, complicando un poco las condiciones.

En nuestra segunda versión del programa, vamos a hacer que:

  • El LED se encienda, si la lectura analógica es menor que 256 o mayor que 768.
  • El LED se apague, si la lectura analógica es mayor que 256 y menor que 768.

Este es el aspecto que tendría nuestro programa tras modificar las condiciones para reflejar el comportamiento que buscamos:

Por fin, vamos a ver la tercera versión del programa, el código definitivo que nos va a permitir crear un regulador de intensidad para la luz de nuestro LED, tal y como hacen las lámparas inteligentes comerciales.

Nuestro montaje no hace falta modificarlo, porque ya está todo en su sitio, sin embargo, nuestro programa sí.

Ten en cuenta que estamos leyendo una entrada analógica (lo que envía el potenciómetro) que varía de 0 a 1023, y queremos hacer una escritura analógica (lo que queremos enviar al LED) que varía de 0 a 255. Así que, de alguna manera, tenemos que encontrar la forma de hacer corresponder una escala de 1024 posibles valores a otra de 256 posibles valores.

Esto podemos hacerlo utilizando la función map de C++, que precisamente, lo que nos permite es utilizar cualquier correspondencia que queramos:

Sabiendo esto simplemente tenemos que utilizar esa función para completar nuestro programa:

Si ahora inicias la simulación, verás como girando el potenciómetro, consigues el efecto que buscábamos.

¡Felicidades, acabas de crear tu primera lámpara inteligente!

Por último, es momento de llevar el proyecto a los componentes reales del aula.

Como siempre, ya sabes:

  1. Descarga en tu ordenador el archivo .ino
  2. Conecta la placa al ordenador.
  3. Abre Arduino IDE.
  4. Carga el programa y revisa que el código sea correcto.
  5. Desde Arduino IDE, guarda el programa en la placa.
  6. Desconecta la placa.
  7. Monta tu circuito sobre la mesa.
  8. Avisa al profesor para que lo revise.
  9. Solo si te da el visto bueno, puedes conectar la placa y comprobar que todo funciona correctamente.

Esto es lo que debes obtener:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *