這篇文章要介紹一些 NXC 的範例:
LEGO NXT 走直線問題:
一開使以為要讓LEGO NXT走直線是件容易的事情,不就是讓左右馬達輸出相同的Power就OK了,但實地執行時會發現NXT越走越歪為什麼呢?? 這是因為2顆獨立的馬達會因為某些物理或現場因素造成在相同Power輸出下2顆馬達轉速不同所以會越走越歪。
NXC的解決方式是利用2顆馬達同步化 ,也就是NXT會監控2顆馬達的轉速當NXT發現兩邊差異過大時會自動調節讓兩邊盡可能轉速一致達到直線行走。
NXC 同步指令:OnFwdSync(Outputs,Power,Turnpct)
.直線行走:OnFwdSync(OUT_AC,50,0)
.原地360度迴轉:OnFwdSync(OUT_AC,50,100)
LEGO NXT 驅動馬達的指定角度設定與讀取:
NXC 角度指令:RotateMotor(Outputs, Power, Degrees)
指定馬達轉動到特定角度就停止的指令但不是每次都很準,因為LEGO NXT 認為已經轉到的角度不一定會剛好等於驅動馬達實際轉到的角度。
NXC 讀取角度指令:MotorTachoCount (Output)
讀取驅動馬達從一開始到讀取時的「累計」角度,可用於計算距離。