2012年4月20日 星期五

四月十九日


個人: 這禮拜進度是修改吃一顆車體的夾方塊與放方塊的穩定度




:   阿建:利用吃兩顆的車體  完成路徑是 讀四根柱子的顏色及底線兩顆方塊的路徑
           
       元辰 :這星期的進度是把上星期完成的走內部讀取柱子的顏色數值,再調整到穩定,然後吃後半部兩個方塊且回到中間的路徑。

2012年3月22日 星期四

三月二十二

個人:自己拉的程式能跑到 放一顆方塊的位子

阿建:爪子已經設計出來 但因為需求還需要再進一步的修改

元辰:撰寫跟數線的部分 已能在場地上自走

2012年3月14日 星期三

JAVA:單光感比例控制

參考網址: http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robots.html

import lejos.nxt.*;//載入模組
class p
{
public static void main(String args[])//進入主程式
{
Button.ESCAPE.addButtonListener(new ButtonListener()//設定取消鍵
{
public void buttonPressed(Button b){System.exit(0);}
public void buttonReleased(Button b){}
});
LightSensor light = new LightSensor(SensorPort.S1);//設定感測器類別
int offset = 37;//光感平均值
int Kp = 10;
int Kp1 = -10;
while(true)
{
int Light = light.readValue();
Motor.C.setSpeed(Kp*(Light - offset)+700);
Motor.B.setSpeed(Kp1*(Light - offset)+700);
Motor.C.backward();
Motor.B.backward();

}

}

}



2012年3月11日 星期日

三月十一日

我:完成JAVA跟線計數程式

元辰:分析學長的NXT之follow_line 部分

JAVA:計數黑線程式















參考圖


計數黑線程式碼:

import lejos.nxt.*;//載入模組
class count
{

public static void main(String args[])//設定取消鍵
{
Button.ESCAPE.addButtonListener(new ButtonListener()
{
public void buttonPressed(Button b){System.exit(0);}
public void buttonReleased(Button b){}
});
LightSensor light = new LightSensor(SensorPort.S1);//設定數線光感
int x = 0 , y = 0 ;//設定數線參數;x為開關0與1,y為數線總值
while(y<5)//進入小於5次的迴圈裡,也可使用for迴圈作為計數的依據
{
if(light.readValue()<38)//數線程式碼(開關器);進入點;讀黑線
{
x = 1;//開關打開 ,此為白到黑的位置
}
if(x == 1)//此地方為黑白間的計數位置;如果為黑到白,此條件為成立
{
if(light.readValue()>38)//讀白線
{
x = 0;
y = y + 1 ;
}
}
LCD.clear();//設定螢幕顯示
LCD.drawInt(y , 0 , 0);
}
}
}

跟線計數程式碼:

import lejos.nxt.*;//載入模組
class count
{

public static void main(String args[])//設定取消鍵
{
Button.ESCAPE.addButtonListener(new ButtonListener()
{
public void buttonPressed(Button b){System.exit(0);}
public void buttonReleased(Button b){}
});
LightSensor light = new LightSensor(SensorPort.S1);//設定數線光感
LightSensor light1 = new LightSensor(SensorPort.S4);//設定跟線光感
int x = 0 , y = 0 ;//設定數線參數;x為開關0與1,y為數線總值
while(y<5)//進入小於5次的迴圈裡,也可使用for迴圈作為計數的依據
{
if(light1.readValue()>= 38)//跟線程式碼
{
Motor.C.setSpeed(900);
Motor.B.setSpeed(540);
Motor.C.backward();
Motor.B.backward();
}
else if(light1.readValue()<38)
{
Motor.C.setSpeed(540);
Motor.B.setSpeed(900);
Motor.C.backward();
Motor.B.backward();
}
if(light.readValue()<38)//數線程式碼(開關器);進入點;讀黑線
{
x = 1;//開關打開 ,此為白到黑的位置
}
if(x == 1)//此地方為黑白間的計數位置;如果為黑到白,此條件為成立
{
if(light.readValue()>38)//讀白線
{
x = 0;
y = y + 1 ;
}
}
LCD.clear();//設定螢幕顯示
LCD.drawInt(y , 0 , 0);
}
}
}



2012年3月8日 星期四

Myteam時間表

阿建:禮拜二 三 四 下午時段

元辰:禮拜三5678 禮拜四3456 下午時段

三月八日

我:完成JAVA單光感跟線自走

阿建:今天順利的把原本夾子不能抬重物的問題,並研究齒輪與齒輪之間的關係

元辰:今天也與我討論到高中組NXT的部分

2012年3月7日 星期三

JAVA:單光感跟線自走





測量光感程式:
import lejos.nxt.*;//載入模組
import lejos.util.Delay;
class light
{
public static void main(String args[])//設定取消鍵
{
Button.ESCAPE.addButtonListener(new ButtonListener() {
public void buttonPressed(Button b) {System.exit(0);}
public void buttonReleased(Button b) {}
});

LightSensor light = new LightSensor(SensorPort.S4);//設定光感類別及所在插槽
while(true)//進入無窮迴圈
{
LCD.clear();//螢幕顯示
LCD.drawInt(light.readValue(), 0, 0);
Delay.msDelay(200);
}
}
}
跟線自走程式:

import lejos.nxt.*;//載入模組
class followline
{

public static void main(String args[])//進入主程式
{
Button.ESCAPE.addButtonListener(new ButtonListener()//設定取消鍵
{
public void buttonPressed(Button b){System.exit(0);}
public void buttonReleased(Button b){}
});
LightSensor light = new LightSensor(SensorPort.S4);//設定感測器類別
while(true)(進入無窮迴圈)
{
if(light.readValue()>=38)//條件在大於等於光感38的情況下
{
Motor.C.setSpeed(900);//設定速度
Motor.B.setSpeed(540);
Motor.C.backward();
Motor.B.backward();
}
else if(light.readValue()<38)//條件在小於光感38的情況下
{
Motor.C.setSpeed(540);//設定速度
Motor.B.setSpeed(900);
Motor.C.backward();
Motor.B.backward();
}
}
}

}

2012年3月6日 星期二

三月六日

我: 今天把之前的基本java觀念拿來編寫單光感跟線,已經成功compiler,之後會實際測試到車體再做修改

元臣:今天把NXT第一部分了解一半


2012年3月5日 星期一

三月五日

我:手臂改良,讓體長變小,齒輪也做一次改變,為了讓它轉動的圈數變少。再來就是把夾的部分換成有磨擦力的材料

阿建:完成複製手臂的動作

2012年3月3日 星期六