Archivos Mensuales: julio 2013

TV-Out

Funciones TVOut

begin (modo, x, y). Establece el modo y resolución especificada de funcionamiento.

modo ->           PAL = 1     NTSC = 0

x ->        La resolución horizontal, este debe ser un múltiplo de 8.

y ->                  Resolución vertical. 

hres () . Proporciona la resolución horizontal.

vres () . Proporciona la resolución vertical.

set_pixel (x, y, color). Pinta un punto(pixel)

x ->                  Coordenada x del punto

y ->                  Coordenada y del punto

Color ->            WHITE = 1        BLACK = 0       INVERT = 2

clear_screen(). Borra la pantalla.

draw_line (x0, y0, x1, y1, color) Dibuja una línea desde (x0, y0) a (x1, y1) con un color dado.

x0 y x1 ->         Coordenada x del punto de inicio y final

y0 y y1 ->         Coordenada y del punto de inicio y final

Color ->            WHITE = 1        BLACK = 0       INVERT = 2

draw_rect (x, y, w, h, color, fillcolor) Dibuja un rectángulo en (x, y) con las dimensiones (h, w), y rellenar con el color dado.

x ->                  Coordenada x del punto

y ->                  Coordenada y del punto

h ->                  Longitud en x

w ->                  Longitud en y

Color ->            WHITE = 1        BLACK = 0       INVERT = 2

Fillcolor ->        WHITE = 1        BLACK = 0       INVERT = 2      NOFILL=-1        Parámetro optativo

draw_circle (x, y, radio, color, fillcolor) Dibuje un círculo en (x, y) con el radio dado, y rellenar con el color dado.

x ->                  Coordenada x del punto

y ->                  Coordenada y del punto

radio ->                        Longitud del radio del círculo

Color ->            WHITE = 1        BLACK = 0       INVERT = 2

Fillcolor ->        WHITE = 1        BLACK = 0       INVERT = 2      NOFILL=-1        Parámetro optativo

bitmap(x,y,bmp,i,width,height) Dibuja un mapa de bits en las coordenadas x, y.

x ->                  Coordenada x del punto

y ->                  Coordenada y del punto

select_font (fuente). Seleccione la fuente que desea imprimir.

fuente ->          font4x6            font6x8            font8x8            font8x8ext

print (). Imprime una cadena de texto.

println (). Imprime una línea de texto.

delay(ms). Retardo un n ms.

 

Si quieres conocer todas las funciones, visita la página siguiente:

http://code.google.com/p/arduino-tvout/

Las librería se puede descargar del siguiente enlace:

http://code.google.com/p/arduino-tvout/downloads/list

Si necesitas saber como se instalan las librerías en Arduino, visita la página siguiente:

http://arduino.cc/es/Reference/Libraries

 

Salida TV

Esquema Eléctrico:

Esquema

Esquema Práctico:

TVOut_bb

Código del Programa:

Codigo_texto

Fotos:

DSC_0353

Visión general de las conexiones

TVOut

Primer plano de la placa y sus conexiones

Instantánea - 1

Salida sobre una televisión con entrada AV

Código fuente:

TV_OUT.zip

Ficha del Proyecto:

TV-Out_Ficha_14

Vídeo resumen:

Anuncios

Comunicación por Infrarrojos

ARDUINO Y RECEPTOR DE INFRARROJOS

Lo que me dispongo a realizar, es con la ayuda de un receptor de infrarrojos (TSOP4838) que obtuve de un helicóptero viejo y un par de componentes pasivos, comunicarme con Arduino a través de un mando a distancia. Casi todos los mandos a distancia por lo general utilizan el protocolo de comunicación NEC que más abajo explico.

TSOP4838

Para la comunicación mediante el protocolo NEC con Arduino hay varias librerías que son necesarias para realizar tal fin, yo he utilizado una que me da la posibilidad de recibir y emitir con el citado protocolo (IRremote).

El circuito que hay que realizar es muy sencillo y puede ser algo como lo que dibujo más abajo.

Esquema_TSOP4838

Una vez que lo tenemos, con un sencillo programa y utilizando el monitor de comunicación del Arduino, podremos saber el código de cada tecla de un mando que utilice el citado protocolo.

Protocolo de Funcionamiento NEC

http://wiki.altium.com/display/ADOH/NEC+Infrared+Transmission+Protocol

El protocolo de transmisión de IR NEC utiliza la codificación de distancia de impulsos de los bits de mensaje. Cada ráfaga de impulsos es 562.5μs de longitud, a una frecuencia portadora de 38 kHz. y de la siguiente manera:

      ‘0 ‘Lógico – un pulso de 562.5μs seguido por un espacio 562.5μs, con un tiempo de transmisión total de 1.125ms

     ‘1 ‘Lógico – un pulso de 562.5μs seguido por un espacio 1.6875ms, con un tiempo de transmisión total de 2,25 ms

Al transmitir o recibir códigos de control remoto utilizando el protocolo de transmisión de IR NEC, la transmisión/recepción funciona de manera óptima cuando la frecuencia de la portadora (utilizado para la modulación / demodulación) se establece en 38.222kHz.

Cuando se presiona una tecla del mando a distancia, el mensaje transmitido consiste en lo siguiente, en orden:

                     Una impulsos líder 9 ms.

                     Un espacio 4.5ms

                     La dirección de 8 bits para el dispositivo receptor

                     La inversa lógica de 8 bits de la dirección

                     El comando de 8 bits

                     La inversa lógica de 8 bits del comando

                     Un pulso 562.5μs última ráfaga para indicar el final de la transmisión del mensaje.

Para el envío de los cuatro bytes de bits de datos, se realiza enviado primero los  bit menos significativo.

NECMessageFrameTelegrama Ejemplo utilizando el protocolo de transmisión de IR NEC.

Un comando se transmite una sola vez, aun cuando la tecla del mando a distancia sigue siendo presionada, si se mantiene apretada la tecla en el mando a distancia, se emitirá un código de repetición, alrededor de 40 ms después de la ráfaga de impulsos que finalizó el último mensaje. Un código de repetición continuará siendo enviado a intervalos de 108ms, hasta que se libera la tecla.

NECMessageFrame_Repeticion

Códigos de repetición Ejemplo enviaron una tecla pulsada en el mando a distancia transmisor.

Protocolo extendido:

El protocolo NEC es tan ampliamente utilizado que pronto todas las direcciones posibles, se agotaron. Se sacrificó la redundancia de la dirección del rango de direcciones y se amplió de 256 posibles valores a aproximadamente 65000 valores diferentes (256 valores de la dirección del Protocolo extendido no son válidos porque son, de hecho, la forma normal de direccionamiento del protocolo de NEC. Cada vez que el byte bajo es el inverso exacto del byte alto no es una dirección válida extendida), de esta manera el rango de direcciones se amplió de 8 bits a 16 bits sin necesidad de cambiar cualquier otra propiedad del protocolo. La redundancia de comandos aún se conserva, por lo tanto cada dirección todavía puede manejar 256 comandos diferentes.

Esquema Eléctrico:

Esquema_TSOP4838

Esquema Práctico

infrarrojos_Practico

Código del Programa:

Codigo

Código fuente:

Infrarrojos.ino

Fotos

Mando

Mando utilizado

Foto_IR

Circuito utilizado

Ficha del Proyecto:

Infrarrojos_Ficha_13

Vídeo resumen: