1 / 32

組裝及控制機器人

組裝及控制機器人. Outline. 聲控自走車組裝 開發環境安裝及設定 Lejos 控制 NXT 說明 實驗 - 聲控自走車 練習. 開發環境安裝及設定. 1. 安裝 Java JDK 2. LEGO 驅動程式安裝 3. 安裝 Lejos Library 4. Firmware 更新成 Lejos 5. Window XP 環境變數設定. 開發環境安裝及設定. 安裝 Java JDK 1.6

kiral
Download Presentation

組裝及控制機器人

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. 組裝及控制機器人

  2. Outline • 聲控自走車組裝 • 開發環境安裝及設定 • Lejos控制NXT說明 • 實驗-聲控自走車 • 練習

  3. 開發環境安裝及設定 • 1. 安裝Java JDK • 2. LEGO驅動程式安裝 • 3. 安裝Lejos Library • 4. Firmware 更新成Lejos • 5. Window XP 環境變數設定

  4. 開發環境安裝及設定 • 安裝Java JDK 1.6 • 網址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html (Windows x86(32bit) or Windows x64(64bit)) • LEGO驅動程式安裝 • 安裝LEGO原廠驅動程式NXT_Driver_v1.1 • LegoMindstormsNXTdriver32.msi(32bit) or LegoMindstormsNXTdriver64.msi(64bit) • 安裝Lejos Library • 執行leJOS_NXJ_0.8.5-Setup.exe • 安裝LEGO Lejos驅動程式 • 執行libusb-win32-devel-filter-1.2.6.0.exe

  5. 開發環境安裝及設定 • 4. Firmware 更新成Lejos(人工智慧課程學生不需更新) •  Setp0: 按住reset按紐約5秒 •  Setp1: 改變目錄至C:\lejos_nxj\bin目錄底下 •  Setp2: 執行nxjflash.exe •  Setp3: 更新成功畫面如下所示

  6. 開發環境安裝及設定 • 5. Window XP環境變數設定 • • Path :再加入下列二個路徑 • C:\Program Files\leJOS NXJ\bin;(NXJ安裝路徑) • C:\Program Files\Java\jdk1.6.0_07\bin;(Java安裝路徑)

  7. Lejos控制NXT說明 • 1. Cross-Compile LEGO program • 2. Lego機器人模組基本元件馬達的控制

  8. Cross-compile Java program • 1. Compile java program • nxjc MySrceen.java • 2. Upload to LEGO Robot • nxj MySrceen • 結果如下所示:

  9. Lego機器人模組基本元件馬達的控制NXT基本語法-馬達控制Lego機器人模組基本元件馬達的控制NXT基本語法-馬達控制 Motor類別-靜態類別(Static) : • 需Import的類別庫: • import lejos.nxt.Motor; • 可使用的Method: • setPower(int); //括弧內為0-100 • setPower(int); //括弧內為0-100 • forward(); //前進 • backward(); //後退 • isForward(); //是否正在前進 • flt(); //順勢轉動直到停止 • rotate(int); //旋轉度數,括弧內可放負數 • stop(); //馬上停止 • 程式範例: • Motor.A. forward(); //連接Port A 的馬達前進 • Motor.A.backward(); // 連接Port A 的馬達後退 • Motor.A.isForward(); // 連接Port A 的馬達是否正在前進 • Motor.B.flt(); //連接Port B 的馬達順勢轉動直到停止 • Motor.C.rotate(35); // 連接Port C 的馬達旋轉35度數 • Motor.C.stop(); // 連接Port C 的馬達馬上停止

  10. 實驗-聲控自走車 • 目的: • 熟悉Sound sensor之使用 • 動作說明: • 自動車在往前行駛中,接收到聲音訊號,改變成後退行駛 • 自動車在後退行駛中,接收到聲音訊號,改變成往前行駛 • 示意圖如下所示:

  11. NXT基本語法–聲音感測器 • SoundSensor類別: • 需Import的類別庫: • import lejos.nxt.SoundSensor; • import lejos.nxt.SensorPort; • 須先指定其連接port number • SensorPort.S1 : SensorPort S1的Object • 可使用的Method: • readValue() //讀取聲音分貝值 • setDBA(Boolean dba) //設定單位, true 讀取聲音單位為分貝 • 程式範例: • 將Sound Sensor 連接到port1: • SoundSensor mySound = new SoundSensor(SensorPort.S1); • Method 呼叫: • int soundValue=mySound.readValue(); //讀取聲音分貝值給soundValue 變數 • mySound. setDBA(true); //設定單位

  12. 程式範例片段

  13. 完整範例程式 } public void carStateControl(int state) throws Exception{ if(state ==1) carForward(); else if(state ==2) carBackward(); } public void carForward() throws Exception{ Motor.B.forward(); Motor.C.forward(); lcdShow("forward"); } public void carBackward() throws Exception{ Motor.B.backward(); Motor.C.backward(); lcdShow("backward"); } public void lcdShow(String showStr) throws Exception{ LCD.clear(); LCD.drawString(showStr,0,4); LCD.refresh(); Thread.sleep(1000); } }//end clases import lejos.nxt.*; import lejos.nxt.addon.*; import java.lang.System; public class MySoundControl{ static int state = 1; static int s=0; static boolean flag=true; SoundSensor mysound = new SoundSensor(SensorPort.S3);//sound public static void main(String[] args) throws Exception{ MySoundControl msc = new MySoundControl(); while(!Button.LEFT.isPressed()){ if(msc.isHighSound()){ if(msc.state==1) msc.state=2; else if(msc.state==2) msc.state=1; } msc.carStateControl(msc.state); }//end while }//end main public boolean isHighSound(){ if(mysound.readValue()>70) return true; else return false;

  14. 練習 • 自動車在往前行駛中,接收到聲音訊號,左轉九十度,改變成往前行駛 • 自動車在後退行駛中,接收到聲音訊號,右轉九十度,改變成往前行駛

  15. 聲控自走車組裝

  16. 伺服馬達 燈泡 LCD螢幕 左右按鈕 Enter NXT主機 Esc Touch Sound Light Ultrasonic

More Related