Entradas analógicas y potenciómetros

Objetivos

 

  • Conocer los potenciómetros.
  • Comprender el funcionamiento de las entradas analógicas.
  • Utilizar una entrada analógica para controlar un objeto en el escenario.
  •  

    Material requerido.

    ArduinoUNO Arduino Uno o compatible y con el firmware para S4A cargado.

    Un PC con el entorno S4A correctamente instalado y configurado.

    Img_3_4  Una Protoboard.
    componente Un diodo LED.
    potenciómetro keyes Un potenciómetro de 10K?.
    Img_3_5 Una resistencia de 330 Ohmios.
    Img_3_6 Algunos cables de Protoboard.

    LOS POTENCIÓMETROS

     

    Los potenciómetros son resistencias que tienen un mecanismo para variar su valor. En este caso nuestro potenciómetro puede tomar valores de 0 a 10k?.

    Hay muchos tipos de potenciómetros, pero todos ellos tienen 3 pines en fila.

  • Los de los extremos se comportan como una resistencia con el valor máximo del potenciómetro.
  • El pin central nos permite tomar valores de resistencia en función del ajuste que le hagamos.
  • Al ser resistencias, no tienen polaridad, da igual cuál de sus pines de los extremos usemos como positivo y cuál como negativo.[/fancy-ul] [/three-fourth]
  •  

    Para comprender el funcionamiento del potenciómetro vamos a montar un circuito compuesto por el potenciómetro, un LED y una resistencia de la siguiente forma:

    esquema potenciómetro

  • Si el potenciómetro está al valor máximo, la resistencia en la rama del LED será muy grande y no se iluminará.
  • Si la resistencia del potenciómetro está ajustada a 0?, el LED se iluminará al máximo. Si no tuviésemos conectada la otra resistencia de limitación al LED, lo quemaríamos.
  • Para ajustes de valores intermedios en la resistencia del potenciómetro, el LED se iluminará con mayor o menor fuerza.
  • En realidad como estamos usando una resistencia de valor muy alto, costará un poco que el LED empiece a iluminarse.[/fancy-ul] [/three-fourth]
  •  

    Utilizando el Arduino simplemente para dar tensión, el montaje en la protoboard quedaría de la siguiente manera:

    Pot mas LED

    Si vamos ajustando el potenciómetro veremos cómo varía la intensidad del brillo del LED.

     

    LAS ENTRADAS ANALÓGICAS

     

    Vamos a realizar un montaje en el que leeremos el valor a la salida del potenciómetro con la entrada analógica A0.

    diagrama potenciómetro s4a

    Variando la resistencia del potenciómetro lo que buscamos es modificar la tensión a la salida del pin central. Así podremos modificar el valor de las señales que leeremos con las entradas analógicas de Arduino, que como ya sabemos, leen tensión.

    Lo que hará nuestra placa Arduino será convertir el valor de la tensión que lee, entre 0 y 5V, a un valor entre 0 y 1023.

  • Estos 1024 valores y los 256 de las salidas analógicas no son números al azar, tienen que ver con la conversión de analógico a digital y el número de bits de los convertidores de las placas Arduino. En este curso no vamos a entrar en detalle en este tema.
  • Cuidado con usar sensores o fuentes de alimentación que proporcionen más de 5V o podemos quemar el chip principal de nuestro Arduino.
  •  

    Aunque no construyamos ningún programa, si vamos ajustando el potenciómetro, veremos cómo va variando el valor de la entrada analógica a la que hemos conectado el potenciómetro.

    analog0 escenario s4a

     

    CONTROLAR OBJETOS EN EL ESCENARIO

     

    Vamos a aprovechar el montaje que tenemos para mover un objeto en el escenario utilizando el potenciómetro. Lo primero que haremos será crear un disfraz, dibujándolo, o importándolo.

    Yo he importado una bruja volando en una escoba y le he puesto un fondo acorde, como hicimos en la sesión 5.

    bruja s4a

    Hasta ahora, cuando hemos querido posicionar un objeto en el escenario lo hemos colocado manualmente arrastrándolo por él. Como ahora se va a mover, nos podría interesar que cuando el programa empiece a ejecutarse, el objeto comience en una posición determinada.

  • La posición de un objeto viene definida por sus coordenadas X e Y.
  • El escenario tiene unas medidas de 480×360, que van desde X=-240 a X=240 e Y=-180 a Y=180.
  • Si queremos saber las coordenadas de un punto concreto del escenario basta con colocar el puntero del ratón en dicho punto y se nos mostrarán las coordenadas en la parte inferior derecha del escenario.
  •  

    coordenadas escenario s4a

    Vamos a utilizar bloques de “Movimientos” que no hemos usado hasta ahora, relacionados precisamente con la posición, la dirección y la velocidad de los objetos en el escenario. Son los que están al final de la lista de bloques de movimiento y vienen separados de los demás por una pequeña raya.

    mover objetos s4a

    Para seleccionar las coordenadas para la posición de un objeto utilizaremos los bloques de “Movimientos” “fijar x a …” y “fijar y a …”.

    Como en este caso la posición inicial en X del objeto viene dada por el ajuste inicial del potenciómetro, al iniciar el programa sólo fijaremos la posición en Y.

    fijar y sa4

    Lo que colocamos al darle las coordenadas es el centro del objeto. Podemos seleccionar o cambiar el centro de un objeto en el editor gráfico de sus disfraces y ponerlo en un lugar en el que nos facilite posicionarlo.

    editor centro disfraz s4a

    Una vez seleccionadas las condiciones iniciales, colocaremos el bloque “por siempre”, y dentro de él, fijaremos la posición en X al valor de la entrada analógica a la que está conectado el potenciómetro, en este caso la A0, utilizando los bloques de “Movimientos” ”fijar x a …” y “valor del sensor …”.

    posición x entrada analógica

    Si en este momento ejecutamos el programa y giramos el potenciómetro veremos cómo se mueve nuestro objeto, en mi caso como vuela la bruja. Pero todavía hay varios defectos que tendremos que corregir:

  • Como el valor mínimo del potenciómetro es 0V, la posición mínima en el eje X a la que podremos mover el objeto será 0, o sea que sólo lo podemos mover por la mitad derecha o parte positiva del eje X de la pantalla.
  • La mayoría del giro del potenciómetro no tiene ningún efecto. Si os fijáis en los valores de la entrada analógica en la tabla de resumen de valores, cuando lleguemos a 240 ya estaremos en el borde de la pantalla, y por encima de eso no pasará nada.
  • Si al ajustr el potenciómetro el objeto se mueve en la dirección contraria a la que os resulta más natural, podéis intercambiar las conexiones de 5V y GND de los pines del potenciómetro y la dirección de movimiento respecto al ajuste se invertirá.
  •  

    Para poder aprovechar todo el ancho del escenario, lo que vamos a hacer es restarle 240 al valor de la entrada analógica A0. De esta forma cuando la resistencia del potenciómetro este al máximo, la tensión medida será 0V, y al restarle 240, tendremos el valor -240, que coincide con el extremo izquierdo del escenario.

    Para aprovechar todo el giro del potenciómetro para el movimiento lo que tenemos es que calcular la relación que hay entre los valores que pueden tomar la entrada analógica, 1024, y el eje X del escenario, 480.

    Lo que quiere decir esto es que la entrada analógica puede tomar 2,13 veces más valores que el eje X. Por lo tanto, lo que tenemos que hacer es dividir la entrada analógica entre 2,13 y así quedará también con valores entre 0 y 480.

    Para hacer estas operaciones dentro de nuestro programa utilizaremos los bloques de “Operadores” “ / “ y “… – …“.

  • Aunque en una ecuación siempre se ejecutan antes las multiplicaciones y divisiones, y después las sumas y restas; en S4A se ejecutan primero las operaciones que estén dentro de un mismo bloque.
  •  

     

    Por lo tanto nuestro programa quedaría de esta forma:

    movimiento x bruja

    Si lo ejecutamos de nuevo y giramos el potenciómetro veremos que ahora funciona de una forma más adecuada.

    Podéis descargar el programa completo desde aquí: Potenciómetro.

     

    ALGUNAS COSAS ÚTILES

     

  • Podemos elegir ocultar o mostrar la tabla resumen de valores para ver mejor el escenario haciendo click con el botón derecho en el objeto en la lista de objetos o en la tabla de resumen de valores.
  • Si queremos visualizar únicamente el valor de de algunas de las entradas, podemos seleccionarlas y marcarlas en el listado de bloques para que aparezcan en el escenario.
  • Podemos hacer más pequeño el escenario o verlo a pantalla completa utilizando los botones en la parte superior izquierda del escenario.
  •  

    s4a utilidades escenario

    Para seguir practicando, os recomiendo que hagáis lo mismo pero moviendo el objeto verticalmente. Si tenéis dos potenciómetros, podéis probar a moverlo en las dos direcciones en un sólo programa.

    Os dejo los programas por si se os resiste y necesitáis una pequeña ayuda.

    movimiento eje y

    movimiento x y escenario

     

    RESUMEN DE LA SESIÓN

     

    En esta sesión hemos aprendido varias cosas importantes:

  • Cómo funciona un potenciómetro.
  • Ya estamos preparados para utilizar las entradas analógicas.
  • Sabemos utilizar bloques para posicionar y mover objetos por el escenario.  
  • Deja una respuesta