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: 3971

Responder esta

Respostas a este tópico

Muito bom seu projeto Marcelo, com certeza ele vai longe.
a projeção na tela ficou excelente.
Sara,

Obrigado, mas o projeto não é só meu, somos uma equipe.
Agora estamos pensando em usar 1 laser apenas e 2 cilindros rotativos, tentando fazer um feixe cobrir um retângulo, produzindo imagens. Tal como nas TVs de tubo.
Vamos ver no que vai dar. Aliás, quem quiser participar é só se juntar a nós.

Abraço!
É tem razão tem todo um grupo por trás, mas esta ótimo PARABÉNS.
obrigada pelo convite se eu tiver alguma idéia que possa acrescentar ao projeto com certeza comunicarei.
sugestao como o laser esta fazendo o papel de agulha voces poderia utilizar o hardware de uma impressora matricial para acionar os lasers, ao inves da bobina acionaria o laser correspondente a letra, muito legal a ideia

Se o hardware da impressora permitir ler a memória volátil diversas vezes por segundo, como se tivesse imprimindo em negrito (e só apagar a linha quando for substituir a linha) aí acho que daria. A não ser que o principio não seja esse.

 

Como o ultimo replay data de 08/12/2010 gostaria de saber se este projeto já terminou e quais foram os resultados.

 

Obrigado.

 

Esse projeto morreu?

Renyer,

A gente terminou. Veja o vídeo:

:

Abraço!!

opa Marcelo muito show, vcs colocaram  info no wiki sobre o mesmo?

 

Grande abraço.

http://labdegaragem.com.br/wiki/index.php?title=Projetor_de_texto_l...

Tem uns errinhos no código, mas dá para pegar a ideia. :)

Abraço!!

muito bom ! vc vão disponibilizar o esquema ?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço