統合環境BricxCCは、Windows専用となってしまいますので、その他の環境でもEV3プログラミングができないかと思い、九州工業大学 花沢先生のご協力の下、Linux環境に加えてMacOS環境でのNXCプログラミング環境を構築しました。OS X v10.11 El Capitan 環境で動作確認をしています。
< MacOS 環境でのEV3プログラミング(NXC) > 設定とサンプルプログラムの実行
統合環境BricxCCは、Windows専用となってしまいますので、その他の環境でもEV3プログラミングができないかと思い、九州工業大学 花沢先生のご協力の下、Linux環境でのNXCプログラミング環境を構築しました。ubuntu 16.04 LTS 環境で動作確認をしています。
< ubuntu環境でのEV3プログラミング(NXC) > 設定とサンプルプログラムの実行
PC用のEV3ソフトウェアやタブレット用ソフト(EV3 PROGRAMMER APP)がLEGO MINDSTORMS サイトからダウンロードできます。 Home Edition では一部のセンサ(超音波センサなど)がデフォルトでは使用できませんが、ダウンロードページの下部の「EV3 ソフトウェアブロックダウンロード」からモジュールをダウンロードして追加できます。
< LEGO.com MINDSTORMS > LEGO MINDSTORMS
統合環境BricxCCは、RCX、NXTのサポートに加えてEV3への対応も進んでいます。 著者自身もEV3の開発環境を構築してEV3版NXCの動作テストを 行っています。メモのためにテスト版のBricxCCのインストールとその周辺の開発環境のインストールと 設定、サンプルプログラムのコンパイルと実行を掲載します。
< BricxCCのインストールと設定 > BricxCCのインストールと設定方法
< BricxCCを使用したEV3プログラミング(EV3-C、EVC 編) > BricxCC プログラミング編
本書のp.82~の並列タスクでも紹介していますが、NXT-SWでは並列タスクのプログラムを作成することができます。 その方法は、1)開始ブロックから上中下の3方向にシーケンスビームを伸ばす方法、2)シーケンスビームの途中から、 キーボードの「Shift」キーを押しながらシーケンスビームを追加する方法、の2種類あります。 1)の方法だとプログラムの最初から並列タスクを起動しないといけないのですが、2)の方法では プログラムの途中から並列タスクを起動することができるため、必要な部分のみ並列タスクを起動することができます。 ただし、並列タスクには命令のコンフリクト(本書p.85)が発生しますので、その対処が必要となります。
NXT2.0のホビーセットは日本国内で販売していませんが、2.0のソフトだけでも体験することができます。 下記のlego.comからNXT-SW2.0の CDイメージがダウンロードできます。ただし、残念ながらNXT2.0のホビーセットは国内販売されていませんので、ソフトも日本語版はありません。
< LEGO.com MINDSTORMS > LEGO MINDSTORMS Mac Software Available Online 「Mac」と書いてありますが、Windows版もMac版も1枚のCDの中に入っています。
教育用NXT-SWの2.1でプログラムを作成して、NXT本体に転送しようとすると「必要なファイルが壊れています エラーコード:1003」というエラーが発生することがあります。 一度発生してしまうと再起動するまで他のファイルの転送もできなくなってしまいます。 原因は、NXT-SWのバグのようで、不良ワイヤやシーケンスビームにつながっていないブロックが見えない場所に存在する場合などに発生するようです。 使っていないブロックやワイヤを消去すると直る場合もありますが、修正パッチがLEGO.com にありますので、適用することをオススメします。
< LEGO Education downloads > NXT-SW 修正パッチダウンロード 左のメニューから「Software Update/Patch」を選択してお持ちのNXT-SWのバージョンに合わせて「NXT EDU:2.xf3Patch」をダウンロードしてください。
タッチセンサとモータの動作チェックのためにこのようなサンプルプログラムを作成しました。 内容は、タッチセンサを4個用意し、いずれのセンサを押してもすべてのモータが回転するという単純なプログラムです。 いざ、実行すると。。。あれあれ?Aポートのモータだけ不思議な動きをします。NXT本体の故障ではなくプログラムのバグだそうです。 現在、LEGO社へ問い合わせ中です。情報をお持ちの方はご一報いただけますと幸いです。
< 動きが怪しい(?)プログラム(参考) > タッチセンサとモータの動作チェックプログラム
本書の中では、NXT本体やセンサの内部を紹介していますが、今回は
NXT2.0から追加されたセンサにカラーセンサ(9694)の内部を紹介します。
センサの外観をよく見ると3つの部分に分かれています。1つはRGBのカラーLED、1つは光の強さを測るフォトダイオードです。
では、残りの1つは???と不思議に思い、早速分解してみました。その結果は....左の写真にもあるように「ダミー」でした。
用途は不明のまま、謎だけが残る結果でした。
(パーツの分解は自己責任でお願いいたします)
NXCをインストールして使って試してみたいのですが、どれをダウンロードしてどう使って良いか...というご質問をいただきました.実は本書を作成するにあたり、本当は掲載したかったのですがページの都合で減らさなければならなかった付録があります。その一つにNXCのインストール方法があります。本当は本書の付録用に体裁を直して掲載すべきですが、とりあえず参考程度に本Web上で紹介しますのでご活用ください.
< 付録(参考) > NXCインストール方法
本書の中でも紹介していますが、NXT本体の液晶に好きな絵を描くことができます。 また、いろいろな音楽を奏でることもできます。 これらのエディタソフトやサンプルファイルは、LEGO engineeringページにあります。 たとえば、音楽のサンプルファイルは、「Building & Programming」→「Library」→「Music」の中にあります。 エディタソフトは、同じように「Library」→「Applications, Patches, & Firmware」の中にあります。
< LEGO engineering >
http://legoengineering.com/
ロボットにプログラムを転送していると、突然エラーでプログラムが転送できなくなってしまうときがあります。その原因の1つに「NXT内メモリが不足している」があります。夢中になって様々な動作やバージョンの自作プログラムを転送していくと、NXTの中では古いファイルは削除されずメモリ内にどんどん貯まっていき、プログラムが保存できなくなりエラーとなります。この場合、NXT本体を操作してメニューの「Run」の隣にある「Delete」(ゴミ箱のアイコン)を選択しファイルを削除するか、NXT-SWもしくはNXT Browser から不要なファイルを削除しましょう。NXT Browser を使用した場合は、サンプルファイルなど最初から入っているファイルも削除することができます。誤ってサンプルを削除してしまった場合は、削除したファイルを個々にコピーする方法とファームウェアを入れ直すことですべて元に戻す方法と2種類あります。
NXTの電源をOffにする方法は3通りあります。1つは15分間放っておく方法(ただし、電池が消耗してしまうのでオススメできません)、2つめの方法は、グレーのキャンセルボタンを何回か押して「Turn off」と表示されたらオレンジのOKボタンを押して電源を切る方法、そして3つめは、グレーのキャンセルボタンを2~3秒押しっぱなし(長押し)する方法があります。どの方法でも電源をOffにすることができるのですが、なるべくは横着せず、正式な電源Offの方法(グレーを数回「Turn off」でオレンジ)をオススメします。
NXT内のサンプルを間違えて消去してしまった場合や、何らかの不具合でNXT本体が起動しなくなった場合は、ファームウェアを再インストールし元の状態に戻すと良いでしょう。NXT-SW を使用している場合は、「ツール」の「NXTファームウェアの更新」を選択して再インストールすることができます。
NXCの場合は、
> nbc -Susb -firmware ファームウェアファイル名
と入力するとファームウェアがダウンロードされて初期化されます。
NXT本体に不具合が発生したときは、リセットボタンを押してハードリセットを行った後、ファームウェアをダウンロードすると元に戻る可能性が高いです。リセットボタンはNXT本体裏側の上部左の3つの穴のうち一番左の穴の中にある。ボールペンの芯などを細いものを使って押します。 それでも改善されない場合は、本気リセットを試してみましょう。本気リセットは本体の黄色い四角ボタンを押しながら先程と同様に、リセットボタンを押します。リセットボタンを放したあと、さらに5秒黄色い四角ボタンを押し続けます。NXTを耳にあてると「プツ・プツ・プツ」と小さな音が鳴るのが聞こえたらリセット状態となります。その後、ファームウェアをインストールします。
LEGO Mindstorms シリーズは、様々なOSや開発環境があります。ファームウェアやソフトなどの開発環境も無償で提供されています。また,ソフト(SDK)だけでなく、ハードウェアに関する技術情報も公開されており、NXT本体や各センサの回路図も公開されています。これを参考に、独自のセンサを電子工作で作ることもできます。ただし、NXT本体もしくは各センサの分解等は、自己責任でお願いいたします。