Hoje eu ensino vocês a conectar seu Arduino na sua TV lá da sala, aquela que a sua mãe não deixa nem você conectar seu Play 2 pra jogar GTA.
Enfim, mão na massa!
Do que eu preciso?
Primeiramente, você vai precisar de:
- Dois cabos RCA
- Um Arduino Uno ou qualquer outro que tenha um ATMega328;
- 1 resistor de 1K e 2 resistores de 470 ohms;
e só.
Conectando
Conecte seu duino assim:
Você deve conectar a parte de fora (a casca) do conector no terra e a parte de dentro nos resistores de 1K e 470 ohms.
No conector de áudio, conecte a parte de dentro no resistor de 470 ohms que sobrou e a parte externa no terra.
Baixe a biblioteca TVout, que possibilita a você fazer essa proeza, nesse endereço aqui.
Programando
A resolução máxima suportada é de 128x96. Mas dá pra você fazer bastante coisa, inclusive mostrar bitmaps!O Robson Couto, do Dragão sem Chama, mostrou seus próprios bitmaps. E o código que ele usou é esse:
#includeOs headers "met.h" e "invader.h" podem ser baixados aqui.#include #include "met.h" #include "invader.h" TVout TV; void setup() { TV.begin(PAL,120,96); TV.select_font(font6x8); TV.println(0,40,"Arduino e TV com a\nbiblioteca TVout\n"); TV.delay(2500); TV.clear_screen(); TV.println(0,40,"Desenhando Imagens:"); TV.delay(1500); TV.clear_screen(); TV.bitmap(18,0,met); TV.delay(10000); for(int i=0;i<90;i--){ TV.clear_screen(); TV.bitmap(i,0,invader); TV.delay(100); } TV.clear_screen(); TV.print(9,44,"Dragao sem Chama"); TV.delay(2000); } void loop() { }
Bônus: Como mostrar seus próprios bitmaps
No Paint, redimensione a imagem que você quer mostrar até um tamanho menor que 128x96 e salve como bitmap monocromático.Baixe o programa Image2Code nesse link aqui.
Abra ele e arraste o bitmap no programa.
Escolha a terceira opção da esquerda para a direita.
Se você quiser que ele apareça "branco no preto", escolha a opção "Invert image".
Escolha C array writer e clique em "Convert".
O Bloco de notas vai abrir.
Escolha "Editar > Substituir..." e coloque "{" sem as aspas no campo Procurar por. Não coloque nada no campo Substituir por. Clique em Substituir tudo e faça o mesmo com o símbolo "}". Já a última vírgula do arquivo, apague manualmente.
Crie um novo arquivo .cpp com o nome da imagem e com o seguinte código:
#include "<nome-da-imagem>.h"
PROGMEM const unsigned char <nome-da-imagem>[] = {
(cole aqui o código convertido antes)
};e depois crie um arquivo .h com o nome da imagem na mesma pasta e com o seguinte código:
#include <avr/pgmspace.h> #ifndef <nome-da-imagem-em-maiusculo>_H #define <nome-da-imagem-em-maiusculo>_H extern const unsigned char <nome-da-imagem>[]; #endifDaí, inclua o header que você criou, assim:
#include "<nome-da-imagem>.h"Depois inclua o código no meio:
TV.bitmap(<pos_X>,<pos_Y>,<nome-da-imagem>);E... ta-da! A sua imagem aparece!
Dúvidas? Comente e eu te respondo.
É isso aí! Até mais!
Nenhum comentário:
Postar um comentário