プロジェクションマッピングでクリスマスイルミネーションをコントロール!

メリークリスマス!🎅 今回もPILOT神山ラボから山下がお送りします。

クリスマスだというのにうちのラボにはクリスマスツリー🎄の一本もなく、寂しかったので自分で作ることにしました。

電子部品を秋月電子と、徳島のでんでんハウス佐藤電機さんで購入しました。22日に注文して、2日後のクリスマスイブに間に合うか不安だったのですが、無事イブ当日の朝に到着しました。

夜に間に合わせたいので大急ぎで作業を開始します。まずはカラーセンサを組み立てます。当たっている光の色を識別するセンサです。

カラーセンサのDIP化
カラーセンサのDIP化

センサ本体が小指の爪💅の半分くらいのサイズなので、大変でした!

次にLEDユニット💡を作ります。カラーセンサにあたる光と同じ色にLEDが光るようにします。

今回はブレッドボード上のスペースの問題で、カラーセンサとLEDを隣接させてしまいましたが、ほんとは離して配置したほうがいいです。今回は同じものを2つ作りました。

DSC_1356
LEDが点灯。カラーセンサに当たる光の色でLEDの色も変わる。

写真を撮るのに使ったスマホの背面の色に合わせて赤くなっています。

テスト動画

LEDだけじゃつまらないので、星⭐️も作りました。カラーセンサで取得した青色成分の値をサーボに送るようにしました。

DSC_1350
DSC_1350

飾りはこれで完成。飾りとツリー🎄は電子工作クラブのみんなと厚紙で作りました。

8281_1109143279118973_2858789848397590425_n

さらに、NodeサーバでSocket.ioを動かして、繋がったクライアント全てのマウス🐀座標を共有させる仕組みを作りました。

webインターフェイス。接続している人の数だけマウスと同期した色付きの丸が表示される。
webインターフェイス。接続している人の数だけマウスと同期した色付きの丸が表示される。

この画面をプロジェクターで投影すると、世界中のwebブラウザから、神山のサテライトオフィスコンプレックスに設置されたツリーのイルミネーションを制御することができるってわけです。ツリーの様子はYouTube Liveで中継しました。

セットアップ
セットアップ

実際に投影するとこんな感じです。

projection

星にLEDを付ければよかった
星にLEDを付ければよかった

全部準備できたのが夜9時頃で、朝まで http://proto.pilotz.jp/christmas/ で公開していたのですが、webカメラの画質が悪かったり、遅延が発生したり、クライアントのスクリプトの動作が遅くなったり、はてはユニットを固定していた両面テープが剥がれて落ちてしまったりとトラブルが多発しました。次回はもう少し念入りに準備しようと思います。

それではみなさん、よいクリスマスをお過ごし下さい。

LISPing at the end of time.