Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

 

 

Se você é geek (nerd) de verdade e adora videogames aposto que já ficou olhando para o aparelhinho e imaginando como seria criar seu próprio jogo ou até mesmo seu próprio vídeo game!

 

Pois é, eu já fiquei imaginando e planejamento até que descobri a biblioteca Arduino-tvout que pode ser baixada em http://code.google.com/p/arduino-tvout/downloads/detail?name=TVoutBeta1.zip&can=2&q= e também há uma cópia em http://www.seucurso.com.br/downloads/TVoutBeta1.zip

 

O hardware é muito simples e vamos nos preocupar primeiro com ele. Você precisará de:

 

01 cabo com pelo menos duas vias:

 

 

01 conector RCA:

 

 

 

01 resistor de 1k ohm (marro-preto-vermelho) e 01 de 470 ohm (amarelo-violeta-marrom):

 

 

Claro, também de um Arduino.

 

Em uma das vias do cabo solde os dois resistores que será depois conectado ao Arduino:

 

 

 

Solde a via onde foram soldados os resistores ao pino central do conector RCA e escolha outra via para ser soldada no pino externo:

 

 

Ligue o resistor de 470 ohm ao pino digital 7, o resistor de 1k ohm ao pino digital 9 e a via do cabo soldada ao pino externo do conector RCA ao GND do Arduino:

 

 

Agora vamos ao software. Criei um pequeno exemplo que usam praticamente todas as funções da biblioteca como linha, círculo e etc. você pode encontrar muito mais na página do projeto no mesmo link que foi colocado acima para fazer o download da biblioteca.

 

Para podermos importar a biblioteca descompacte o arquivo baixado e copie a pasta TVout para pasta libraries do seu ambiente de programação Arduino:

 

 

 

Abra seu ambiente de programação Arduino e antes de começarmos o exemplo importe a biblioteca TVout clicando no menu Sketch, selecione a opção Import Library... e clique sobre TVout:

 

 

 

Você terá as duas linhas abaixo adicionadas automaticamente:

 

{code}

 

#include

#include

 

{/code}

 

Eis o código completo:

 

{code}

 

#include

#include

 

 

TVout TV;

 

void setup()  {

pinMode(13,OUTPUT);

digitalWrite(13,LOW);

TV.begin(NTSC,72,56);

delay(1000);

TV.draw_rect(0,0,71,55,WHITE,BLACK);

TV.draw_line(0,0,10,10,WHITE);

TV.draw_circle(36,28,10,WHITE);

TV.set_pixel(36,28,WHITE);

delay(15000);

}

 

void loop() {

TV.shift(1,UP);

delay(1000);

}

{/code}

 

 

 

 

Como você pode ver, não espere grande resolução!

 

Com:

 

{code}

TV.begin(NTSC,72,56);

{/code}

 

Inicializamos a função de vídeo no formato NTSC, também há o formato PAL. Os valores seguintes são a resolução horizontal e vertical.

 

Você pode ainda verificar o valor retornado pela função begin:

 

0 – inicialização normal

1 – resolução horizontal não é múltiplo de 8

2 – resolução vertical não é múltiplo de 8

4 – não há memória suficiente

 

{code}

TV.draw_rect(0,0,71,55,WHITE,BLACK);

{/code}

 

Desenha um retângulo com início nas coordenadas 0,0 e final nas coordenadas 71,55

 

As cores também não são muito ricas, você tem a opção de:

 

BLACK = 0 = preto

WHITE = 1 = branco

INVERT = 2 = invertido

 

{code}

TV.draw_line(0,0,10,10,WHITE);

{/code}

 

Desenha uma linha na cor branca com início nas coordenadas 0,0 e final nas coordenadas 10,10

 

{code}

TV.draw_circle(36,28,10,WHITE);

{/code}

 

Desenha um círculo com centro nas coordenadas 36,28 e raio 10 na cor branca.

 

{code}

TV.set_pixel(36,28,WHITE);

{/code}

 

Seta um pixel na tela nas coordenadas 36,28 na cor branca.

 

{code}

TV.shift(1,UP);

{/code}

 

Movimenta toda a tela 1 pixel por vez na direção de subida, as direções podem ser:

 

UP = 0 = para cima

DOWN = 1 = para baixo

LEFT = 2 = para a esquerda

RIGHT = 3 = para a direita

 

{youtube}KiZIV6LeECo{/youtube}

 

Há também funções para escrever na tela, mas tive problemas de sincronismo com a TV ao usá-las, mas não é nada difícil desenhar as letras e números para escrever na tela, pixel-a-pixel.

 

Fazer animações também não é nada difícil, não apenas usando a função shift.

 

Bom, a partir disso é fácil usar a imaginação e um pouco de conhecimento em eletrônica e Arduino para criar seu próprio console. Uma sugestão é espelhar-se no PONG (http://pt.wikipedia.org/wiki/Pong).