hackvision shield mod v1.0. IV
Publicado en, septiembre 12th, 2012 por Draft IdeaderComo el hardware sin el software no es nada, en esta entrada se muestran algunos ejemplos de como utilizar la biblioteca TVout en el hackvision shield mod (tambien funcionaria en un hackvision normal, o simplemente conectando las salidas adecuadas al televisor).
Los ejemplos se centran en la biblioteca TVout, no tienen en cuenta el resto de las características que permite el hackvision ( sonido y mandos). Estos ejemplos son bastante toscos, en cuanto que no están pensados para ser muy reusables, su unica intención es ver como trabajan las diferentes funciones que la biblioteca nos proporciona y repasar un poco de operaciones sobre bits (muy útil para ahorrar memoria en Arduino).
El ejemplo esta compuesto de 3 archivos y contiene 4 ejemplos distintos:
- demoDraftidea.ino : Contiene el programa principal con los 4 ejemplos.
- DIlogo.cpp : Contiene los datos que representan el logo del blog (DraftIdea).
- DIlogo.h : Contiene las cabeceras del archivo anterior.
Comentarios del código:
Todo el código de demoDraftidea.ino está comentado para poder entender los ejemplos. Aquí un resumen que también se encuentra en el archivo de código (pero en inglés):
Hay 4 ejemplos distintos:
- carMovement(): Simulación de un coche. Utiliza funciones de dibujado de líneas.
- imageMovement(): Lee y muestra una imagen codificada en el programa de Arduino.
- proceduralGeneration(): Es un tipo de efecto plasma usando técnicas de generación de imágenes procedurales. Usa diferentes funciones y operaciones juntas para obtener animaciones.
- imageTransformation(): Obtiene una imagen de la pantalla y la transforma varias veces (con un efecto bandera) y la muestra cada transformación por pantalla obteniendo una animación. Necesita mucha memoria, lo que puede tra problemas con los Arduinos con un Atmega 168.
En cuanto a DIlogo.cpp y DIlogo.h contienen la imagen codificada en el código y la cabecera del archivo. La estructura de la codificación de la imagen sigue la siguiente estructura:
PROGMEM const unsigned char NombreImagen[] = {
tamañoHorizontal,tamañoVertical,
Información codificada siguiendo las instrucciones que se indican abajo y separando cada codigo hexadecimal por una coma}
Para obtener la imagen codificada es necesario utilizar el programa image2Code y seguir los pasos descritos http://code.google.com/p/arduino-tvout/wiki/Bitmaps
En la imagen anterior se muestra un resumen con los pasos a realizar para obtener la imagen codificada. Es necesario tener en cuenta que el resultado obtenido es necesario poner cada uno de los codigos (0x00 o similares) todos seguidos separadolos por una coma y quitando los corchetes.
Código:
Archivos comprimidos en ZIP: DemoDraftIdea
Ante cualquier duda comentad.
Actualizacion: Añadido vídeo.
Tags: Arduino, hackvision, hackvision shield mod, shield, software