Download Chapter 6: The “Big Four” schematics, programs
Document related concepts
Transcript
Chapter 6: The “Big Four” schematics, programs and transducers. La transducción es un aspecto clave en physical computing. Esto es la conversión de un tipo de energía en otra (en general energía mecánica en energía eléctrica o viceversa). En este capitulo discutiremos sobre los transductores organizados por categorías y hablaremos sobre los cuatro grandes “big four” que son digital input-output y analog input-output. Digital Input: Son los transductores mas simples, existen dos estados para los digital input, 0-1 on or off (encendido o apagado), es decir solo representan dos extremos. Básicamente son dos conductores que pueden tocarse cerrando el circuito o separarse cortándolo. Interruptores: En general sirven para convertir energía mecánica en energía eléctrica (prender el interruptor requiere energía mecánica proveniente del humano y se transforma en energía eléctrica, el encendido del circuito). Al trabajar con interruptores es necesario conocer ciertos términos: Normalmente abierto, en el interior no se esta haciendo contacto, por lo que cuando no se presiona el interruptor el circuito no esta completo. Normalmente cerrado, en el interior se esta haciendo contacto por lo que se debe presionar el interruptor para cortar el circuito. Interruptores momentáneos, poseen un resorte que los devuelve a su posición inicial. Interruptores palanca, no poseen resorte así que se quedan en la ultima posición a la que se los llevo. Cada interruptor tiene polos que son dos cables que cierran o cortan el circuito. Cuando se refieren a Throw estamos hablando sobre las posibles posiciones que puede tener el interruptor. Un SPST es un (single-pole, single-throw), DPDT (doublé-pole, single-throw) y SPDT (singlepole, doble throw). En general los interruptores se organizan según el máximo voltaje y amperaje que pueden aguantar, por lo que puedes usar menor corriente para cualquier interruptor. Digital Input Circuit: Para conectar un input digital a un microcontrolador necesitas tres conexiones, poder, una conexión al microcontrolador y una conexión a tierra. Cuando un pin esta en modo input esta esperando interactuar con cualquier voltaje, por lo que si no esta conectado al voltaje deseado (en general 5 volts) puede ser afectado por otras formas de energia. Lo conectamos a la tierra mediante una resistencia a modo de que otro tipo de voltaje llegue a tierra en vez de afectar el input. Programando: Como algunos pins son I/O al programar la instrucción debemos aclarar qué pin será Input. Cuando el microcontrolador lee un pin envía voltaje hacia el (0 o 5v), lo que el software lee como 0-1 en código binario (extremos). Al programar indicaras el pin y su función antes de loop, cuando declaras las variables para fijarlas en el programa sin tener que repetir este comando. Digital Output: Tiene la misma lógica de 0-1 del digital input. El output transforma el mensaje del input en una respuesta, puede ser encender un LED por ejemplo. Muchas veces trabajaras con dispositivos que necesiten mas voltaje y amperaje que el microcontrolador puede dar como output, para solucionar este problema necesitaras intermediarios como los transistores y relés “relay”. Relays (relés o relevadores) Son interruptores que son encendidos por un imán, en vez de la acción mecánica. Electromechanical relays, usan energía eléctrica para controlar interruptores mecánicos. El microcontrolador envía corriente al imán eléctrico el cual tira un conductor entre los dos contactos cerrando el circuito, el cual es independiente al micro controlador. Algunos interruptores de este tipo también son llamados “reed relays”. Se clasifican según el voltaje requerido para controlar al electro magneto, pos la corriente y el voltaje que puede pasar por el gran circuito. Si quieres controlar dispositivos que utilicen corriente AC la forma mas simple es usando un relay, ya que pueden intercambiar energía AC o DC como otras señales. Transistores: los transistores sirven para controlar desde mucha corriente a poca corriente. Son muy versátiles y existen muchas variedades y muchos usos. Funcionan bien como interruptores y son mas rápidos que los relés y más baratos que estos últimos. Los transistores son estrictamente componentes que funcionan con DC, es decir no funcionan con corriente alterna. Todos los transistores tienen tres conexiones, la base, el colector y el emisor. Poniendo un poco de voltaje y corriente en la base del transistor permitirás que mucha corriente pase desde el colector al emisor, es decir son como amplificadores. Tipos: Transistores Bipolares, hay dos tipos. NPN (es como un interruptor normalmente abierto) y PNP ( es equivalente a un interruptor normalmente cerrado). Transistores Field-effect (FETs). Programando: Para programar output simplemente debes darle al pin la señal de High si quieres encender el dispositivo o Low si lo quieres apagar. Analog Input: Los analog input permiten interactuar de forma mas amplia con los dispositivos obteniendo información que ya no se encuentra en los extremos sino que pertenece a un rango. Ya no es todo blanco o negro, también existe lo intermedio. Transductores: para los analog input usaremos otro tipo de transductores, estudiaremos las resistencias variables. Resistencias Variables: Convierten un cambio en la fuente de energía en un cambio en la resistencia. Ej: potenciómetros, termistores (la resistencia cambia con la temperatura ambiental), photocelulas (varían con la intensidad de la luz), FSR o forcé-sensing resistors varían según la fuerza aplicada en el sensor. Sensores Flex, varían según como se flexionen o doblen. Como los microprocesadores solo leen códigos binarios, existen convertidores análogo-digital, lo que genera un rango de voltajes al que asigna un valor digital en un determinado momento haciéndolos compatibles. Cuando usamos el comando “rctime” el capacitor almacena carga que liberara cuando el flujo de alimentación se acabe. Analog Output: Con los output análogos podrás controlar un dispositivo utilizando la señal proveniente de un pin I/O. Para lograr este control se utiliza un método llamado “pulsewidth modulation” o modulación por pulso PWM. El PWM parte de la base que los microcontroladores no pueden producir variados voltajes, solo producen alto o bajo voltaje (0-1, digital reed). Por lo que creando una salida (output) variable de voltaje se puede simular voltaje análogo, a través de un promedio resultante de las variaciones de voltaje al que llamamos pseudo-analog voltaje. Generando sonidos: Los parlantes funcionan con outputs análogos. Al programar el circuito para que suenen usaremos el comando “freqout” lo cual permite generar cualquier tono desde un pin I/O (regulando la frecuencia del tono). Revise este comando para cada lenguaje derivado del BASIC. “duration” es el comando usado para determinar la duración del tono. “Array” es una variable que posee varios compartimientos numerados. RC Servo motor: Con estos podemos controlar el movimiento de algunos objetos. Es mucho mas amplio que el motor DC que solo puede controlar on-off. Posee un rango de movimiento de 180º, pueden funcionar con 5v. En general el movimiento es circular, pero se puede modificar para obtener otros movimientos. Para programarlos se debe fijar el ángulo del motor. From Analog-In to Analog-out: Escalando funciones Para convertir un rango de inputs análogos en un output análogo, es necesario conocer los máximos y mínimos de cada rango para poder desarrollar una función por rangos. Para conocer el rango de un sensor (input análogo) necesitaras un programa que registra el valor de los inputs. Para obtener el rango del output, en general se toman los primeros parámetros que la función utiliza para estos. Una vez que conoces los rangos de input y output, se puede utilizar una simple fórmula para intercambiarlos. A esta fórmula se le llama función de escalamiento o función de rango. (revise las formulas que utiliza el libro para ejemplificar). Cuando trabajamos con estas funciones es importante tener en mente los rangos numéricos con los que trabaja el microprocesador y ajustar las formulas a ellos, por ejemplo si el micro procesador le números de 0 a 1025 por ejemplo. Para programar el trabajo dentro de este rango de lectura serán necesarios los comandos de “if” o “min/max” Es importante entender que muchos de estos procesos y comandos pueden ser simplificados con el uso de componentes eléctricos en el circuito, por eso es necesario entender muy bien que hace cada uno de ellos y como funcionan. Conclusiones: Casi todos los proyectos de physical computing utilizaran alguna combinación de inputs y outputs, por lo que el primer paso es identificar cuales son necesarios para tu proyecto, y ordenarlos según análogo o digital. Primero has que cada input y output funcione, luego utiliza funciones de rango para integrarlos. Luego guarda los códigos y comienza a trabajar con tus proyectos. En general la lógica del I/O es siempre dar una instrucción que genera algún tipo de respuesta en un mecanismo o en el ambiente, por lo que las funciones para dirigir dichas respuestas seguirán la lógica de mandato, por lo que debes ser muy preciso y siempre declarar las variables, explicar que estas haciendo y que quieres que hagan, a través de que pin, con que input llegando a que output o viceversa. ** Comandos: “if” indica que se genere una respuesta condicionada a si sucede algo o no.