giovedì 29 luglio 2010

Introducción al OSC (Open Sound Control) - Primer parte


1. Introducción

Open Sound Control (OSC) es un protocolo para la comunicación entre ordenadores, sintetizadores musicales y otros dispositivos multimediales inspirado en la moderna tecnología de las redes. El protocolo tiene algunas ventajas como por ejemplo la independencia del medio de transmisión y la flexibilidad para transportar cualquier tipo de datos. Pensado originalmente para la comunicación de instrumentos musicales (como en el caso del protocolo MIDI), en estos últimos años ha ganando terreno en otros sectores como el multimedial gracias a su potencia y flexibilidad.

El medio de transporte por excelencia son las redes de ordenadores y para obtener velocidad y simplificar las comunicaciones generalmente se usa el protocolo de transporte UDP (User Datagram Protocol) aunque si se pueden usar otros protocolos como por ejemplo el TCP.

2. Características principales del OSC
  • Expansible, dinámico.
  • Esquema de nombres simbólicos tipo URL
  • Datos simbólicos y numéricos ad alta resolución
  • Pattern matching que permite de comunicar simultáneamente con varios dispositivos a través de un único mensaje
  • Indicadores de tiempo (time tags) de alta resolución.
  • Posibilidad de empaquetar varios mensajes para aquellos eventos que deben ocurrir simultáneamente.

3. Tipos de mensaje



La base de la comunicación OSC se encuentra en los mensajes. Los mensajes pueden ser de dos tipos: mensaje único (message) o paquete de mensajes (bundle). El paquete de mensajes es un contenedor que puede alojar uno o varios mensajes únicos.

4. Mensaje único (messagge)

Está compuesto por una cadena de bytes (un byte equivale a 8 bit) y se puede dividir en tres partes fundamentales:



La característica común de todas las partes de un mensaje OSC (y como consecuencia del mensaje en si mismo) es que la cantidad de byte que componen cada una de estas es un valor múltiplo de 4. Esto da la posibilidad de controlar y mantener el alineamiento en la lectura de los distintos datos.

5. Dirección (address)

La primera parte de un mensaje OSC es la dirección (address) y consiste en una cadena que inicia con el símbolo "/". Se asemeja a un sistema tipo URL de internet permitiendo la navegación en una estructura jerárquica (o ad árbol). Generalmente la dirección se usa para identificar el mensaje (como si fuera un código de comando).




En la figura podemos observar un ejemplo de dirección que permite de alcanzar un hipotético modulo interno "md1" a través de una estructura tipo árbol invertido.

Ejemplos de direcciones son:

/status
/test/light
/adc/input/3

Fin de la primer parte

domenica 11 luglio 2010

Como conectar un relé



El modo mas simple para activar un relé es con un transistor, generalmente del tipo NPN. La corriente de excitación de un relé depende del tipo de relé. Generalmente, cuando mas grande es el relé, mas corriente necesita. El otro elemento que influye es la tensión de excitación. Si consideramos relés de pequeñas dimensiones con contactos de salida en grado de conmutar corrientes de 2 o 3 Amp. la corriente de excitación necesaria no va mas allá de los 60 mA (0,06 Amp).

Es bastante fácil saber la corriente de excitación porque en las hojas técnicas de los relé se indica claramente la resistencia de la bobina. Por ley de ohm:

I = V / R

Por ejemplo, si tenemos un relé de 5V DC con una resistencia de la bobina de 100 ohm podemos calcular la corriente:

I = 5V / 100 ohm = 50 mA

Una corriente de 50 mA es demasiado elevada para conectar directamente un dispositivo lógico (CMOS o TTL por ejemplo) y también para una salida de un microprocesador. Por lo tanto es necesario agregar un transistor que pueda manejar la corriente que el relé necesita. Se el transistor es del tipo NPN tenemos la ventaja de poder usar relé de cualquier tensión no obstante el circuito lógico sea de 5V, es decir, el transistor sirve también para adaptar lo niveles de tensión.

Para calcular la resistencia de base hagamos un ejemplo. Supongamos de usar un BC547, este transistor tiene una ganancia estática (HFE) de 100 o mas. Por lo tanto, para obtener la corriente de salida de 50mA necesaria, la corriente de entrada debería ser:

Iin = Iout / Hfe => Iin = 0,05A / 100 = 0,0005Amp

Por ley de ohm:

R = (V - Vb ) / I => (5V - 0,6V) / 0,0005A = 8800 ohm

Para estar seguros de poder disponer de bastante corriente de salida para el relé, bajamos el valor de resistencia obtenido a la mitad o menos. La corriente de salida del dispositivo lógico que controla el transistor seguirá siendo muy baja.

R = 3,3K




