Kisah Membangun Layar Piksel Kayu Selama 6 Tahun
(benholmen.com)- Kilopixel adalah layar besar berbasis 1000 piksel kayu yang dikembangkan selama 6 tahun, yang memungkinkan siapa pun menggambar gambar melalui internet
- Proyek ini disempurnakan melalui berbagai desain prototipe fisik yang beragam, uji material, dan perubahan bentuk piksel
- Memiliki struktur unik yang menghubungkan online dan offline, dengan pemanfaatan mesin CNC dan Raspberry Pi, aplikasi web, serta sensor
- Pengguna dapat berpartisipasi dengan mengirimkan gambar langsung melalui situs web atau memilih melalui voting, serta tersedia juga dukungan siaran langsung dan video timelapse
- Ini adalah proyek yang kreatif dan terbuka; ke depan direncanakan pemindahan kontrol layar ke orang lain dan eksplorasi berbagai skenario pemanfaatan
Gambaran Proyek
- Kilopixel adalah layar kayu 1000 piksel paling tidak efisien di dunia yang dikembangkan selama 6 tahun
- Dirancang sebagai sistem interaktif yang memungkinkan siapa pun untuk menggambar di layar ini melalui situs web (kilopx.com)
- Proyek ini merupakan gabungan berbagai elemen IT dan maker: aplikasi web, kontroler fisik, pemesinan CNC, pembuatan G-code, pemodelan dan pencetakan 3D
Ide Awal dan Motivasi
- Terinspirasi dari karya cermin nontradisional Danny Rozin dan pemutar film super lambat berbasis eInk
- Berbeda dengan layar beresolusi tinggi modern, proyek ini memilih pendekatan sangat lambat dan tidak efisien yang hanya mengubah piksel sebanyak 10 kali per menit
- Menggunakan grid 40×25 untuk menampilkan tepat 1.000 piksel, dan diberi nama dengan domain kilopx.com yang mudah diingat
Pembuatan Prototipe Pertama (21x3 Piksel)
- Berawal dari gander kayu, lalu beralih cepat ke komponen aluminium dari kit Openbuilds (struktur yang mirip printer 3D)
- Pengujian awal dengan rakitan otomatisasi dasar menggunakan Raspberry Pi, kontroler CNC, motor stepper, dan lain-lain
- Ditemukan berbagai batasan dan masalah teknis pada mekanisme pemilihan dan manipulasi piksel
Tantangan Menemukan Piksel yang Tepat
- Uji berbagai bahan berbentuk bola seperti bola tenis meja, styrofoam, dan bola kayu
- Menghadapi masalah nyata seperti biaya, berat, kesulitan mendapatkan material, dan ketidakkonsistenan ukuran
- Contoh: 1.000 bola seharga 50 sen berharga US$500
- Bola tenis meja cepat berubah bentuk saat dibor, dan gagal karena perbedaan ukuran
- Neopel, bola memantul, bola kayu, dan styrofoam juga dinilai tidak cocok karena masalah pengeboran, pengecatan, ketahanan, dan berat
Eksperimen Mekanisme Rotasi Piksel
- Mencoba memutar piksel dengan roda LEGO dan motor yang dipadukan dengan sensor
- Berbagai skenario gerak diuji, termasuk solenoid dan motor servo, namun semuanya gagal karena kontrol yang sulit
Peralihan dari Piksel Berbentuk Bola ke Piksel Kubus
- Setelah diskusi podcast, beralih penuh ke piksel kayu berbentuk kubus dan mulai memproduksinya sendiri
- Produksi massal membutuhkan waktu cukup lama, namun hasil visual dan gerakan memenuhi harapan
Pembuatan Grid Piksel
- Alih-alih memusatkan pada piksel itu sendiri, dirancang struktur grid tetap untuk memastikan akurasi susunan 40×25
- Diproses 25 papan tipis berlubang 40 untuk menempatkan piksel pada kawat logam agar jarak tetap konsisten
- Setiap piksel dirancang agar beroperasi secara benar-benar independen, tanpa terpengaruh oleh piksel lain di sekitarnya
CNC dan Sistem Kontrol
- Menyertakan penjelasan prinsip dasar CNC dan penggunaan G-code
- Menggunakan Raspberry Pi dan kontroler CNC, skrip Python, sensor cahaya, serta pustaka pigpio
- Terintegrasi dengan API web untuk memilih piksel berikutnya, mengendalikan dengan G-code, memeriksa hasil tindakan via sensor, lalu mengirim umpan balik ke API
Mekanisme Pengoperasian Piksel (Pixel Poking)
- Setiap piksel memiliki alur khusus tiap 90°, dan tepinya diputar dengan cara didorong memakai tongkat lentur (glue stick)
- Semua tindakan ini diotomatisasi melalui G-code
Mode Penampilan Gambar dan Antarmuka Web
- API dikendalikan melalui web app dengan tiga mode tampilan
- Pengiriman pengguna: siapa pun dapat mengirim gambar 40×25 dan voting, lalu menampilkan karya terpopuler secara berurutan
- Kolaborasi langsung: partisipan dapat mengubah piksel secara real-time (jika terlalu banyak partisipan, hasilnya kurang ideal)
- Mode idle: menampilkan output berbasis algoritme seperti jam, bentuk geometris, dan sebagainya
- Tumpukan web app berevolusi dari Node/Socket.IO, Laravel+Livewire, dan akhirnya menjadi Laravel+InertiaJS+VueJS
Siaran Langsung dan Timelapse
- Menggunakan dua webcam (close-up dan wide shot) dengan OBS dan ffmpeg untuk siaran langsung YouTube layar secara real-time
- Menyediakan fitur pengecekan status API lalu membuat dan memposting video timelapse setelah karya selesai
Keamanan dan Operasional Sistem Terbuka
- Dibangun pemeriksaan minimal untuk mencegah penyalahgunaan serta fitur dukungan penghapusan cepat karya jika diperlukan
- Secara default dipertahankan struktur partisipasi yang sangat terbuka, termasuk penerapan login Bluesky OAuth
Rencana Ke Depan
- Diharapkan akan ada partisipasi yang lebih beragam, dan ke depan dipertimbangkan untuk mentransfer kontrol API kepada pengguna lain
- Pada akhirnya, dirancang agar dapat dipakai sebagai latar belakang webcam pribadi atau digunakan di kantor, kafe, dan berbagai ruang lain
- Siapa pun dapat berpartisipasi dan menikmati tontonan secara real-time dari situs web
Kesimpulan
- Kilopixel adalah proyek orisinal yang memadukan interaktivitas online dan fisikitas offline
- Proses pembuatannya, termasuk banyak eksperimen dan upaya teknis, merupakan kasus menarik yang bisa memberi inspirasi bagi komunitas maker dan developer
1 komentar
Komentar Hacker News
Saya sangat menikmati proyek ini dan saya juga pernah membuat layar 30 piksel sebelumnya. Lihat proyek PixelWeaver memakai mekanisme mekanis dengan kartu berlubang dan tuas agar semua piksel berganti sekaligus, proses pengembangan mekanismenya terasa sangat familiar.
Mumbo Jumbo juga pernah membuat konsep serupa di Hermitcraft dengan trap door. Saat ini sedang ada “revolusi buildstone”, aliran yang membuat efek estetik memakai redstone. Video Mumbot 2.0 bisa jadi referensi. Grian pun pernah membuat waterfall animasi dengan dispenser, partikel salju, dan panah ramuan. Video waterfall karya Grian
Proyeknya sangat keren; saya bahkan menonton sampai bagian kucing yang “mengucapkan hi”. Sepertinya sudah 9 hari tanpa posting baru di @kilopx.com di Bluesky. Beberapa saran perbaikan: setelah pengiriman selesai, akan sangat membantu bila “pen” bisa digeser lebih jauh supaya hasil jadi dapat difoto dengan rapi, dan tampilkan juga siapa yang sedang mengirim sekarang di situs. Akan lebih baik bila karya jadi ditampilkan terpisah sebagai galeri “history”. Saat ini hanya kiriman yang menunggu saja yang punya permalink seperti “Timelapse will be available after this is drawn”, dan sepertinya tidak ada cara mudah untuk menemukan hasil yang sudah selesai atau yang sedang diproses.
Laju refresh 370 mikrohertz memberi nuansa baru yang sangat menarik pada konsep “Calm Technology”, saya sangat suka. Penjelasan Calm Technology di Wikipedia
Dari pengalaman saya, display ini mungkin paling mahal per piksel, tapi ini pertama kalinya saya melihat display yang se-menarik ini—dalam arti positifnya, ini benar-benar “gila”.
Ide lain: atur sudut agar ketika kubus menghadap ke depan, justru sudutnya yang menghadap langsung, bukan sisinya. Kalau tiap kubus punya 2 sisi gelap dan 2 sisi terang yang berdekatan, kamu bisa menampilkan dua gambar sekaligus—yang satu terlihat dari sudut 45° kiri dan yang lain dari 45° kanan—jadi ada total 4 state per piksel.
Proyek ini juga hebat, tapi terus membuat saya membayangkan banyak cara untuk mempercepatnya (walau kecepatan jelas bukan poin utamanya). Jika mekanisme pemutar blok bisa bekerja tanpa perlu mengubah penjajaran sumbu X terus-menerus, satu kolom penuh tampaknya bisa diproses lebih cepat. Kalau tak butuh penjajaran sumbu Y, bisa jadi diproses per baris. Sistem yang tidak mengharuskan reset mekanisme rotasi blok setiap saat (mis. model putar) juga mungkin lebih cepat. Rasanya ini bisa diwujudkan sangat cepat kalau didesain oleh ahli otomasi manufaktur. Oh, dan menarik banget bahwa tahap awalnya memilih pendekatan e-ink analog berbasis bola.
Jika bicara alternatif matriks titik yang cuma butuh daya saat memperbarui gambar, saya terpikirkan ide yang belum pernah saya bayangkan sebelumnya: di satu sisi kotak ada printer termal, di sisi lain tersembunyi spool gulung kertas termal + pegas penegang, lalu kertas termal itu ditarik dan ditampilkan di belakang kaca [anti-UV], kemudian dicetak ulang untuk “menyegarkan” layar.
Sangat keren, dan tulisannya sangat seru dibaca. Proyek ini mengingatkan saya pada hal-hal yang pernah saya baca di novel steampunk. Saya sempat cari lebih lanjut via Google dan menemukan bahwa ini adalah kinotrope di Difference Engine oleh Gibson & Sterling. Katanya ada yang membuatnya dengan servo di tiap piksel—pasti mahal banget. Postingan blog terkait
Saya terus membayangkan versi “lebih cepat”. Misalnya sistem yang menembakkan bola kayu ke tabung/kanal tiap scanline untuk memasok bola sesuai warna; lalu reset/muat ulang per baris lewat gravitasi atau sistem pneumatik. Saya bahkan membayangkan diperluas sampai skala stadion dengan “piksel bola bowling”. Tantangannya akan pada timing distribusi agar tiap warna kembali ke kanal suplai dengan benar, dan mekanisme peredam benturan untuk menurunkan suara serta keausan. Di sisi lain, pendekatan active matrix juga mungkin: tiap blok berputar di tempatnya dengan solenoid/servo untuk menampilkan beberapa warna.