Índice:

Graffiti virtual: 8 etapas
Graffiti virtual: 8 etapas

Vídeo: Graffiti virtual: 8 etapas

Vídeo: Graffiti virtual: 8 etapas
Vídeo: Graffiti lessons ep1 - Basics 2024, Julho
Anonim
Graffiti Virtual
Graffiti Virtual

Eu vi alguns sistemas de graffiti virtuais na web, mas não consegui encontrar nenhuma informação publicada sobre como fazer um (embora veja a página de links finais). Achei que seria ótimo para meus workshops de graffiti, então eu mesmo fiz um e publiquei tudo o que você precisa para fazer o seu aqui! Recursos * código aberto e hardware, * custo <£ 100 excluindo projetor e computador, * detecta o bocal da lata pressão e distância da tela, * modelos de tinta pingando se você se mover muito devagar! Observações * Este instrutível é de nível bastante alto, mas por favor me avise se eu perdi algo importante, * a configuração de computação é para Linux. Se você conseguir fazê-lo funcionar em outros sistemas, poste suas instruções! Habilidades que você vai precisar * trabalhar com madeira para fazer a tela de retroprojeção de madeira, * circuitos eletrônicos e programação de micro controladores Atmel AVR (ou arduino), * ser capaz de instalar alguns bibliotecas em seu computador para permitir o processamento para se comunicar com o wiimote.

Etapa 1: como funciona

Como funciona
Como funciona

* A lata de spray tem um LED infravermelho que brilha na tela do projetor e é visto pela câmera do wiimote. * O wiimote envia as coordenadas X e Y da lata para o computador por meio de um link de rádio bluetooth. * O computador está executando um programa de pintura simples que usa um projetor para "pintar" as linhas conforme você desenha com a lata. Ele também se encarrega de mapear a câmera wiimote na tela usando um sistema de calibração de 4 pontos. * O spray também pode detectar sua distância da tela e a pressão do bico: quanto mais você se afasta, maior o ponto desenhado, quanto mais forte você pressiona o bico, mais opaco o ponto de tinta se torna.

Etapa 2: os componentes

Os componentes
Os componentes

Aqui estão todos os bits de que você precisa para reunir:

* computador - precisa ter cerca de 1,4 Ghz, bluetooth e uma porta usb, * ambiente de processamento, * software virtualGraffiti, download da etapa "configuração do computador", * nintendo wiimote - comprar segunda mão no ebay, * projetor - será necessário seja brilhante se estiver planejando usar durante o dia ou dentro de casa com as luzes acesas, * tela de projeção traseira - faça você mesmo, * lata de spray virtual - faça você mesmo, * receptor de lata de spray virtual - faça você mesmo. Custo * arduino para receptor de lata (construído em usb-> serial) £ 21 * rádio rx / tx par £ 9 * componentes para latas de spray de construção £ 18 mais invólucro opcional £ 12 * invólucro opcional para receptor £ 8 * nintendo wiimote - comprar segunda mão no ebay £ 20

Etapa 3: tela de projeção traseira

Tela de Projeção Traseira
Tela de Projeção Traseira

A tela precisa ter a quantidade certa de transparência! Se não for transparente o suficiente, a imagem não será vista e o LED infravermelho não será visível para a câmera do wiimote. Se for muito transparente, o projetor ficará ofuscante e a imagem desbotada. (Embora veja a última página para formas de mitigar isso).

Usei lycra, que é elástica para poder esticar para ficar mais transparente. No momento, seguro com tachas, mas estou passando para o velcro quando tiver acesso a uma máquina de costura. Fiz uma moldura de madeira com a ajuda de uma oficina e de um carpinteiro (obrigado Lou!) Precisei desmontar para poder transportá-la na minha bicicleta. Se você estiver fazendo um para um local fixo, será mais fácil de fazer. Basta torná-lo em uma proporção de aspecto de 4: 3 e firme o suficiente para ficar em pé. Eu descobri que as pessoas tendem a empurrar o material da tela um pouco, então ela precisa ser um pouco robusta.

