Introduction: Vídeo Tutoriales De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?

En este tutorial vamos a aprender como modificar la intensidad de la luz de un led con un potenciómetro sobre una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuenta gratuita).

A continuación se tiene el resultado final que posteriormente se explicará paso a paso. Pulsa en "Iniciar simulación" para ver el resultado.

Si la simulación no carga automáticamente, acceder a través del siguiente enlace: https://www.tinkercad.com/things/jLY9fthl7fF

Puedes seguir este ejercicio viendo el vídeo del inicio o siguiendo los pasos descritos en este tutorial.

Para comenzar accederemos a la web de tinkercad y en caso que nos aparezca en un idioma distinto al español lo podemos modificar yendo a la parte inferior de la página, seleccionando el idioma español dentro del cuadro azul que nos aparece en la parte derecha.

Tras esto recargaremos la página y ya la tendremos en español.

Una vez hayamos entrado a la web de tinkercad accedemos a “circuits” y creamos un nuevo circuito.

Step 1: Agregar Los Componentes

Lo primero que haremos será componer el circuito, para lo que incluiremos varios componentes básicos en nuestra zona de simulación:

Buscamos "Arduino UNO" en el cuadro de búsqueda y nos aparecerá un componente "Arduino UNO R3" en la zona de componentes. Haciendo clic sobre el y volviendo a hacer clic en la zona de simulación lo incrustamos. Buscamos "led" y añadimos el componente de la misma manera que lo hicimos anteriormente a la zona de simulación. Por defecto viene en color rojo, pero podemos cambiar su color accediendo a sus propiedades, haciendo clic sobre el elemento. También buscaremos "resistencia" y añadimos el componente a la zona de simulación. Debemos modificar el valor de este componente, ya que nuestra resistencia debe ser de 220 Ohmios y por defecto es de 1 Kilo Ohmio. Para ello accedemos a sus propiedades y modificamos el valor Resistencia a 220 Ohmios. Por último, buscaremos "potenciómetro" y lo añadiremos a la zona de simulación. Sobre este componente no hay que realizar ninguna configuración especial.

Step 2: Cablear El Circuito

Led

Para evitar que el led se nos queme si le conectamos 5V directamente, debemos colocar la resistencia entre la patilla positiva (el ánodo) y el pin del Arduino con el fin de rebajar la tensión de la corriente (el voltaje del circuito). Para ello hacemos clic en la patilla positiva del led, la que viene determinada como ánodo) y desplazamos el ratón hasta una de las patillas de la resistencia, donde volvemos a hacer clic. Vemos que aparece una línea que une el ánodo del led con una de las patillas de la resistencia, que en este caso es de color verde. Así unimos componentes. Es importante tener en cuenta que la resistencia no tiene polaridad, da igual colocarla en un sentido o en el contrario, pero el LED sí tiene polaridad y si lo conectamos al revés no funcionará.

Resistencia

Después de conectar el ánodo del led a la resistencia vamos a conectar el cátodo a cualquiera de los pines GND de la placa Arduino de la misma manera que hicimos con la resistencia y el ánodo del led, haciendo clic sobre el cátodo del led y después haciendo clic sobre alguno de los GND de la placa Arduino. Ahora conectamos el otro extremo de la resistencia a uno de los pines del Arduino, en este caso lo conectaremos al pin 9, aunque nos valdría cualquier pin digital que incluya el símbolo de la virgulilla, o lo que es lo mismo, el rabito de la ñ, al lado de su número. Estos pines son conocidos como PWM y son los pines digitales 3, 5, 6, 9, 10 y 11.

Estos pines digitales PWM tienen la capacidad de comportarse como un pin digital o un pin analógico. Los pines digitales solo pueden tomar los valores de 0 o 1, que se corresponden con 0 y 5 voltios respectivamente. En cambio los pines analógicos pueden tomar los valores de 0 a 1023, que se corresponden también con 0 y 5 voltios respectivamente, pero con la diferencia de que tenemos un rango de 1024 valores que podemos recorrer.

Nuestro objetivo será que cuando salga un 0 por el pin 9 al que esta conectado el led, a este le lleguen 0 voltios y por lo tanto se mantenga apagado. A medida que el valor del pin 9 aumente, se le irá proporcionando más voltaje al led y se irá encendiendo gradualmente. Por ejemplo, cuando el valor del pin 9 se encuentre en 512, el led estará encendido a un 50% de intensidad. Y cuando finalmente el valor del pin 9 llegue a su máximo, a 1023, el led estará al 100% de intensidad.

Potenciómetro

Por último conectaremos el potenciómetro. Este componente tiene 3 conexiones, de izquierda a derecha son:

Terminal 2 - Wiper - Terminal 1

Pero no os preocupéis, la conexión es muy sencilla.

  • Terminal 2 se conecta al pin de 5 voltios (5V) del Arduino
  • Terminal 1 se conecta a cualquier pin de GND o tierra del Arduino
  • Wiper se conecta a un pin analógico del Arduino. En este ejemplo lo conectamos a A0.

