Friday, March 28, 2008

Arduino PWM

En algunos artículos anteriores escribí sobre la modulacion PWM. Esta se usa entre otras cosas para controlar la velocidad en motores de corriente continua (DC) y regular el brillo en los LEDS.
Arduino (Decimilia y derivados) usa el microcontrolador Atmel ATMEGA168, este micontrolador tiene 6 salidas PWM (patas 3,5,6,9,10 y 11). La función analogWrite(pin, value) permite controlar cada una de las salidas PWM. La frecuencia de la PWM se encuentra fija en 490Hz y lo que controlamos con esa función es el ciclo de actividad de la PWM.
Un valor value=0v producirá una salida en 0v, mientras que un valor value=255 producirá una salida de 5v constante. Valores intermedios producirán valores medios proporcionales de tensión de salida Vmediosalida = (value/255)*5v.
Por ejemplo para controlar un LED, una frecuencia de 100Hz alcanza para que el sistema de visión humana no perciba el parpadeo del mismo, asi que los 490Hz que usa Arduino son mas que suficientes.


Tuesday, March 18, 2008

Technology Sketches | Prototipos Tecnológicos

En el proceso de desarrollo de nuevas tecnologías de interacción, me encontré con un concepto interesante a la hora de probar una idea. La cuestión es crear prototipos sencillos y ágiles que muestren como debería funcionar el producto, sin poner tanto foco en como el producto funcionará realmente. Pensar en la experiencia del usuario, la interacción, dejando los detalles tecnológicos para mas adelante. Poder explorar ideas sin pensar en las limitaciones tecnológicas, luego habrá que crear las tecnologías para poder resolver esas limitaciones.
¿Como se entiende esto a la hora de desarrollar? ¿Que se entiende por prototipos en este contexto?
Uno de los ejemplos que se me ocurrió es usando Arduino o CUI, por nombrar algunos ejemplos. Supongamos que queremos probar cierto tipo de interacción usando un acelerómetro (pienso en un objeto que reaccione de alguna manera a los cambios de aceleración). Usando Arduino podemos probar estas ideas concentrándonos en los algoritmos que controlan la interacción, ya que la comunicación y la lectura del sensor, se encuentran resueltas.
Si quisiéramos pensar en un prototipo clásico, desde cero, deberíamos preocuparnos por elegir un microcontrolador, construir una plaqueta, escribir las rutinas I2C (o usar algunas) y finalmente implementar la lectura del acelerómetro.
Este es un ejemplo trivial, contado de manera sencilla y muy esquemática, pero me parece que sirve para ilustrar la idea.
Esta claro que a la hora de convertir esta idea en un producto, no se puede pensar en usar Arduino como plataforma, dadas las limitaciones tecnológicas y económicas. Es en este punto donde debemos pensar en desarrollar la tecnología necesaria. Sin embargo, la interacción, motivación principal de nuestro proyecto, ya fue probada usando el prototipo (Sketch).
No hay que tomar esto como una definición general, es decir, puede suceder que una plataforma como Arduino sea tecnológicamente insuficiente para el tipo de interacción que queremos desarrollar (como puede ser el caso de procesar audio). Es allí donde el concepto debe ampliarse para generar una nueva escala de prototipo, usando bloques constructivos grandes.
Links:
ThingM

Thursday, March 06, 2008

DMX512 en acción

Les dejo el vídeo de un proyecto en el que participe junto a Capri . Lasser Jacket, es una campera DMX512, totalmente controlable desde un secuenciador MIDI.