Etapa 4: lata de spray

Lata de spray
Lata de spray
Lata de spray
Lata de spray

Esta é a parte mais complicada do projeto e demorou mais para acertar. A boa notícia é que você não precisa de tudo isso para fazer um sistema divertido funcionar. O mais simples é conseguir um circuito com um switch e um LED infravermelho e um resistor. Quando você pressiona o botão, o LED acende e é visto e rastreado pela câmera do wiimote.

Esta versão é mais avançada, pois também mede a distância da tela e a pressão do bico. Essas duas coisas são importantes quando você está realmente pintando com spray. Eu queria fazer um sistema de treinamento, então era importante torná-lo o mais "real" possível (dentro dos meus limites de custo). O circuito é bem simples. Dê uma olhada no diagrama de circuito anexo para ver por si mesmo. Você precisa de habilidades básicas de soldagem e ser capaz de colocar um circuito no veroboard. Além disso, você deve se sentir feliz em programar microcontroladores. Construir um circuito do zero em vez de usar uma placa arduino, opção 1: se quiser usar uma placa arduino em uma lata de spray. Use o arduino como está e reduza pela metade a taxa de transmissão do rádio tx no código spraycan. opção 2: você quer economizar, mas não tem um programador de fusíveis. Construa a placa e use um cristal externo de 16 MHz. Divida a taxa de transmissão pela metade como na opção 1. opção 3: você deseja economizar ainda mais dinheiro e tem um programador de fusíveis. Construa a placa, mas omita o cristal externo. Use o programador de fusíveis para definir o atmel para usar seu relógio interno. Acredito que este programador paralelo DIY permitirá que você programe fusíveis. Eu uso o programador olimex. Visão geral do circuito O microcontrolador mede a saída do sensor de distância 2d120x afiado (ótimas informações sobre este sensor aqui) e do potenciômetro linear. Ele também mede a saída do potenciômetro LED PWM. Isso é usado para ajustar a saída de luz do LED. O LED IV que estou usando é de 100mA e o comprimento de onda de pico é de 950nm (ideal para wiimote). O microcontrolador usa PWM para piscar o LED muito rápido. Usamos um mosfet de potência IRF720 para que o micro não queime sua saída. Também queria adicionar capacidade para um LED mais brilhante no futuro. Há um LED de status que pisca sempre que um pacote de dados é transmitido no rádio. Se tudo estiver funcionando bem, esta luz deve estar piscando em torno de 15Hz. Finalmente, o módulo transmissor de rádio é conectado ao pino 3 (pino digital 1 para arduino) do microcontrolador para que possamos enviar as informações que estamos medindo para o computador. Você também PRECISA de uma antena acoplada à placa receptora. Usei um pedaço de arame de 12 cm de comprimento. Isso é metade do que é recomendado nesta excelente página de informações. Programando o microcontrolador Depois de construir o circuito, você precisará carregar o programa (em anexo). Eu uso o ambiente de programação / bibliotecas do arduino. Você pode compilá-lo com o IDE do arduino e programá-lo da maneira que costuma fazer. Meu circuito é simplificado usando o clock interno de 8 MHz do micro. Se você usar isso, você precisará definir as configurações de fusível para usar o RC calibrado de 8 MHz interno: 1111 0010 = 0xf2 Isso significa que você precisará de um programador que possa gravar fusíveis../avrdude -C./avrdude.conf -V -p ATmega168 -P / dev / ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Se você não tiver este tipo de programador (digamos que você tenha apenas o arduino placa), basta usar um cristal de 16 MHz entre os pinos 9 e 10 e tudo deve funcionar (não testado - pode ser necessário um capacitor). Você também precisará modificar o código do programa para que a transmissão do transmissor seja reduzida pela metade. Teste Depois de juntar tudo e carregar o programa, você precisa ajustar o brilho do LED IV. Eu só queria maximizar a saída de luz sem torrar o LED, então eu explodi um pouco e terminei com uma média de desenho de cerca de 120ma. Se você tiver um multímetro, pode ajustar isso facilmente, caso contrário, basta ajustar o potenciômetro para ficar bem alto, mas não totalmente! Você também pode verificar as entradas analógicas nos pinos 26, 27 e 28 do potenciômetro de ajuste do PWM, o sensor de distância e o potenciômetro do bico. Se você tiver um osciloscópio, poderá verificar o trem de pulso saindo do pino 3 para o módulo TX do rádio. Verifique a saída pwm do LED no pino 11. Você pode usar uma câmera de celular (ou a maioria das câmeras CCD) para ver o LED IV acender quando você pressiona o botão do bico.

