*はじめに [#k88ceb86]
NXC (Not eXactly C) は,LEGO MINDSTORMのプログラミング用のC言語開発環境です.
オープン・ソース・ソフトウェアとして開発されています.
ここでは,MacにLEGO MINDSTOMSの開発環境であるNBC/NXCをインストールします.
『実践ロボットプログラミング―LEGO Mindstorms NXTで目指せロボコン!』を参考にしています.
#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=444B4C&t=tohgoroh-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4764903784" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}
このページの内容は以下の環境で確認しました.
-Mac OS X 10.6.8
-NBC 1.2.1 r4
-Fantom Driver 1.1.3
-LEGO Driver 1.02
-LEGO MINDSTORMS NXT Firmware 1.31
-NXTBrowser 1.0
*ダウンロードとインストール [#wabc0e22]
**NXCコンパイラ [#u7fe0db6]
NBCのサイトの''NBC/NXC/SPC''のところにある,''Executable''の''Mac OSX (universal binary)''をクリックし,''NBC_NXC''の中の''NBC release 1.2.1 r4''の中に置いてある''nbc-1.2.1.r4.osx.tgz''をダウンロードします.
#ref(NBC.png,nolink,50%)
-[[NBC - NeXT Byte Codes, Not eXactly C, and SuperPro C:http://bricxcc.sourceforge.net/nbc/]]
ダウンロードしたファイルを展開し,好きな場所に置いておきます.
**Fantom Driver [#b282d80f]
[[LEGO.com MINDSTORMSのサイト:http://mindstorms.lego.com/en-us/default.aspx]]から,''SUPPORT'',''Files'',''Dirivers''と順に進み,''Fantom Driver''をクリックします.
ここで''Downloads''タブをクリックするとPC用かMAC用か聞かれるのでMAC用を選択し,ダウンロードします.
#ref(Fantom_Driver.png,nolink,50%)
-[[LEGO.com MINDSTORMS | Support | Files:http://mindstorms.lego.com/en-us/support/files/default.aspx]]
ダウンロードしたzipファイルを展開すると,''legodriver.pkg''というインストーラーが作成されます.
これをダブル・クリックし,インストールします.
**LEGO Driver 1.02 [#a89d8697]
Fantom Driverと同じように,[[LEGO.com MINDSTORMSのサイト:http://mindstorms.lego.com/en-us/default.aspx]]から''SUPPORT'',''Files'',''Dirivers''と進み,''Driver 1.02''をクリックします.
ここで''Downloads''タブをクリックするとPC用かMAC用か聞かれるのでMAC用を選択し,ダウンロードします.
#ref(LEGO_Driver.png,nolink,50%)
-[[LEGO.com MINDSTORMS | Support | Files:http://mindstorms.lego.com/en-us/support/files/default.aspx]]
ダウンロードしたzipファイルを展開すると,''LEGODriver''というボリュームがマウントされ,その中に''LEGODriver.mpkg''というインストーラーがあります.
これをダブル・クリックし,LEGO Driverイントールします.
**NXTBrowser [#o656473f]
NXTBrowserはMacとNXTの間でBluetooth通信を行うソフトウェアです.
[[NXTBrowserのサイト:http://web.mac.com/carstenm/Lego/NXT/Entries/2006/12/4_NXTBrowser_-_Bluetooth_connectivity_on_an_Intel_Mac.html]]から''NXTBrowser.dmg''をダウンロードします.
#ref(NXTBrowser_download.png,nolink,50%)
-[[NXTBrowser - Bluetooth connectivity on an Intel Mac:http://web.mac.com/carstenm/Lego/NXT/Entries/2006/12/4_NXTBrowser_-_Bluetooth_connectivity_on_an_Intel_Mac.html]]
ダウンロードしたファイルをダブル・クリックするとNXTBrowserというボリュームがマウントされ,その中に''NXTBrowser.app''があります.
これをアプリケーション・フォルダーにコピーします.
次に,MacとNXTがBluetoothで通信できるようお互いを認証させます.
NXT本体の電源を入れ,''Bluetooth''メニューからBluetoothをオンにします.
そして,NXTBrowser.appを起動します.
すると,Bluetoothデバイスの一覧が表示されますので,NXTを選択します.
#ref(Bluetooth_devices.png,nolink,50%)
NXTにパスキーを入力します.
デフォルトは''1234''です.
すぐにMacにも同じパスキーを入力します.
#ref(Bluetooth_passkey.png,nolink,50%)
これで認証完了です.
#ref(NXTBrowser.png,nolink,50%)
NXTBrowserのウィンドウにNXTの状態が表示されます.
**NXTファームウェア [#kcd59fea]
今度は,[[LEGO.com MINDSTORMSのサイト:http://mindstorms.lego.com/en-us/default.aspx]]から''SUPPORT'',''Files'',''Firmware''と進み,''Firmware 1.31''をクリックします.
''Download''タブをクリックし,さらに''Download''ボタンをクリックしてダウンロードします.
#ref(NXT_Firmware.png,nolink,50%)
-[[LEGO.com MINDSTORMS | Support | Files:http://mindstorms.lego.com/en-us/support/files/default.aspx]]
ダウンロードしたzipファイルを展開すると''LEGO MINDSTORMS NXT Firmware V1.31.rfw''というファイルが作成されます.
これがNXTのファームウェア・ファイルです.
''Macでのファームウェア更新ができていません.''
''この記事ではWindowsを使ってファームウェアを更新したNXTを用いています.''
*サンプルプログラムを動かす [#n084ce03]
**プログラムを作成する [#x7b0d894]
エディターかBricxCCを使って、プログラムを作成します。
#geshi(c){{
task main() {
while (true) {
PlayFile("Woops.rso");
Wait(1000);
}
}}
作成したら、拡張子を ''.nxc'' として保存します。
**コンパイル [#b340ad4d]
コマンドプロンプトを起動し、nbc.exeを使って作成したプログラムをコンパイルします。
#geshi(sh){{
nbc.exe -O=ファイル名.rxe ファイル名.nbc
}}
コンパイルが成功すると、最後に次のように出力されます。
#geshi(sh){{
# Status: Finished
}}
**転送 [#w8092cbe]
USBケーブルでPCとNXTを接続し、nbc.exeを使って作成したプログラムを転送します。
#geshi(sh){{
nbc.exe -S=usb -d ファイル名.nbc
}}
転送が成功すると、NXTからビープ音が鳴ります。
**プログラムを実行する [#bd4f3585]
NXTのメニューから転送したプログラムを選択し、''Run''を選択すると、プログラムが実行されます。
*参考文献 [#lf08b7d7]
この本を参考にしています.
#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=FFFFFF&IS2=1&bg1=FFFFFF&fc1=000000&lc1=444B4C&t=tohgoroh-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4764903784" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}
*注 [#zcd6a3cb]
この記事はまだ書きかけです.