Vídeo do projeto atualizado em Nov 2010

Fala galera!


Estamos aqui no lab tentando construir um projetor de texto usando aqueles pointers laser que vende em camelô. Colocamos 8 pointers empilhados, refletindo em um cubo giratório com espelhos. A ideia é acionar os laser com o arduino em tempos definidos a fim de usar o princípio da persistẽncia visual para escrever mensagens de texto projetadas em qualquer parede.

Vejam as fotos de onde estamos no momento:
 

 

Vamos postar mais info no wiki.

Coseguimos projetar linhas na parede, então agora é alinhar os laser e começar a trabalhar nos tempos de acionamento dos lasers.

Abraços!
Atualização em 01/12/204:
Galera,
Segue o código.
Abraços!

int coluna = 0;
int contapassos = 0;
int estadomotor = LOW;
unsigned long tempodopasso = 250;
unsigned long tempo = 0;
unsigned long tempoanterior = tempo;

//Matriz Bacana - Lab
int laser1[] = {1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0};
int laser2[] = {1,1,0,0,0,0,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0};
int laser3[] = {1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0};
int laser4[] = {1,1,0,0,0,0,1,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0};
int laser5[] = {1,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0};
int laser6[] = {1,1,0,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0};
int laser7[] = {1,1,1,1,1,0,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0};
int laser8[] = {1,1,1,1,1,0,1,1,0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0};
int laser9[] = {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //Gambiarra

void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
}


void loop() {

tempo = micros();

if (tempo - tempoanterior > tempodopasso) {

tempoanterior = tempo;
estadomotor = (estadomotor == LOW) ? HIGH : LOW;

if (contapassos > 15) { //usar esse número para calibração

contapassos = 0;
if (coluna > 25) { coluna = 1; } //são 25 colunas na matriz
coluna = coluna + 1;

digitalWrite(12, laser9[coluna]); //Gambiarra para uma falha na imagem que não deciframos
digitalWrite(5, laser1[coluna]);
digitalWrite(6, laser2[coluna]);
digitalWrite(7, laser3[coluna]);
digitalWrite(8, laser4[coluna]);
digitalWrite(9, laser5[coluna]);
digitalWrite(10, laser6[coluna]);
digitalWrite(11, laser7[coluna]);
digitalWrite(12, laser8[coluna]);

}

contapassos = contapassos + 1;
digitalWrite(13,estadomotor);

}

}

Exibições: 3972

Responder esta

Respostas a este tópico

O projeto está quase pronto, mas com vc podemos fazer ele ficar exorbitantemente melhor hehe
Falai quando vc vai passar denovo no lab

Bruno disse:
Marcelo

Queria participar do projeto também, acho que posso colaborar na parte de programação do arduino e de interfaceamento com o PC.

Abraços
Bruno,

Já está dentro! Que tal uma interface Ethernet para carregar as mensagens?

Webtronico,

Valeu! Foi uma noite muito divertida! Hehehe...

Abraços!
Marcelo

Interface ethernet ficaria bem legal.

Podemos usar o mesmo protocolo para a ethernet e serial, ai fica a escolha pro usuário.

Abraços
Boa! Começamos na quarta?
Cara, preciso entrar de ferias da faculdade pra ficar no lab de noite!!! Hahahahhahah assim que eu entrar de ferias eu vou ficar no lab 24 horas (mentira) hahahahahah!!!
Legal esse negócio de "pov", achei varios videos do assunto no Youtube, postei um aqui para a galera ver!!

Link: http://www.youtube.com/watch?v=DLtbeU8FJW0&feature=related



Alberto Fabiano disse:
E aí Marcelo!

Só agora fui perceber, mas minha carteira estava figurando a cena na hora desta tua filmagem.

PoV - Persistence of Vision é uma arte do Ilusionismo.


Veja estas aqui: http://www.ladyada.net/make/spokepov/

[]s
Poisé, hoje ajustando o ultimo requisito do laser por acidente queimei todos eles...
Então precisamos de 8 lasers até segunda, assim o marcelo vai procura-los nas lojas, mas para todo caso, quem puder, poderia fazer o favor de doar um laser, desses de camelô, para nós até segunda, caso for para o encontro?
Obrigado, e desculpe pela baixa.
cara, tenho um amigo que manja de C e ele falou algo interessante:
"//Não tem que dar um limite a matriz?"
realmente nosso código não tem aquele for, só os antigos tinham, assim isso pode ser a soluça da gambiarra.
Leonardo

Eu tenho um laser .... posso levar na segunda.

Abraços
Leo,

"Queimei" não"! QUEIMAMOS! Se estávamaos trabalhando juntos, a equipe é responsável. Se tivéssemos tido sucesso, teria sido o sucesso de um só? O sucesso é de todos e as "m..." também. Queimamos!
A matriz tem limite sim, de 50 colunas, lembra? Múltiplo de 25, que é 200 passos divididos por 8 faces.

Bruno,

Valeu! Eu vou logo cedo no camelô onde comprei na Santa Efigênia para ver se encontro mais lasers, se não achar, vou na 25. Temos que abrir todos eles e tirar a plaquinha. Não é difícil, mas dá trabalho.

Abraços!
Romeu,

Olha esse:
http://www.youtube.com/watch?v=vL_xcswZx0c&playnext=1&list=...

Achei bacana a qualidade dos desenhos.

Abraço!
cara, esse limite eh o do programa quand vc bota um for nele :)
mas isso vemos terça hehe

Marcelo Rodrigues disse:
Leo,

"Queimei" não"! QUEIMAMOS! Se estávamaos trabalhando juntos, a equipe é responsável. Se tivéssemos tido sucesso, teria sido o sucesso de um só? O sucesso é de todos e as "m..." também. Queimamos!
A matriz tem limite sim, de 50 colunas, lembra? Múltiplo de 25, que é 200 passos divididos por 8 faces.

Bruno,

Valeu! Eu vou logo cedo no camelô onde comprei na Santa Efigênia para ver se encontro mais lasers, se não achar, vou na 25. Temos que abrir todos eles e tirar a plaquinha. Não é difícil, mas dá trabalho.

Abraços!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço