世界を動かす技術を、日本語で。

HNに表示: 6年間かけて馬鹿げた木製ピクセルディスプレイを作りました

概要

  • Kilopixel は、世界で最も非効率的な 1000ピクセルディスプレイ の製作記録
  • 物理的なピクセルを一つずつ動かす 独自メカニズム の紹介
  • 誰でもウェブ経由で 描画・投票・参加 できるインタラクティブな仕組み
  • 試行錯誤を重ねた 素材選び構造設計 の苦労
  • 公開・配信・今後の展望 までを網羅

世界一非効率な1000ピクセルディスプレイ「Kilopixel」製作記

  • Kilopixel は、40×25= 1000ピクセル の物理ディスプレイ
  • kilopx.com で世界中の誰もがピクセルアートを描画・投稿・投票可能
  • インスピレーション元は Danny Rozin の鏡アートやeInkムービープレイヤー
  • 1ピクセルずつ、 1分間に10回 しか変化しない低速仕様
  • 6文字ドメイン kilopx.com の魅力に後押しされて開発開始

プロジェクト全体像

  • Webアプリ・物理コントローラ・CNC設計・Gcode生成 など多岐にわたる技術要素
  • 3Dモデリング・3Dプリント・材料調達・大量製作を伴う大規模プロジェクト
  • 最初のプロトタイプは 21×3ピクセル の木製ガントリー式

プロトタイピングの試行錯誤

  • 木材から Openbuilds のアルミフレームに転換
  • ステッピングモーター ・Raspberry Pi・CNCコントローラを組み合わせたXYプロッタ方式
  • センサーによるピクセル状態の読み取り機構を搭載

ピクセル素材選びの苦労

  • ピンポン球 ・発泡スチロール球・ネフボール・木球・3Dプリント球・ゴルフボール等を試行
    • コスト・重さ・入手性・加工性・耐久性が主な課題
    • ピンポン球は穴あけで強度低下・サイズ不揃い・塗装剥がれ問題
    • ネフボールは色や耐久性・加工精度に難
    • 木球やバウンドボールも重量・加工性で不適

ピクセル回転機構の模索

  • LEGOホイール +モーター+反射センサーによる回転検出を試作
  • ソレノイドやサーボで押し当てる方式も実験
  • 結果として球体ピクセルの回転は断念

立方体ピクセルへの転換

  • Joe TannenbaumChris Morrell との対談で発想転換
  • フラップや光るボタンも検討しつつ、木製立方体ピクセルを自作
  • 1000個の自作は膨大な手間だが、見た目と操作感に満足

グリッド構造の工夫

  • ピクセル自体の寸法誤差を排除するため、 25枚の棚板 に正確な穴を開けて金属ワイヤーでピクセルを通す構造
  • 数週間かけて安定したグリッドを実現

CNCマシンによる制御

  • gcode 命令でピクセル位置へ移動・回転・状態取得を制御
  • Raspberry Pi +CNCコントローラ+PythonスクリプトでAPI連携
  • pigpio で光センサー値をGPIOから取得し、ピクセル状態を判定

ピクセル操作メカニズム

  • ピクセルは90度ごとにノッチがあり、 グルースティック で端を押して回転
  • gcodeで動作を細かく制御する繊細な仕組み

APIとWebアプリ

  • Webアプリが「何を描くか」の ソース・オブ・トゥルース
    • ユーザー投稿モード :人気順で描画
    • リアルタイム協働モード :複数人で同時編集(多人数は非推奨)
    • アイドルモード :自動生成パターンや時計表示
  • Webアプリは Laravel+InertiaJS+VueJS 構成、DigitalOcean VPSで運用

公開・配信体制

  • 2台の Webカメラ (近接・全景)+OBSで YouTubeライブ配信
  • ffmpegで描画タイムラプスを自動生成し、 kilopx.com やBlueskyにも投稿
  • API連携で描画完了時に自動処理

セキュリティと運用

  • Bluesky OAuth 認証で投稿管理・投票はセッションチェック
  • 問題投稿の即時削除機構も実装
  • いたずら対策は必要最小限、まずは自由に開放

今後の展望

  • インターネット上での利用が落ち着いたら、 APIを公開 して他者に制御を委託する可能性
  • 最終的には自宅オフィスの背景として誰でも操作できる状態で公開予定
  • まずは多くの人が自由に楽しむことを期待

まとめ:物理とインターネットの融合プロジェクト

  • 世界中の誰もが 物理ディスプレイ を遠隔操作できる体験
  • 手間と非効率を楽しむ アート的エンジニアリング
  • みなさんもぜひ kilopx.com で参加・投票・投稿を!

追記

  • Kilopixelは1ピクセルずつ描画し、1画像に 30~60分 かかる
  • 誰でも 投票・画像投稿 で参加可能
  • 詳細・参加は https://kilopx.com/

Hackerたちの意見

これまで見た中で、一番高いコストパーピクセルのディスプレイだと思う。こんなに好きなディスプレイは初めてだよ。最高にクレイジーだけど、いい意味でね。

実際のコストパーピクセルを考えたくないな、特に自分の時間のコストとか!最終的なコストを計算するのは意図的に避けてるんだ。

画像を変えない限り、全くエネルギーを消費しないね。

柔軟なグルースティックを使った往復式の突き出し機構を作ったんだ。最もコスト効率が良くてクリエイティブな「ウェアアイテム」で。

