2012年3月11日 星期日

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);
}
}
}



沒有留言:

張貼留言