- Kilopixel é um display grande baseado em 1.000 pixels de madeira desenvolvido ao longo de seis anos, em que qualquer pessoa pode desenhar pela internet.
- Este projeto foi concluído após diversas etapas de protótipos físicos, testes de materiais e mudanças na forma dos pixels.
- Utiliza máquina CNC e Raspberry Pi, além de aplicativo web e sensores, com uma estrutura única que conecta online e offline.
- Os usuários podem participar submetendo um desenho diretamente pelo site ou votando, e também há um ambiente para transmissão ao vivo e vídeo time-lapse.
- É um projeto criativo e aberto que estuda a transferência do controle da tela para outras pessoas e diferentes usos futuros.
Visão geral do projeto
- Kilopixel é o display de 1000 pixels de madeira mais ineficiente do mundo, desenvolvido em 6 anos
- Foi projetado como um sistema interativo no qual qualquer pessoa pode desenhar na tela pelo site (kilopx.com)
- O projeto é resultado da convergência de vários elementos de IT e makers, como app web, controlador físico, usinagem CNC, geração de G-code, modelagem e impressão 3D.
Ideia inicial e motivação
- Pegou inspiração em obras de espelho não tradicionais de Danny Rozin e em um player de vídeo ultra-lento baseado em eInk
- Diferente dos displays modernos de alta resolução, escolheu uma abordagem extremamente lenta e ineficiente de troca, alterando os pixels apenas 10 vezes por minuto
- Representa exatamente 1.000 pixels em grade 40×25 e recebeu o nome kilopx.com por ser um domínio fácil de memorizar
Primeiro protótipo (21x3 pixels)
- Partiu de uma base de madeira, migrando rapidamente para peças de alumínio do kit Openbuilds (estrutura similar à de uma impressora 3D)
- Com montagem automatizada básica de Raspberry Pi, controlador CNC e motor de passo, fez testes iniciais
- Descobriu várias limitações e problemas técnicos no mecanismo de seleção e operação dos pixels
Dificuldade em encontrar o pixel ideal
- Testaram vários materiais esféricos, como bola de tênis de mesa, espuma rígida e bola de madeira
- Encontraram dificuldades práticas de custo, peso, dificuldade de compra dos materiais e variação de tamanho
- Ex.: 1.000 bolas de 50 centavos custariam US$ 500
- A bola de tênis de mesa deforma facilmente ao perfurar e falha por variação de tamanho
- Neop-ball, bounce-ball, bola de madeira e isopor também foram considerados inadequados por problemas com perfuração, pintura, durabilidade e peso
Teste do mecanismo de rotação de pixel
- Tentou-se girar os pixels combinando roda de Lego, motor e sensores
- Foram testados vários modos de operação, incluindo solenóide e servo motor, mas todos foram descartados por exigirem controle muito rígido
Transição de pixels esféricos para pixels cúbicos
- Após uma conversa no podcast, houve uma mudança completa para pixels cúbicos de madeira e início da produção manual
- A produção em escala demandou bastante tempo, mas ficou satisfeito com a qualidade visual e de movimento alcançada
Construção da grade de pixels
- A precisão da matriz 40×25 foi garantida por projetar uma estrutura de grade fixa, em vez do próprio pixel
- Foram usinadas 25 prateleiras finas perfuradas com 40 furos e os pixels são encaixados em fios metálicos para manter um espaçamento uniforme
- O sistema foi projetado para que cada pixel funcione de forma totalmente independente, sem influenciar pelos vizinhos
CNC e controle do sistema
- Inclui explicação dos princípios básicos de CNC e do uso de G-code
- Utiliza Raspberry Pi e controlador CNC, scripts Python, sensor de luz, biblioteca pigpio e outros
- Integrada à web API, seleciona o próximo pixel para alterar, controla via G-code, verifica os resultados com sensores e envia feedback de volta para a API
Mecanismo de manipulação de pixel (pixel poking)
- Os pixels possuem ranhuras a cada 90° e giram ao empurrar a borda com um bastão flexível (gluestick)
- Todos esses movimentos são automatizados por G-code
Modos de exibição de imagem e interface web
- A API é controlada pelo app web e existem três modos de exibição da tela
- Submissão do usuário: qualquer pessoa submete imagem 40×25 e vota, e as populares aparecem em sequência
- Colaboração em tempo real: participantes alteram pixels em tempo real (menos ideal com grande quantidade de pessoas)
- Modo idle: saída algorítmica de alterações como relógio, formas e outros
- O stack do app web evoluiu de Node/Socket.IO para Laravel+Livewire e, por fim, para Laravel+InertiaJS+VueJS
Streaming ao vivo e time-lapse
- Com 2 webcams (close-up e wide shot), utiliza OBS e ffmpeg para streaming ao vivo da tela no YouTube em tempo real
- Após checagem de status da API, também oferece recursos de criação e publicação de vídeos time-lapse com as artes concluídas
Segurança e operação de sistema aberto
- Foi construída checagem mínima para prevenir abuso e, quando necessário, a remoção rápida de arte publicada
- Mantém-se uma estrutura de participação bastante aberta por padrão, com login via Bluesky OAuth, entre outros
Planos futuros
- Espera-se participação diversa de usuários e, mais adiante, considera-se repassar o controle por API para outra pessoa
- Em última instância, imagina-se usar o display como fundo de webcam ou em espaços como escritórios e cafeterias
- Qualquer pessoa pode participar e apreciar em tempo real pelo site
Conclusão
- O Kilopixel é um projeto único que combina interatividade online com fisicalidade offline
- O processo de criação é um caso interessante, com muitas tentativas e erros e esforço técnico, capaz de inspirar makers e desenvolvedores
Ainda não há comentários.