Etapa 5: receptor de lata de spray

Receptor de lata de spray
Receptor de lata de spray
Receptor de lata de spray
Receptor de lata de spray

Se você está seguindo a rota de spray simples, não precisa desse bit.

Caso contrário, eu apenas uso uma placa arduino, com o receptor de rádio conectado ao pino 2. Isso torna mais fácil inserir os dados em um computador via USB -> chip serial na placa arduino. Se eu fosse fazer um circuito personalizado, provavelmente usaria uma placa de avaliação FTDI USB -> serial UART. Você também PRECISA de uma antena acoplada à placa receptora. Usei um pedaço de arame de 12 cm de comprimento. Isso é metade do que é recomendado nesta excelente página de informações. Carregue o esboço graffitiCanReader2.pde no arduino. Com a lata ligada, você deve ver os LEDs de status na lata e na placa receptora piscando rapidamente. Sempre que o LED da lata pisca, um pacote de dados é enviado. Cada vez que o LED da placa receptora pisca, um pacote de dados válido é recebido. Se você não está vendo isso, há algo acontecendo com o link de rádio. Experimente conectar o TX da lata ao RX do receptor com um pedaço de fio. Se isso não funcionar, provavelmente há uma incompatibilidade na taxa de transmissão do virtualwire (consulte o código). Supondo que você tenha muitos flashes acontecendo na placa receptora, você deve ser capaz de monitorar isso em sua porta serial USB. Se você monitorar a porta serial (geralmente / dev / ttyUSB0) em 57600, deverá ver os dados sendo expelidos como Got: FF 02 Got: FF 03… O primeiro número é a pressão e o segundo é a distância. Agora você pode executar o processamento e usar essas informações para fazer belas fotos! Carregue o esboço de processamento anexado (canRadioReader.pde). Inicie o programa e verifique a saída do programa. Você deve obter uma frequência (que indica quantas atualizações por segundo o receptor está recebendo - você definitivamente deseja que seja pelo menos 10 Hz). Além disso, você obterá a distância e a medição do bico. Teste a lata movendo o potenciômetro do bico e movendo um pedaço de cartão na frente do sensor de distância. Se tudo estiver funcionando, vá para a próxima etapa - preparar o computador para se comunicar com o wiimote!

Etapa 6: Configuração do Computador: Processamento e Wiimote

Configuração do computador: processamento e o Wiimote
Configuração do computador: processamento e o Wiimote

Nosso principal aqui é obter processamento falando com o wiimote. Essas instruções são específicas do Linux, mas tudo deve funcionar em um Mac e Windows com alguma pesquisa sobre como colocar os dados do wiimote em processamento. Após instalar o Processing, encontrei algumas instruções no fórum, mas ainda tive alguns problemas. Aqui está o que eu tive que fazer:

  1. instalar o processamento
  2. instalar bibliotecas bluez: sudo apt-get install bluez-utils libbluetooth-dev
  3. criar./processing/libraries/Loc and./processing/libraries/wrj4P5
  4. baixe bluecove-2.1.0.jar e bluecove-gpl-2.1.0.jar e coloque em./processing/libraries/wrj4P5/library/
  5. baixe wiiremoteJ v1.6 e coloque o.jar em./processing/libraries/wrj4P5/library/
  6. baixe wrj4P5.jar (usei alpha-11) e coloque em./processing/libraries/wrj4P5/library/
  7. baixe wrj4P5.zip e descompacte em./processing/libraries/wrj4P5/lll/
  8. baixe Loc.jar (usei beta-5) e coloque em./processing/libraries/Loc/library/
  9. baixe Loc.zip e descompacte em./processing/libraries/Loc/lll/

