Mudanças entre as edições de "Purpurina"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
 
O objetivo do projeto Purpurina é criar um bastão luminoso para light-painting. Este projeto será usado como parte das atividades da Noite Luminosa, na Virada Cultural/Virada Hacker de 2012.
 
O objetivo do projeto Purpurina é criar um bastão luminoso para light-painting. Este projeto será usado como parte das atividades da Noite Luminosa, na Virada Cultural/Virada Hacker de 2012.
  +
  +
O Purpurina será composto por um conjunto de módulos independentes. Cada módulo acrescentará 16 pixels RGB ao sistema. Um total de 32 módulos podem ser interligados, formando uma linha de 512 pixels.
  +
  +
Para o primeiro protótipo pretendo usar apenas 2 módulos, formando 32 pixels.
  +
  +
   
 
==Light-Painting==
 
==Light-Painting==
Linha 22: Linha 28:
 
==Funcionamento==
 
==Funcionamento==
 
Uma sequência de leds RGB será alinhada na superfície do bastão Purpurina. Um microcontrolador, ligado ao bastão, controlará o brilho de cada led, individualmente, de forma que o bastão possa reproduzir uma linha completa de uma imagem armazenada no microcontrolador. A cada movimento do bastão a linha de pixels reproduzida pelos leds será substituída automaticamente, fazendo com que, ao final do movimento completo, a câmera capture uma reprodução da imagem completa.
 
Uma sequência de leds RGB será alinhada na superfície do bastão Purpurina. Um microcontrolador, ligado ao bastão, controlará o brilho de cada led, individualmente, de forma que o bastão possa reproduzir uma linha completa de uma imagem armazenada no microcontrolador. A cada movimento do bastão a linha de pixels reproduzida pelos leds será substituída automaticamente, fazendo com que, ao final do movimento completo, a câmera capture uma reprodução da imagem completa.
  +
   
 
Para a Virada Hacker será interessante permitir a troca rápida da imagem armazenada. Por isso, precisaremos desenvolver um software para PC/Laptop que permita editar e enviar as imagens, além de um protocolo simples de comunicação entre o PC e o microcontrolador.
 
Para a Virada Hacker será interessante permitir a troca rápida da imagem armazenada. Por isso, precisaremos desenvolver um software para PC/Laptop que permita editar e enviar as imagens, além de um protocolo simples de comunicação entre o PC e o microcontrolador.
Linha 28: Linha 35:
   
 
==Histórico do projeto==
 
==Histórico do projeto==
===10/Março/2012===
+
===31/Março/2012===
  +
Primeiro protótipo funcional, composto por um módulo de 16 pixels.
Primeiro protótipo, usando 4 leds RGB e um demux 74HC154 para direcionar o sinal para cada terminal. Essa abordagem permite aproveitar uma única saída do Arduino para controlar até 16 terminais, ou 5 leds RGB. Como o Arduino tem 6 saídas PWM, podemos usar 6 demuxes e controlar até 32 leds (6 x 16 = 96 terminais ou 32 leds RGB).
 
  +
Purpurina_pattern_logo_16.jpg
  +
  +
O protótipo armazena a imagem diretamente na memória flash do Arduino (.text). Por isso, é possível armazenar uma imagem com até 300x32 pixels em um Duemilanove 368.
   
  +
O protótipo possui 2 botões do tipo push-button. O primeiro botão é usado para se definir a duração do movimento do bastão. O segundo botão exibe a imagem, alternando entre as linhas de acordo com o passar do tempo.
O chaveamento do demux faz com que os leds pisquem o tempo todo. Porém, a uma frequência tão alta que é imperceptível para a câmera. Observando a foto abaixo, praticamente não há diferença entre a imagem gerada pelos 4 leds piscando e a imagem do led vermelho embutido na placa do Arduino.
 
   
 
Abaixo fotos do protótipo:
 
Abaixo fotos do protótipo:
 
<center>
 
<center>
 
<gallery widths=190px perrow=3>
 
<gallery widths=190px perrow=3>
Arquivo:Purpoc_1.jpg|Teste com 4 leds RGB numa protoboard
+
Arquivo:Purpurina_pattern_logo_16.jpg|Imagem usada como base para o teste
Arquivo:Purpoc_2.jpg|Teste de light-painting
+
Arquivo:Purpurina_primeiro_teste.jpg|Primeiro teste de light-painting
 
</gallery>
 
</gallery>
 
</center>
 
</center>

Edição das 14h15min de 31 de março de 2012

O objetivo do projeto Purpurina é criar um bastão luminoso para light-painting. Este projeto será usado como parte das atividades da Noite Luminosa, na Virada Cultural/Virada Hacker de 2012.

O Purpurina será composto por um conjunto de módulos independentes. Cada módulo acrescentará 16 pixels RGB ao sistema. Um total de 32 módulos podem ser interligados, formando uma linha de 512 pixels.

Para o primeiro protótipo pretendo usar apenas 2 módulos, formando 32 pixels.


Light-Painting

Light-painting, ou pintura com luz, é uma técnica fotográfica que usa fontes de luz (Lanternas, leds, etc) para gerar imagens artísticas.

A técnica é bem simples: O fotógrafo configura a câmera para uma longa exposição (baixa velocidade do obturador) em um ambiente escuro e depois move as luzes em frente à camera, usando os movimentos para formar desenhos.

É mais fácil entender através das fotos abaixo, feitas no Garoa Camp 2011:


Veja também o vídeo "As drogas são boas, mas podem melhorar" (Tony/Gola/Laura), que venceu a categoria Wild do ArtEngine 2011.

Funcionamento

Uma sequência de leds RGB será alinhada na superfície do bastão Purpurina. Um microcontrolador, ligado ao bastão, controlará o brilho de cada led, individualmente, de forma que o bastão possa reproduzir uma linha completa de uma imagem armazenada no microcontrolador. A cada movimento do bastão a linha de pixels reproduzida pelos leds será substituída automaticamente, fazendo com que, ao final do movimento completo, a câmera capture uma reprodução da imagem completa.


Para a Virada Hacker será interessante permitir a troca rápida da imagem armazenada. Por isso, precisaremos desenvolver um software para PC/Laptop que permita editar e enviar as imagens, além de um protocolo simples de comunicação entre o PC e o microcontrolador.

Todo o projeto (Software, firmware e diagramas elétricos) está disponível no Google Code, sob a licença open-source GPLv3.

Histórico do projeto

31/Março/2012

Primeiro protótipo funcional, composto por um módulo de 16 pixels. Purpurina_pattern_logo_16.jpg

O protótipo armazena a imagem diretamente na memória flash do Arduino (.text). Por isso, é possível armazenar uma imagem com até 300x32 pixels em um Duemilanove 368.

O protótipo possui 2 botões do tipo push-button. O primeiro botão é usado para se definir a duração do movimento do bastão. O segundo botão exibe a imagem, alternando entre as linhas de acordo com o passar do tempo.

Abaixo fotos do protótipo:

Envolvidos