ハロウィン×fab
ハロウィンを電子工作!? Arduinoで作る魔法のランタン
誰もが手軽に電子工作にチャレンジできるマイコンボード「Arduino」は3Dプリンタと並ぶMakersムーブメントの主役。これを使ってハロウィンを彩る魔法のステッキ&ランタンを製作してみた。(photographer KENJI KAGAWA)
ハロウィンの不思議なかぼちゃ「ジャック・オ・ランタン」
自由に「形」を造り出す3Dプリンタや、その「頭脳」としてさまざまな機器を制御するArduinoなどのマイコンボードの登場などにより、パーソナルファブリケーション革命が注目を集め、「何でも作ろう」を合い言葉にMakersムーブメントが盛り上がりを見せている。アートの世界におけるこうした流れの先駆者が、光や音で空間を演出するデバイスの開発を手がけるMATHRAX(マスラックス)の久世祥三さんと坂本茉里子さん。これまで数多くのアーティストやクリエイターとコラボレーションを重ね、彼らの「何でも作りたい」という夢の実現を手助けしてきた。
そんなお二人から、ハロウィンの季節を彩る美しくて楽しいオブジェ「魔法のステッキ」と「ジャック・オ・ランタン」の製作が提案された。しかも今回は、それをたった1日で作ろうという一見無謀な企画。
限られた時間での作業となることから「○分クッキング」よろしくレシピを省略するため、その基本構造はMATHRAXの作品「マジカルマスラックス」を原型とすることに。これはキャンドルサービスに替わる結婚式の演出として製作されたLEDで光るステッキ。持ち手のスイッチ操作で離れた場所のランタンにLEDの明かりが灯る。ステッキとランタンにはArduino互換ボード(※Arduino Fio)と無線モジュール(※XBee)が内蔵され、それらが通信して動作を制御する。
これをハロウィンらしく、ステッキにはかぼちゃの装飾を施し、ランタンもかぼちゃの形とした。3Dプリンタは使用せず、雑貨店で購入したかぼちゃの形をしたお菓子入れなどを利用。しかしその分、魔法らしさをアップする仕掛けを盛り込むことに。ステッキのArduinoに加速度センサを接続し、振るだけで色が変化する。さらに、XBeeがその動きをランタンに伝え、ステッキの振られた方向に応じてかぼちゃも怪しくその色を変える。
初体験のArduinoで個性を表現
いつもはアーティストにエンジニアの力を与える側のMATHRAXだが、今回はたった1日でこれらをプログラミングすることから、プロフェッショナルな組み込み系エンジニアの助けを請うことに。これに手を挙げてくれたのが、鳥海成章さんと稲見愛子さん。
お二人にとってArduinoによるプロトタイピングは初体験。Arduinoの※IDEや※スケッチをダウンロードする所からのスタートとなる。とはいえ、ネットで公開されている数々の※ライブラリを使用でき、またArduino言語は※C/C++言語をベースにしているということもあって、既にさまざまな開発を経験している鳥海さんと稲見さんにとってはそう大きなハードルではなかった。問題は、色を変化させるタイミングや、変化している最中の色味をどうするか、といった表現のしかたに関わる部分。今回それらは決まった形の指定が無いため、普段のお仕事の中ではあまり要求されることがない、制作者としての「個性」が要求されることとなった。
魔法のステッキ&ランタンを1日で開発!
そして秋の祭りばやしが鳴り響く昼下がりの都内某所で、ランタンの組み立てとプログラミングが行われた。
かぼちゃのランタン側の※Arduino Unoに、数個の抵抗などを搭載したLED制御用の※シールドとXBeeを搭載したシールドが接続された3階建て構造。ステッキ側のArduino FioにはXBee用スロットが用意されているため、こちらは持ち手内にスッキリ納まる。LEDはそれぞれフルカラーとホワイトの4色。
さらに、MATHRAXが持参したカッティングマシンで、その場でさまざまな模様のシールが作られ、ステッキに貼り付けられた。ハードのセッティングと並行して、主にステッキは鳥海さん、かぼちゃが稲見さん、という分担でプログラミングも順調に進む。そして作業は問題の「色の変化のさせ方」の部分に。
脚注
※Arduino Fio 小さなお菓子ケースサイズのsparkfun製小型Arduino互換ボード。電源、USBコネクタとXBee用のスロットのみで通常サイズのArduino用シールドはそのままでは接続できない。現在はFio V3が主流。
※XBee 電波法を気にせず使える短距離無線通信の規格ZigBee(ジグビー)を利用するためのSDカードサイズの無線モジュール。通信速度の違いやWi-Fi接続可能かどうかなどによりいくつかの機種がある。
※アセンブラ 数値の羅列である機械語を、人間が理解できやすい命令語に1対1に対応させたプログラム。
※高級言語 BASIC、C、JAVAなどに代表される、自然言語に近い記法や構文を取り入れたプログラム言語。実行時に機械語に翻訳するための変換ソフト(開発時にまとめて変換するコンパイラや実行時に逐次変換するインタプリタ)を必要とする。
※IDE コンパイラ、エディタ、デバッガなどをGUIで利用できるようにしたソフトウェアの統合開発環境。
※スケッチ Arduinoにおけるプログラムの呼称。
※ライブラリ さまざまなプログラムで利用できる汎用プログラムのまとまり。
※C/C++言語 BASICなどのインタプリンタ言語と比較して実行速度が速いコンパイラ言語の中でも現在主流となっている言語。移植性、自由度なども高い。C++言語はC言語の拡張版。
※Arduino Uno 現在最も標準的なArduinoで、現在主流となっているバージョンはR3。秋葉原の有名パーツショップや輸入代理店であるスイッチサイエンスのオンラインショップなどで購入可能。
※シールド Arudiono上にそのまま載せるだけで接続できるようにコネクタを配置した拡張ボード。モーター制御やサウンド出力など、用途によりさまざまなキットが販売されている。