Hexapodを作った
Galileo7さんのArduino用オリジナルシールド、Hexapodを作りました。買ったのはかなり前なのですが、ADKの勉強の合間に作っていました。
制作目的は、動く工作物の勉強のためです。ロボットを作りたいと思いつつ、これまであまり動くモノを作っていなかったので、まずは動き・構造・制御の勉強に作った次第。可能であれば今後、自分なりの改造もしてみたいです。
ということで以下、制作過程の写真などを。
▼Arduino用ピンソケットとサーボを取り付けた。
動かしてみましたが、サーボ3個でこんなに面白い動きができるのかと感心しました。虫のような動物のような、なんとも変な動きが楽しい。
それにしても、自律的に動くモノ、要するにロボットはインパクトありますね。光ったり音が出たりという工作も、美しかったり異様だったりすればもちろん印象に残りますが、ロボットが自ら動く姿はさらに強烈です。私も、例えば今度のMaker Faireなどには、自分で作った何らかのロボットを展示したいと思いました。
PR0C0D1N6
iOSデバイスでProcessingとかHTML5を書けて実行できるアプリ「PR0C0D1N6」を購入してみました。450円。謎なアプリ名ですが、何か意味する事がありそうですね。
ちなみに購入時点でサンプルコードが色々入っており、実行したりコードを編集したり可能。アプリ自体はとても使いやすい印象を受けました。
Processingは以前勉強してたことがあったので、とりあえずPCで作ったスケッチ(.pdeのファイル)を入れられるか試してみました。
▼まずiPadをPCに接続すると、iTuneのAppタブ・ファイル共有の所にPR0C0D1N6が表示されます。PR0C0D1N6を選択すると右のリストにファイル一覧が表示されるので、そこにPCからスケッチを追加します。
▼iPadで一度PR0C0D1N6を完全に終了させ、再度起動するとPCから入れたスケッチがリストに表示されます。
上記の手順で、PCで作成したProcessingスケッチは動きます。PCで書くほうが効率は良いのでこれは嬉しい。iPadとはいえ、長々とコードを書くのはさすがに辛いです(カーソルキーが無いのが特に辛い)。
iOSでネイティブアプリを作るほどじゃない場合は、Processingで書いてPR0C0D1N6で実行するのも手軽で良いかもしれません。
ただ画像ファイルなどは転送できなかったので、外部ファイルを使うProcessingスケッチの動作のさせ方が分かりませんでした。外部ファイルはWebに置けば良いのかな?
iOSでプログラミングを始めた
先日Macを買ってから、2ヶ月くらい解説本を読みながら写経して、iOSプログラミングの勉強をしていました。よくわかるiPhoneアプリ開発の教科書と、Xcode 4ではじめるObjective-Cプログラミングの2冊です。
私はいわゆる高級言語はJavaしか勉強しておらず、あとはCやC#を少し、という半端な状態なのですが、Objective-Cが特に分かりにくいということは無かったです。メソッドに対するメッセージで、第2引数以降のラベルを記述する所が未だにしっくり来ませんが、まぁこれは慣れでしょう。オブジェクト指向について復習できたり、ポインタについて改めて勉強したりと、得るものは多かったです。
そしてiOSプログラミングは、Androidと全く違う体験でした。まずXcodeがとても良い。IBでコントロールを並べるだけで見た目を定義できるのは、特に新しい事ではありません。しかしXMLでレイアウトを長々と記述しなければいけないことに比べると雲泥の差です。コントロールとソースコードの接続も、アシスタントエディタでマウス操作で簡単にできちゃいます。凄いね。
私が今所有するiOS端末はNew iPadですが、勉強で作ったプロジェクトが実機上で動くのは、なんというか非常に感慨深い。この「うわー動いた!」という感じ、とても気持ちが良いものです。
以下は勉強の過程のテストアプリなど。
とりあえずまだスタートラインに立っただけの段階なので、これから先どうするかですね。openFrameworksやCocos2Dなんかも興味ありますし、作りたいものもあるにはあったりします。
その一方、iOSプログラミングは趣味としては面白いですが、自分のビジョンを具現化する主戦場では無いような気もしています。とはいえ世の中の動きもありますので、しばらくは勉強を継続してゆこうと思います。