2013年6月30日日曜日

LEGO TECHNIC U400 ウニモグ と Arduino for Visual Studio お試しのつづき

 さて、Mindstorms NXTに手を出してから、にわかLEGOファンになってしまい、色々と手をつけていますが、今回はLEGO TECHNICシリーズの大物、U400 ウニモグです。


 Amazonで注文して届いた箱を見た瞬間、「・・・」ってなってしまったくらいの箱の大きさ。タバコは吸わなないので、煙草の箱がないんで、代わりに手のひらと大きさ比較。別に私の手が小さいわけではありません。



 箱を開けて、パーツを確認。なかなか手強そう。


 早速、組立て開始。基本はマニュアル通りに組み立てれば間違いなく完成するはずなんですが、部品が多いと、うっかりつけ忘れたりします。最後の方になって、中の中の方のギアを付け忘れて軸が空回りしたりすると、泣きたくなりますので、慎重に行きます。


 クラッチ(赤い部品)がついていて、一つのモータを切り替えて複数の動作に伝達できるようになっています。


 手前の青いチューブが出ているのは空気ポンプです。このモデルは空気圧でクレーンを動かせるようになっています。楽しみ。ところで、作り始めはなんとなく機構や動力の伝わり方も想像ができるんですが、この辺になってくると、もう、説明書にしたがって只々組み上げていくだけです。


 ディファレンシャルギアなんかもあります。LEGOはほんとにすごい「おもちゃ」だと思います。




 部品を小分けするのに、プラスティックのトレーやラジコンサーボのケース、石鹸の入れ物、それでもたりなくて、牛乳パックの底の部分を数cm切り取って即席トレーを用意しました。この牛乳パックトレーが以外に便利。電子部品なんかを机の上に広げるときなんかにも使えそう。ただし、注意事項として、使用済みの牛乳パックは綺麗に洗って、乾燥させてから使うこと。じゃないと、微妙に牛乳臭が・・・。



 車体ベース部分を組み立てたところ。タイヤもでかい。


 運転席部分を組み立て開始。


 シートももちろんブロックです。


 運転席部分を組み上げて、車体ベースと連結します。


 連結したところ。さらに荷台を組み立てて、車体に載せます。



 うぉーっ。つ、つかれた。でも、まだ、終わりじゃないんです。あと、車両前部にウィンチ、後部にクレーンがつきます。でも、もう、今日はだめかも・・・。なんか、肩が凝った。自分はあんまり肩こりはならないんですが、年かな・・・。レゴ肩だ・・・。

 というわけで、ウニモグの続きは次回の休日のお楽しみにとっておくことにしました。気分を変えて、何か別のことをしようと思い、ここで少し触った Arduino for Visual Studio をもう少し調べて見ることにしました。

 Visual Studio で Arduinoのコーディング・コンパイルができて、Visual Studioの補完機能も利用できるフリーのプラグインですが、有料のライセンスキーを購入するとデバッグ機能が使えるようになります。なお、30日間はお試しでフリーでデバッグ機能も使えるということなので試してみたいと思います。

 今回は試しにLEDチカのプログラムをdelay関数を使わずに変数でforループを回して、ブレークをかけて、変数の値をウオッチするというのを試しました。以下が、その画面です。


 Visual Studioはエディタとして使用されますが、Arduino側の実行・デバッグに対してデバッグモードにはならないので、通常のプロジェクトと同じ感じでデバッグしようとすると操作に戸惑うかもしれません。
 デバッグメニューの中に追加された「Arduino」メニューか、実行してシリアルモニタを表示して、そこにあるアイコンからメニューを選択して操作するような感じです。


 変数のウオッチもできます。ただ、どうやってウオッチ対象を設定するのかが初めはわからず、ちょっと戸惑いました。


 ブレークポイントを設定して、ブレークポイントヒット時の設定に参照したい変数の表示メッセージを設定しておくことで、上記のExpressionsウィンドウに変数の値を表示できます。ブレークをかけずに変数の値を見たい場合は「続けて実行する」にチェックを入れておけば、トレースポイントとして変数の値が参照されてプログラムは実行を続けます。


 デジタルポートの状況をモニタ表示できるウィンドウもあります。今回のテストプログラムでは実ボードのLEDに合わせて IOの13が点滅しました。

 同様にアナログポートの値をグラフ表示してくれるウィンドウもあります。アナログポート端子付近を指で触ってノイズを載せたところのグラフです。


 デバッグを行なっているところをキャプチャしてみました。


 通常のVisual Studioでのデバッグに比べると、操作に癖はありますが、かなり多機能で、いいんじゃないでしょうか。Arduino-IDEではステップ実行やウオッチがないので、printデバッグに頼るしかないので。まあ、タイミングがシビアな(組み込みはそもそもそういうのが対象だったりするんだけど)プログラムにはブレークをかけたデバッグはそもそも使えないことが多いですけど。