1 / 32

LEGO 講義 1

LEGO 講義 1. 1. NXT 控制器簡介 2. NXT 電腦端驅動程式安裝 3. BricX CC 程式安裝與使用 4. NXC 基本語法介紹. 1. NXT 控制器簡介. NXT 控制器簡介. A B C USB. LCD 螢幕. 電源 ON 、確定、程式執行. 左右選擇按鍵. 回上一頁、取消、電源 OFF (主選單). 1 2 3 4. NXT. 控制器正面按鍵配置:. NXT 控制器簡介. 開機後選單: Setting :

nuala
Download Presentation

LEGO 講義 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LEGO 講義1 1. NXT控制器簡介 2. NXT電腦端驅動程式安裝 3. BricX CC程式安裝與使用 4. NXC基本語法介紹

  2. 1. NXT控制器簡介

  3. NXT控制器簡介 A B C USB LCD螢幕 電源ON、確定、程式執行 左右選擇按鍵 回上一頁、取消、電源OFF(主選單) 1 2 3 4 NXT 控制器正面按鍵配置:

  4. NXT控制器簡介 • 開機後選單: • Setting: • 可對控制器進行一些設定,例如音量、進入待機時間、刪除檔案等等。 • NXT Program、View、Try Me: • 可以用內建的程式測試馬達或是sensor的數值。 • My Files : • 下載到NXT控制器的程式就放在這裡的「Software files」資料夾內。 • Blueteeth : • 藍芽功能選單,包括開關NXT的藍芽功能,以及與其他藍芽裝置之搜尋、連線功能。

  5. 2. NXT 驅動程式安裝

  6. NXT 驅動程式安裝 • 可以到此下載驅動程式: • http://www.robotc.net/content/lego_down/lego_down.html • 選擇適合的版本: • NXT - 32 bit operating system (Updated for SP3) • NXT - 64 bit operating system • RCX - 32 bit operating system • 以NXT_32bit_driver.zip為例: • 解壓縮,並點LegoMindstormsNXTdriver32.msi安裝即可。

  7. 3-1. BRICX COMMAND CENTER 程式安裝

  8. Bricx Command Center 程式安裝 • Bricx Command Center可以用在LEGONXC程式語法編輯與下載到機器人上,簡稱BricxCC。 • NXC(Not eXactly C)為類似C的語法。 • 檔案名稱:bricxcc_setup_33719.exe • 可以到此網址下載: • http://sourceforge.net/projects/bricxcc/files/bricxcc/

  9. Bricx Command Center 程式安裝 請按next

  10. Bricx Command Center 程式安裝 請按Yes

  11. Bricx Command Center 程式安裝 輸入任意資訊後,按next

  12. Bricx Command Center 程式安裝 可以改變安裝目錄,接著按next

  13. Bricx Command Center 程式安裝 一般選擇”Typical”即可,接著按next

  14. Bricx Command Center 程式安裝 繼續按next > next

  15. Bricx Command Center 程式安裝 安裝中… 安裝完桌面沒有捷徑,如果需要捷徑圖示,請到開始選單>程式集>Bricx Command Center找啟動捷徑。

  16. 3-2. BRICX COMMAND CENTER軟體使用

  17. Bricx Command Center軟體使用 選USB 選NXT 捷徑圖示: 若要Download程式到NXT上,要先將NXT控制器接上電腦USB並開啟NXT電源。

  18. Bricx Command Center軟體使用 執行剛剛下載到NXT的程式 終止NXT程式 編譯按鈕 下載程式到NXT控制器 軟體介面: 如果一開始沒有接上NXT就開程式, 按鈕會不能用,可以重新接上NXT之後,到工具列>Tool>Find Brick重新連線。

  19. Bricx Command Center軟體使用 程式檔 存檔類型 為*.nxc

  20. 4. NXC基本語法介紹

  21. 基本語法介紹 • 程式註解方式,與C相同: • 多行註解: /*註解文字*/ • 單行註解: //註解文字 • 保留字: • _RETURN_ _RETVAL_ _STRRETVAL_ _TMPBYTE_ _TMPWORD_ _TMPLONG_ • abs asm bool break byte case • char const continue default do else • false for goto if inline int • long mutex priority repeat return safecall • short sign start stop string struct • sub switch task true typedef unsigned • until void while

  22. 基本語法介紹 int Add(int a, int b) //function { return c = a + b; } task main() //主要程式 { int a = 1; //宣告變數 int b = 5; //宣告變數 int c = 0; //宣告變數 c = Add(a,b); //呼叫function執行c = a + b } 程式結構,大致上與C相同:

  23. NXC語法內建FUNCTION介紹

  24. NXC語法內建Function介紹 A B C USB USB線接到電腦端 OUT_B OUT_C OUT_A 接sensor 接馬達 其中A B C ports的名稱也可用:OUT_AB、OUT_AC 、OUT_BC、OUT_ABC等等,表示對這些port同時控制。 1 2 3 4 NXT IN_1 IN_2 IN_3 IN_4 已有的I/O port名稱定義:

  25. NXC語法內建Function介紹 正轉方向 • 馬達控制常用的Function有: • OnFwd( port, power );//馬達正轉 • OnRev( port, power );//馬達反轉 • Ex:OnFwd(OUT_A,50); 表示讓Port A所接的馬達以50%power 往正方向轉動。 但也可寫OnFwd(OUT_A,-50); 讓馬達反轉。 • Off( port );//讓某個port所連接的馬達停止轉動

  26. NXC語法內建Function介紹 • RotateMotor( port, power, angle ); //馬達以特定power轉某個角度 • MotorRotationCount( port ); //讀取某個port所連接之馬達的 • 注意: RotateMotor這個function會等馬達轉動角度完成才執行 下一行程式,與OnFwd、OnRev不同,可以把OnFwd、 OnRev看成只是啟動馬達而已。 • Ex: RotateMotor(OUT_A, 75, 45); // port A馬達以75% power正轉45度 RotateMotor(OUT_A, -75, 45); // port A馬達以75% power反轉45度 x = MotorRotationCount(OUT_A) // 讀取portA目前轉的角度 ,初始值為程式開始執行時的馬達角度,非固定值。

  27. NXC語法內建Function介紹 • Wait( ms )//程式等待幾毫秒的時間 • Stop( bool value ) //如果value=1,則終止整個程式執行 • CurrentTick( ) //讀取從程式開始到目前的毫秒值 • 螢幕控制(座標原點在螢幕左下角): • ClearScreen( ); //讓螢幕變為空白一片 • NumOut(x, y, value, clear = false); //螢幕x,y位置印出value數字,clear為是否要先清除螢幕 不填時預設為false • TextOut(x, y, msg, clear = false); //螢幕x,y位置印出msg文字,clear為是否要先清除螢幕 不填時預設為false • x、y值單位為螢幕上的一個點,但y值也可以填LCD_LINE1~8,整個螢幕可分為8行,第一行在最上方。

  28. NXC語法內建Function介紹 • Ex:task main( ){ ClearScreen( ); //要先清空螢幕 int t1 = CurrentTick( ); //取時間點t1 OnFwd(OUT_A,50); //馬達轉動 Wait(1000); //讓馬達轉1秒 Off(OUT_A); //停止馬達 int angle = MotorRotationCount(OUT_A); //讀取馬達角度 int t2 = CurrentTick( ); //讀取時間點t2 while(1){ TextOut(0,LCD_LINE1,”angle=”); //LCD第一行顯示文字「angle=」 NumOut(50,LCD_LINE1,angle); //LCD第一行中間顯示馬達轉角 TextOut(0,LCD_LINE2,”time=”); //LCD第二行輸出文字 NumOut(50,LCD_LINE2,t2-t1); //LCD第二行中間顯示經過時間 } }

  29. NXC語法內建Function介紹 螢幕相關函數也有LineOut(畫線)、PointOut(畫點)、CircleOut(畫圓)、RectOut(畫方形)等等功能,想查詢更多的function,可以到此網址下載詳細說明檔案: http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_Guide.pdf 或者到BricxCC安裝目錄裡也有: C:\Program Files\BricxCC\Documentation\NXC_Guide.pdf

  30. 實驗練習 1.請以所介紹的function,實作馬達轉動功能,並將目前角度、速度顯示在螢幕上。 2.馬達轉動過程利用A馬達的角度讀值來控制B馬達的速度與方向,可即時控制。

  31. 實驗練習

  32. 備註 請同學下禮拜上課前組裝好一台輪型機器人,功能以能轉彎、移動即可,外型自行發揮,預留能裝置sensor的位置,下禮拜的課程會用到。

More Related