数日前にここで魚のプロジェクトがあって、敵対的な画像に対処しなきゃいけなかったんだけど、それは(ほぼ?)ニューラルネットを使って検出することで解決されたんだ。

TTFPは確実に1日未満だね。

別のアイデアだけど、キューブのエッジを真っ直ぐ前に向けるってのはどう?それぞれのキューブが隣接する2つの暗い面と2つの明るい面を持ってれば、左から45°で見た画像と右から見た画像の2つの「同時」画像を設定できるかも。(各ピクセルには4つの可能性があるね。)

同様に、カメラは正面を向いたままで、ほぼ同じハードウェアでピクセル数を倍にできるかも。

すごいプロジェクトだね!俺も似たような30ピクセルのディスプレイを作ったことがあるよ: https://www.chrisfenton.com/the-pixelweaver/ 俺のは完全に機械式で、パンチカードと手回しクランクで動いてたんだ。全てのピクセルを並列で変化させたけど、メカニズムの開発はすごく馴染みがあったよ。

すごい!これを実現するためにどれだけの努力が必要だったか、よくわかるよ。お疲れ様!最近、1800年代のライノタイプ機を見たんだけど、先人たちの業績に謙虚になれるのっていいよね。あの機械はすごく複雑で、どうやって作るのか全然想像もつかなかった。君の織機の話を聞いて、あの時のことを思い出したよ!

「更新していないときにゼロ電力で使えるドットマトリックスディスプレイのe-inkの代替品」についてだけど… 片方に隠れた熱プリンターがあって、もう片方に巻き取りスプールとテンションスプリングが隠れている「ディスプレイ」って設計されたことある?その場合、「ディスプレイ」は箱の後ろに張られた連続的な熱紙の「スクロール」になって、新しい全幅の画像を熱プリンターに印刷することで「リフレッシュ」できるんだ。(これだと、結果的にディスプレイがかなり長くなるから特に面白いと思う。幅はあまり広くないけど、標準のレシートプリンターサイズ以上の熱紙ロールはあまりないと思う。間違ってたら教えて!)

ちょっと訂正させて:一部のファックス機は熱紙を使ってるから、ディスプレイは少なくとも8.5インチにはなるよ。

おお、このアイデアいいね!箱の構造を使って、メカニズムを正しく作れば、ディスプレイを4面に広げることもできるよ。つまり、「プライマリ」ディスプレイの画像をリフレッシュする際に、他の画像をセカンダリ、テラリー、クアタリーのディスプレイに移動させるってこと。フレームに隠されたテンションローラーを各コーナーに使うと、「ベゼル」の隙間を考慮できるよ。

もしもう少し進めたいなら、ディスプレイをパイロットのフリクションペンに使われている熱消去インクで覆うこともできるよ。このインクは、加熱すると消える(60℃)けど、冷却すると濃くなる(-10℃)って面白い特性があるんだ。その温度の間は安定してるから、常に再利用できるループが作れるかも。インクが劣化する前に何回サイクルできるかはわからないけど。

画像を変えるために捨てなきゃいけないなら、ディスプレイって呼べるのかな。

「もっと速い」バリエーションを想像し続けてるんだ。木の球をチューブやチャンネルに打ち込むシステムはどうかな?スキャンラインごとに異なる色の球を選択的に供給する感じで。重力や空気圧を使った組み合わせで動かすのもありだね。スキャンラインが片方を排出して、もう片方から補充するって感じで。スタジアムサイズのユニットにスケールアップして、ボウリングボールのピクセルを使うのも面白そう。色を適切な供給チャンネルにリサイクルするタイミングが難しいかも。それに、ピクセルの摩耗を減らすために、何かしらのダンピングを導入する必要もあるね。逆に、アクティブマトリックスにして、ソレノイドやサーボの動作に基づいてブロックがその場で回転して、異なる顔色を見せるっていうのもアリかも。

君のアイデアは、マーブルピクセルアートマシンに近いね… https://youtu.be/w1ks0Vy98KI

すごくクールだね!「猫が『こんにちは』って言ってる」ってのを見終わったばかりなんだけど、@kilopx.comのBlueskyでは、ここ9日間新しい投稿がないみたい。改善のためのいくつかの提案があるよ: - 提出が終わったら、次の作品に移る前に「ペン」をできるだけ邪魔にならないようにして、完成したアートのきれいな写真を撮れるようにする。 - ウェブサイトに、現在進行中の提出のクレジットを表示する。 - ウェブサイトに、完成した提出の「履歴」ギャラリーを作る。保留中の提出には「この作品が描かれた後にタイムラプスが利用可能になります」というパーマリンクがあるけど、完成した提出(または進行中のもの)のパーマリンクを見つける方法がないみたい。

もしそれがイーロンだったら、変な人たちはそのポーズを「ハイって言ってる」なんて言わないだろうね、笑。

NYUのウッドミラー・プロジェクトを思い出した: https://www.youtube.com/watch?v=Wb6eFGbwPeA

「バカバカしい」かもしれないけど、あなたが(明らかに)すごいってことは変わらないよね。

僕も似たようなことに取り組んでるけど、3Dで動きが速いやつだよ: PinThing / TAP(タングブル・アクチュエイテッド・ピン) [1] 情熱プロジェクトの問題は、進捗が思ったほど早く進まないことだね!こういうのにお金を出してくれる人を見つけるのが難しいし、買ってくれる人もね。機械的なものはすぐに複雑で高くなるし。 [1]: https://youtu.be/tx4W3ZDA_Vg