Java Lejos NXT

Injector

Lt. Junior Grade
Registriert
Mai 2016
Beiträge
297
Er soll eine schwarze Linie folgen, weiß aber nicht was ich in die run Methode rein schreiben soll
Code:
import lejos.nxt.*;
import lejos.robotics.navigation.*;
public class Roboter{
  private DifferentialPilot dieMotoren;
  private LightSensor derLichtsensor;
  private LCD dasDisplay;
  
  private final static double RADDURCHMESSER = 5.6;
  private final static double RADABSTAND      = 17.3;
  private final static double KORREKTURWINKEL = 10.0;
  private final static int    INTERVALL       = 20;  
                              
  private int schwarz,weiss;                            
  public Roboter(){
    dieMotoren = new DifferentialPilot(RADDURCHMESSER, RADABSTAND, Motor.A, Motor.C);
    derLichtsensor  = new LightSensor(SensorPort.S3);
    dasDisplay = new LCD();
    }
  
  public void kalibrieren()throws InterruptedException{
    int messwert = 0;
    dasDisplay.drawString("-> ENTER <-", 2, 2);
    Button.ENTER.waitForPressAndRelease();
    
    while (!Button.LEFT.isDown()) { 
      dasDisplay.clear();
      dasDisplay.refresh();
      messwert = derLichtsensor.readValue();
      Thread.sleep(25);
      dasDisplay.drawString("Weiss = " + messwert, 0,2);
    }
    
    weiss = messwert;
    
    while (!Button.RIGHT.isDown()) {
    dasDisplay.clear();
    dasDisplay.refresh();
    messwert = derLichtsensor.readValue();
    Thread.sleep(25);
    dasDisplay.drawString("Schwarz = "+messwert,0,2);  
    }
    schwarz = messwert;
    
    dasDisplay.clear();
    dasDisplay.refresh();
    dasDisplay.drawString("Schwarz = "+schwarz,0,1);
    dasDisplay.drawString("Weiss = "+weiss,0,3);
    dasDisplay.drawString("=> ENTER <=",0,5);
    Button.ENTER.waitForPressAndRelease();
    }
    
    public void run()
    { 
   
    }
}
 
hi,
sind das deine Hausaufgaben?

Aber ich vermute, man muss nur die kalibieren-Methode in einer Endschlosschleife ausführen (und das "throws" nachziehen).

Dann reagiert die Roboter-Klasse auf Tasteneingaben bis das Programm abgebrochen wird.

hth
 
Nein sind keine Hausaufgaben. Ist aber zum Lernen für die Schule
 
Zurück
Oben