Lego Mindstorms Roboter mit Java programmieren

Status
Nicht offen für weitere Antworten.

saxman

Mitglied
Hallo,

Ich habe hier nirgends etwas über Lego Mindstorms Roboter gefunden, obwohl ich gehört habe, dass man diese Roboter in Java programmieren kann.
Da ich selbst solch einen Roboter besitze würde es mich interessieren, ob sich sonst noch jemand mit diesem Thema beschäftigt.

Ich habe beim programmieren des Roboters in Java noch einige Probleme und würde mich freuen, wenn ich jemanden finden könnte, der mir helfen kann.

mfg saxman
 

saxman

Mitglied
Hallo,

Hast du toll in Google gesucht! :applaus:
Es ist mir klar, dass man über Google einige tolle Seiten finden kann, doch habe ich wohl mein Problem noch nicht richtig geschildert.

Ich suche jemanden, der sich mit Lejos (Mindstorms mit Java, Lego + Java) auskennt, da ich ein Problem mit der Programmierung des Roboters in Java habe.

Ich habe einen Roboter gebaut, der forwärts, rückwärts fahren kann und sich auf der Stelle drehen kann. An der Stoßstange ist ein "Touch Sensor" angebracht.

Jetzt versuche ich seit langem den Roboter so zu programmieren, dass er, wenn er gegen die Wand fährt irgendwie reagiert.
Doch er fährt eben immer mit voller Geschwindigkeit dagegen. :bahnhof:

Daher habe ich nach Leuten gesucht, bzw. gefragt, die so etwas schonmal gemacht haben.


mfg saxman
 

lin

Top Contributor
Daher habe ich nach Leuten gesucht, bzw. gefragt, die so etwas schonmal gemacht haben.
Für mich nicht explizit genug, sorry, hab nicht richtig verstanden, was du genau suchst.

Brauchst du leJOS?
Wenn ja, hab ich in der API nen SensorListener gefunden.

stateChanged
public void stateChanged(Sensor aSource, int aOldValue, int aNewValue)

Called when the canonical value of the sensor changes.

Parameters:
aSource - The sensor that generated the event.
aOldValue - The old sensor value.
aNewValue - The new sensor value.
Bei nem TouchSensor sind die Werte wahrscheinlich einfach "berühren" oder "nicht berühren"....
 

DR

Bekanntes Mitglied
Vielleicht interessiert dich ja das Forum, da wird auch viel über Lego Mindstorms / Java erzählt:

Hier gehts zum Forum

Also wenn ich mir das so anschaue, dann glaub ich ist es genau das was du suchst ;)

MfG DR
 

babuschka

Top Contributor
Hallo zusammen ich habe hier ein beispiel das einen Sensor verwendet allerdings kann sich mein roboter um die eigenen Achse dehen falls das bei dir nicht der fall ist musst du es halt noch etwas modifizieren aber grundsätzlich sollte das funktionieren:

Code:
import josx.platform.rcx.*;
import java.lang.*;

public class sensor
{ 
 static public int timel;
 static public int times;

  public static void main(String[] args) throws Exception 
  {
   timel=800;
   times=150;
   Sensor.S1.setTypeAndMode (1,0x20);
   Sensor.S1.activate();  

   Motor.A.setPower (6);    
   Motor.C.setPower (6);
 
   TextLCD.print("DRIVE");
 
   Motor.A.forward();
   Motor.B.forward();
   Motor.C.forward();
  
   do
    {

     if(Sensor.S1.readValue()==1)links();   

    }while(!(Button.RUN.isPressed()));
 
   Button.RUN.waitForPressAndRelease();
  }
 

   public static void links() throws Exception
  {
   TextLCD.print("Sens1");

   Motor.A.backward();
   Motor.C.backward();
   Thread.sleep(timel);

   Motor.A.forward();
   Motor.C.backward();
   Thread.sleep(times);

   Motor.A.forward();
   Motor.C.forward();
  } 
}
 

saxman

Mitglied
Hi
Danke für die Antwort.
Wenn ich dein Programm ein wenig verändere funktioniert es auch auf meinem Roboter. Ich habe zu Beginn sowieso nur den "Roverbot".
Durch deine Hilfe komme ich jetzt auch mit den anderen Sensoren klar.

Danke

saxman
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben