Pessoal,
ultimamente ando meio sem tempo para atualizar o blog.
Se você souber como fazer algo com o Arduino ou viu alguma coisa interessante que alguém fez com o Arduino, me mande um e-mail ou fale comigo pelo Facebook.
Até mais.
sexta-feira, 4 de dezembro de 2015
terça-feira, 27 de outubro de 2015
Projeto #2: Fazendo sua TV se conectar com seu Arduino (e ainda com áudio!)
Voltei galera!
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.
O Robson Couto, do Dragão sem Chama, mostrou seus próprios bitmaps. E o código que ele usou é esse:
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:
Dúvidas? Comente e eu te respondo.
É isso aí! Até mais!
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!
Projeto #1: Conectando um mouse ou um teclado PS/2 ao seu Arduino
Bem amigos, hoje vou ajudar vocês a conectar um teclado ao seu "duino".
- Um conector PS/2 fêmea (pra conectar nosso teclado ou mouse);
- Um "duino" (óbvio!)
e só.
Você deve estar se perguntando: "mas é só isso mesmo"? Eu, quando eu vi, disse "é bom demais pra ser verdade", mas depois olhei bem e vi que era assim mesmo.


Sendo os pinos:
1 – DATA (dados)
2 – Esse a gente não usa
3 – GND (terra)
4 – Vcc (+5V)
5 – Clock (CLK)
6 – Esse a gente também não usa
Conecte

O Vcc no 5V, o GND no GND, o CLK no pino digital 2 e o DATA no pino digital 3.
Se for conectar um mouse, use o pino 5 como DATA e o pino 6 como CLOCK.
O código do exemplo para o seu teclado:
Ah, e dá também pra você fazer seu "duino" virar um mouse ou teclado!
É só usar a biblioteca desse link aqui e seguir o exemplo.
Do que vamos precisar?
Vamos precisar de:- Um conector PS/2 fêmea (pra conectar nosso teclado ou mouse);
- Um "duino" (óbvio!)
e só.
Você deve estar se perguntando: "mas é só isso mesmo"? Eu, quando eu vi, disse "é bom demais pra ser verdade", mas depois olhei bem e vi que era assim mesmo.
Conectando
O conector PS/2 tem as seguintes saídas:Sendo os pinos:
1 – DATA (dados)
2 – Esse a gente não usa
3 – GND (terra)
4 – Vcc (+5V)
5 – Clock (CLK)
6 – Esse a gente também não usa
Conecte
O Vcc no 5V, o GND no GND, o CLK no pino digital 2 e o DATA no pino digital 3.
Se for conectar um mouse, use o pino 5 como DATA e o pino 6 como CLOCK.
Hora de programar!
Para programar para seu teclado, você pode usar o exemplo e baixar a biblioteca nesse link aqui.O código do exemplo para o seu teclado:
#include <PS2Keyboard.h>
const int DataPin = 8;
const int IRQpin = 5;
PS2Keyboard keyboard;
void setup() {
delay(1000);
keyboard.begin(DataPin, IRQpin);
Serial.begin(9600);
Serial.println("Keyboard Test:");
}
void loop() {
if (keyboard.available()) {
// read the next key
char c = keyboard.read();
// check for some of the special keys
if (c == PS2_ENTER) {
Serial.println();
} else if (c == PS2_TAB) {
Serial.print("[Tab]");
} else if (c == PS2_ESC) {
Serial.print("[ESC]");
} else if (c == PS2_PAGEDOWN) {
Serial.print("[PgDn]");
} else if (c == PS2_PAGEUP) {
Serial.print("[PgUp]");
} else if (c == PS2_LEFTARROW) {
Serial.print("[Left]");
} else if (c == PS2_RIGHTARROW) {
Serial.print("[Right]");
} else if (c == PS2_UPARROW) {
Serial.print("[Up]");
} else if (c == PS2_DOWNARROW) {
Serial.print("[Down]");
} else if (c == PS2_DELETE) {
Serial.print("[Del]");
} else {
// otherwise, just print all normal characters
Serial.print(c);
}
}
}
Se você está usando um mouse, entre por aqui.
Ah, e dá também pra você fazer seu "duino" virar um mouse ou teclado!
É só usar a biblioteca desse link aqui e seguir o exemplo.
Bem-vindos!
Olá, e bem vindos ao Arduino Infinity.
Eu criei esse blog com o objetivo de postar projetos que você pode fazer (ou um dia vai precisar fazer) usando um Arduino.
Tem bastante coisa, desde fazer um LED piscar até fazer seu próprio sintetizador, passando por mostrar imagens numa TV.
É isso aí. Boa sorte com os projetos!
Eu criei esse blog com o objetivo de postar projetos que você pode fazer (ou um dia vai precisar fazer) usando um Arduino.
Tem bastante coisa, desde fazer um LED piscar até fazer seu próprio sintetizador, passando por mostrar imagens numa TV.
É isso aí. Boa sorte com os projetos!
Assinar:
Comentários (Atom)