Como podemos observar en la figura, he agregado un diodo 1N4001 conectado en paralelo con la bobina pero polarizado al contrario. Este sirve para evitar que la extra tensión de la bobina (que se genera cuando el relé se desconecta) pueda dañar el transistor.

Por último, aunque si no es necesario para el funcionamiento de relé he agregado un led indicador con su respectiva resistencia.

En el caso sea necesario conectar un relé mucho mas grande y con mas consumo de corriente, conviene agregar un transistor de salida mas potente en cascada con el que ya habíamos usado creando una configuración que se llama "Darlington". Esta configuración puede ser vista como un super transistor que gana la multiplicación de las ganancias individuales. En este ultimo caso, la corriente de entrada será:

Iin = Iout / (HfeT1 * HfeT2)

Por lo tanto la resistencia de entrada puede ser mas grande. El circuito representado en la figura puede activar relés con corriente de la bobina máxima de 0,5Amp.



Por ultimo, si se necesita conectar muchos relés, existe una solución mas elegante que consiste en usar el circuito integrado ULN2003 que consiste en 7 grupos de transistores conectados en configuración "Darlington". El ULN2003 dispone ya de las resistencias de entrada y también del diodos de protección.



Todos los textos, los diseños y las fotografías fueron realizador por el autor del artículo.

Mesada de cocina iluminada con leds

Los led son una optima solución cuando es necesario iluminar amplias superficies en modo homogéneo. El caso que presento como ejemplo es la mesada de mi cocina.



Para iluminarla he comprado una tira de led autoadhesiva de color blanco "cálido" de 2 metros de longitud.



Una simple fuente de alimentación de 12V - 1 Amp y por último un interruptor para encender los led.



El consumo eléctrico es irrisorio (menos de 10 Wats), la iluminación es estupenda, cálida gracias al tipo de led y con muy poca sombra. Una solución simple y eficaz.



Todos los textos, los diseños y las fotografías fueron realizador por el autor del artículo.

Electrónica: soluciones para cuando no tenemos lugar

No teniendo mucho lugar para guardar mis experimentos electrónicos en casa, se me ocurrió esta idea que consiste en usar carpetas con anillos como plataforma para algunos de los sistemas que desarrollo.



Como se observa en las fotografías, he desmontado la carpetas sacándole la base metálica con los anillos, he fijado todas las plaquetas con tornillos y después hice el cableado.



Encuentro este sistema muy útil porque cada carpeta constituye un proyecto completo, listo para usar en cualquier momento y fácil de guardar cuando no es mas necesario. Además, las carpetas de experimentos son estéticamente agradables y se pueden meter en una librería junto con los libros.



Todos los textos, los diseños y las fotografías fueron realizador por el autor del artículo.

Como conectar un led



Una de los problemas clásicos cuando se conecta un led es calcular el valor de la resistencia. Sin resistencia el led se quema por exceso de corriente. Hoy en día, los led comunes son muy eficientes y por lo tanto la corriente necesaria para encenderlos es bastante baja: 5mA o menos para los led indicadores y 20mA para los led de alta luminosidad. Los led son relativamente tolerantes en materia de corriente por lo que se puede variar entre 5mA y 15mA para los led indicadores y entre 15mA y 30mA para led de alta luminosidad (entre estos últimos los blancos y los azules).



La formula para calcular la resistencia se obtiene de la ley de Ohm y es la siguiente:


R = (V - Vled) / I


donde:
R = resistencia
V = tensión de alimentación
Vled = tensión típica del led (cambia según el modelo)
I: corriente que pasa por el led

Por ejemplo, si tenemos un led rojo alimentado con 12V y hacemos pasar una corriente de 5mA:

R = (12V - 1,2V) / 5mA = 2.160 ohm (usando valores estándar de las resistencias: 2.200 ohm)

Para simplificar los cálculos, he preparado dos tablas donde podemos encontrar los valores de resistencia necesarios con distintos tipo de led y distintas tensiones de alimentación.



Como podemos observar en las dos tablas no obstante la caída de tensión típica de los led es distinta para los led verdes, amarillos y rojos, esta variación es poco significativa y por lo tanto podemos usar los mismos valores de resistencia. Esto no es así con los led blancos y los azules de alta luminosidad ya que en estos últimos la caída de tensión es bastante alta (3,7V)



La tolerancia de corriente de los led nos permite usar valores genéricos de resistencia (ad excepción de los led rojos de alta luminosidad alimentados con 5V) :

Para los indicadores: 5V => 680 ohm, 12V => 2K2

Para los led de alta luminosidad (incluidos los rojos): 12V => 390 ohm, 5V = 68 ohm (led azules y blancos) y 5V = 180 ohm (rojos)


Todos los textos, los diseños y las fotografías fueron realizador por el autor del artículo.