El pin de datos del potenciómetro (wiper) se debe conectar a un pin analógico, que son los pines del A0 al A5, por el mismo motivo que conectamos el led a un pin PWM. Porque el potenciómetro va a leer valores entre 0 y 1023, no solamente 1 o 0.

Step 3: Programemos!

Ahora que ya tenemos cableado el circuito vayamos a la programación.

Iremos al botón Código y nos aparecerá una zona donde construiremos nuestra programación por bloques.

Borraremos todos los bloques que nos aparecen en la zona de implementación y haciendo clic con el botón derecho sobre el icono de la papelera que aparece en la parte inferior de la pantalla y seleccionando la opción “eliminar 4 bloques”.

Tras esto construiremos nuestro programa. Lo primero será crear las variables de nuestro programa, pequeños cajones de memoria donde almacenaremos datos. Iremos a la sección de bloques Variables y pulsaremos en Crear variable...

A la primera variable la llamaremos valorPotenciometro, es importante mencionar que el nombre que se ponga aquí puede ser cualquiera mientras no incluya espacios o símbolos, solo letras y todas juntas. Esta variable va a ser la encargada de almacenar el valor leído por el potenciómetro.

La segunda variable la llamaremos valorLed y será la encargada de almacenar el valor que se le dará al led para que muestre su intensidad.

Una vez creadas las dos variables, desde el mismo bloque Variables seleccionaremos definir en 0 y lo arrastramos a nuestra zona de código. Abriremos el desplegable que tiene este bloque para seleccionar la variable correcta, que es valorPotenciometro. Ahora solo nos falta indicar a esta variable de que pin va a leer datos. Si volvemos al esquema del circuito, vemos que conectamos el pin de datos del potenciómetro al pin analógico A0, por lo tanto, este es el que tenemos que escoger. Para ello vamos a la sección de bloques de Entrada y arrastramos el bloque leer pasado analógico A0 al interior del bloque definir valorPotenciometro en 0, concretamente, lo arrastramos y sustituimos nuestro bloque de entrada por el 0 del bloque definir. Como resultado nos tiene que quedar en la zona de programación un bloque con el siguiente contenido:

definir valorPotenciometro en leer pasador analógico A0

A continuación vamos a definir la variable del valor del led y le vamos a indicar que tiene que trabajar en un rango de 0 a 255. Este rango se debe a que el led es un componente digital y su rango de trabajo es de 0 a 255. Como el rango obtenido por el potenciómetro es de 0 a 1024, tenemos que realizar una conversión, y adaptar el rango 0-1023 al rango 0-255 para que el led lo pueda entender. Vamos a la sección de bloques Variables y arrastramos debajo del bloque anterior el bloque definir valorLed en 0. Luego iremos a la sección de bloques de Matemáticas y arrastramos el bloque asignar 0 al rango entre 0 y 180 y sustituimos el primer 0 por la variable valorPotenciometro que podemos obtener de la sección de bloques Variables. Y sustituimos los dos últimos valores por el rango con el que trabaja el led, 0 y 255.Como resultado nos queda un bloque de código con el siguiente contenido:

definir valorLed en asignar valorPotenciometro al rango entre 0 y 255

Añadiremos un bloque de Salida para definir un pasador 9 en 0. Recordemos que 9 era el pin en el que habíamos conectado nuestro led. Ahora tenemos que vincular este pin o pasador 9 a la variable que hemos creado para el led, por lo que iremos a la sección de bloques Variables y arrastraremos valorPotenciometro para sustituir esta variable por el 0 del bloque definir pasador. Como resultado nos queda el siguiente bloque de código:

definir pasador 9 en valorPotenciometro

A continuación iremos a la sección de bloques de Salida y añadiremos 4 bloques de imprimir en monitor serie con los siguientes parámetros:

  • imprimir en monitor serie potenciometro = , nueva línea sin
  • imprimir en monitor serie valorPotenciometro , nueva línea sin
  • imprimir en monitor serie -> led = , nueva línea sin
  • imprimir en monitor serie valorLed, nueva línea con

Los parámetros "potenciometro = " y "-> led =" son textos literales que queremos que aparezcan. Los parámetros valorPotenciometro y valorLed son las variables que podemos obtener de la zona de bloques Variables.

Los parámetros sin y con del final representan si se hace un salto de línea al final del mensaje (con) o no (sin). Como se ve, solamente se hace un salto de línea al final, por lo que esos 4 mensajes aparecerán en la misma línea.

Por último, vamos a la zona de bloques Control e incluimos como última instrucción un bloque de esperar que configuramos a 2 milisegundos.

Step 4: Ejecutar La Simulación

Por último, si pulsamos en el botón "Iniciar simulación" nuestro programa se ejecutará en el Arduino Uno y veremos su resultado sobre el led.

Al mover el potenciómetro veremos como la intensidad del led varia. Si queremos ver los valores que estamos obteniendo del potenciómetro o los valores que estamos enviando al led, pulsaremos en Monitor Serie, en la parte inferior derecha de la pantalla, debajo de los bloques de código.

Si queremos parar la simulación bastará con pulsar el mismo botón de antes, cuyo nombre habrá cambiado a “Detener simulación”.