2011.12.12
Zero to Maker:Arduinoとその先の世界
ちょっとヤル気のなかったMaker、 David LangがMakerカルチャーに身を沈め、我らの仲間、TechShopの寛大なるご協力のもと、できる限りのDIYスキルを習得していく様子をレポートします。彼は、何を学んだか、誰に会ったか、どんなハードルをクリアしたか(またはしなかったか)など、奮闘努力のレポートを連載します。- Gareth
Maker Faireに行ったり、Makeを読んだりすれば、かならずArduinoに出くわす。この Make BlogにもArduino Revolutionというレギュラーコーナーがあるぐらいだ。アーティストを中心とする少人数のグループが、文字通り簡単に使えて誰にでも改良できて(オープンソース)、さまざまな熱狂的コミュニティがこれを中心に生まれてきたというのは、本当に素晴らしいことだ。私はニューヨークで開かれたWorld Maker Faireで、Arduinoチームに会って話すことができた。彼らはロックスター並みの人気だった。そのとき、私のOpenROVプロジェクトの「共犯者」であるEric Stackpoleがちょうどブースに戻ってきて満面の笑みを浮かべた。彼は今、Arduinoチームと写真を撮ってきたところだったからだ。彼は記念写真を収めたiPhoneの画面を見ながら、喜びと驚きに首を振りながら言った。「ルームメイトが焼き餅をやくよ!」
そんなわけで、Arduinoのプログラミングは、私のZero to Makerの必須科目となった。私のような初心者には、これはまさに「習うより慣れろ」の世界だ。しかし、私はきちんと正しく学びたかった。つまり、自分を完全にゼロにして、ハンダ付け、回路のテスト、オームの法則のおさらいなどといったエレクトロニクスの基本から始めようと考えた。そんな私にぴったりの出発点となったのが、TechShopの「ハンダ付けとエレクトロニクスの基本」コースだ。私の溶接の講師でもあったGregg Geminは、ペーパークリップをハンダ付けして小さな人形を作ったり、プリント基盤に簡単なLED点滅回路を組み立てる方法を教えてくれた。こうした比較的簡単なプロジェクトのお陰で、ハンダ付けに自信が持てるようになったが、同時に、エレクトロニクスに関して、私が今までどれだけ勉強してこなかったかも痛感させられた。Arduinoをプログラムできるようになるというゴールに到達するには、私はたくさんの宿題をこなさなければならない。幸い私は、Make: Electronicsを、Make Onlineの編集長、Gareth Branwynの勧めで注文していた(Garethはこの本の製作にも関わっている)。この本は、私の知識の欠陥を埋めるのに最適なものだった。「Enough to be Dangerous」(怪我をしないレベル)になるための情報もたっぷりで、初心者Makerが今すぐ活用できるように編集されている。エレクトロニクスには半端な知識しかないと感じている方なら、この本をぜひお勧めする。
私のエレクトロニクス教育は、まだまだ未完成だけど、Arduino講座を取ることを決めた。連夜の集中講座だ。最初はBare Bones Arduinoの製作。言うなれば上級ハンダ付けコースだ。講師のAlex Mayは、説明書の意味がわかるように時間をかけて丁寧に手順を解説してくれた。さらに、私がUSBコネクタにハンダを盛りすぎたときなど困ったことが起きると、スッと来て助けてくれる。ボードを完成させると、素早く動作を確認して、次の夜のプログラミングとArduinoの使い方の講座で使えるよう準備してくれた。最初の講座を受けた6人は、次の夜にも集まった。私は、Alexとプログラミングの経験豊かな受講者たちに囲まれたお陰で、ありとあらゆる質問ができて、今までわからなかったことが、しっかりわかるようになった。たった3時間の講座では、LEDを点滅させたり、ボタンや可変抵抗をインストールしたり、サーボを動かしたり、Alexが書いたプログラムでシリアルデータをいじくることもできたが、それは、Arduinoの本当の可能性のほんの一部を味見した程度にすぎない。ほんの表面を引っ掻いたようなもんだが、私には天啓だった。まったく馴染みのなかった世界でありながら、私のOpenROVプロジェクトには必須項目であるエレクトロニクスの内側を学ぶことができたのだ。
Parallax Propellerを使ったOpenROVボード
Arduino講座を修了するなり、私は、私の基準では非常に難易度の高いプロジェクトに照準を合わせた。OpenROVに内蔵する電子システムの開発だ。最初のステップは、World Maker Faireに展示されたRobots Everywhereの開発者で設計の天才、Matteo Borriの知恵を借りることだった。Matteo はOpenROVのプロトタイプ開発に大きく貢献してくれた大恩人だ。Ericが彼の家に置いていったプロトタイプを、彼がハックしてくれなかったら、プロジェクトは頓挫していただろう。その1週間後、MatteoはEricに電話をかけてきた。カスタム仕様のParallax Propellerボードを作ったというのだ。Ericの説明によると、12系統のGPIOピンがあり、モータコントローラをドライブするサーボ用出力に使えるほか、センサの入力や、Arduinoなどのシリアルデバイスの接続、LEDの点滅などにも使える。ボードは、これらすべての仕事を、Android携帯電話などを接続できるオーディオポートから、またはEthernetボードを接続してEthernetからコマンドを受け取って行うことができる。さらに、PropellerチップはIPアドレスのホストになれるので、ネットでROVをコントロールできるのだ。だから、ソフトウェアをダウンロードする必要すらない。
私は、なんとかMatteoに頼み込んで半日空けてもらい、OpenROVボードの説明と、そのほかのマイクロコントローラに関する助言を聞かせてもらうことにした。私には難しすぎてチンプンカンプンだったが、もっと勉強したいと私を前向きな気持ちにさせてくれる、よい刺激だった。最初にMatteoが説明してくれたのは、Arduinoがすべてではないということだった。あらゆる種類のマイクロコントローラについて知っておけば、どこに何を使うのが最適かがわかる。そこが重要だと彼は言う。たとえば、POVに必要な仕事ができて最も安価であることから、彼はParallax Propellerを選択したという。Matteoは、彼が作ったいろいろなボード(Parallax、Arduino、Picaxeなど)を見せてくれた。そして「シールドってなに? どういう意味?」といった私の質問に、すべて優しく答えてくれた。
これまでのすべてのZero to Makerの体験と同じく、今回も、私は何を知らなかったのかを深く知ることができた。そして、ゴールにたどり着くには何が必要かもわかった。OpenROVに埋め込む電子システムの開発は始まったばかりだ。なので、プログラミングやParallaxボード、それにArduinoに関するアイデアなど、みなさんからの助言を渇望しています。OpenROV forumに参加していただくか、ここにコメントを書き込んでいただいても結構。
これまでの話はこちら:Zero to Makerの旅
– David Lang
[原文]