Então usei um código inspirado em Classiclll para fazer os botões e a barra de sensores funcionarem. O código / esboço em anexo apenas desenha um círculo onde a primeira fonte de infravermelho é encontrada pelo wiimote.

Para verificar seu bluetooth, pressione os botões um e dois no wiimote e tente $ hcitool scan no terminal. Você deverá ver o nintendo wiimote detectado. Caso contrário, você precisará examinar mais detalhadamente a configuração do bluetooth. Se estiver tudo certo, carregue o programa wiimote_sensor.pde (anexado) e inicie-o. Na parte inferior de status da tela, você deve ver: BlueCove versão 2.1.0 no bluez tentando encontrar um wii Pressione os botões 1 e 2 no wiimote. Depois que for detectado, mova sua fonte de infravermelho (a lata de spray) em frente a ele. Você deverá ver um círculo vermelho seguindo seu movimento! Certifique-se de que funciona antes de prosseguir. Se você não conseguir fazer funcionar, pesquise no fórum de processamento.

Etapa 7: Configurando Tudo

Configurando tudo
Configurando tudo

Baixe o software virtualGraffiti abaixo. Extraia-o no diretório do caderno de desenho e siga estas etapas!

* ligue a lata de spray, verifique se a luz LED de status está piscando. * ligue o computador, conecte o receptor da lata de spray, * tela de configuração e projetor, * verifique se o LED de status do receptor da lata de spray está piscando, * inicie o processamento e carregue o programa virtualGraffiti, * verifique se você está recebendo o indicador serial RX e TX LEDs estão piscando na placa do arduino, * pressione os dois botões no wiimote, * faça a calibração de 4 pontos quando solicitado (coloque a lata de spray sobre cada alvo, em seguida, pressione o bico até que a escrita fique vermelha). * divirta-se!

Etapa 8: Recursos, links, agradecimentos, ideias

Links Aqui estão os links que foram inestimáveis para fazer este projeto funcionar: RF info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Processing: www.processing.org Usando wii com processamento: https://processing.org/discourse/yabb2/YaBB.pl? num = 1186928645/15 Linux: www.ubuntu.org Wiimote: https://www.wiili.org/index.php/Wiimote, https:// wiki.wiimoteproject.com / IR_Sensor # Calibração de 4 pontos de comprimentos de onda: https://www.zaunert.de/jochenz/wii/Thanks! Sem muitas pessoas publicando seus trabalhos, este projeto teria sido muito mais difícil e caro. Muito obrigado a toda a equipe de código aberto, pessoas que hackearam o wiimote, Classiclll por tornar o wiimote fácil de usar com processamento, Jochen Zaunert pelo código para fazer calibração, equipe de processamento, equipe do arduino, Lou pela ajuda de carpintaria e todos aqueles que exploram, fazem e depois publicar suas descobertas online! Sistemas de outras pessoas * Acabei de encontrar https://friispray.co.uk/, com software de código aberto e um howto * este sistema permite o uso de estênceis: legal! https://www.wiispray.com/, nenhum código ou howto * sistema de graffiti virtual do yrwall, nenhum código ou howto. Ideias para exploração * use 2 wiimotes para rastrear o volume 3D e elimine o sensor de distância na lata: https://www.cl.cam.ac.uk/~sjeh3/wii/. Isso seria bom porque o sensor de distância é atualmente a parte mais fraca do sistema. Também significaria que poderíamos usar uma tela de projeção traseira adequada para imagens mais vívidas. * use um wiimote na lata para detectar o ângulo da lata de spray. Isso adicionaria realismo ao modelo de tinta spray.

Recomendado: