lunes, 9 de mayo de 2011

Ejemplo Programa con LeJOS para el Lego NXT Mindstorms






Realizaremos un programa muy sencillo para familiarizarnos con java y el robot de lego, primero lo que necesitamos es “Lejos” para poder compilar nuestro programa en lenguaje java y poder subírselo al robot.

Ya que lo descargaron, ejecútenlo e instalen el programa, son unos pocos pasos y muy fáciles de instalar.

Nuestro primer ejemplo será muy sencillo, usaremos los sensores ultrasónico, táctil y de sonido y los motores. El robot empezará a caminar, si está en marcha y hacemos un ruido como un silbido o una palmada el robot se detiene, en caso contrario si el robot esta en reposo y hacemos un ruido el robot empezara a moverse.  Si el robot se acerca a un objeto, se detendrá y si presionamos el sensor táctil entonces girara.  El código para esto es el siguiente:


  1. import lejos.nxt.*;
  2. public class Practica1 {
  3. public static void main(String[] args) throws Exception {
  4. LCD.drawString("Iniciando",1,3);
  5. //Instanciamos los puertos para casa sensor del lego
  6. UltrasonicSensor sonic = new UltrasonicSensor(SensorPort.S1);
  7. TouchSensor touch = new TouchSensor(SensorPort.S2);
  8. SoundSensor sound = new SoundSensor(SensorPort.S3);
  9. // Se repite hasta que precionemos el boton escape
  10. while (!Button.ESCAPE.isPressed()) {
  11. //Sonido
  12. if (sound.readValue()>86){
  13. if (Motor.A.isMoving()){
  14. Motor.B.stop();
  15. Motor.A.stop();
  16. }
  17. else{
  18. Motor.A.forward();
  19. Motor.B.forward();
  20. }
  21. }
  22. //Distancia
  23. LCD.drawString(" "+sonic.getDistance()+" ",0,3);
  24. LCD.clear();
  25. if (sonic.getDistance()<21&&Motor.A.isMoving()&&
  26. Motor.B.isMoving())
  27. {
  28. Motor.A.stop();
  29. Motor.B.stop();
  30. }
  31. //Tacto
  32. if(touch.isPressed())
  33. {
  34. Motor.B.stop();
  35. Motor.A.rotate(800);
  36. }
  37. try {Thread.sleep(80);} catch (Exception e) {}
  38. }
  39. }
  40. }






El archivo lo guardamos con el nombre Practica1.java.  Como pueden ver es un código muy fácil de entender, para compilar abran una consola y deberán de usar el siguiente comando

nxjc Practica1.java

Para subirlo al robot usan el comando

nxj Practica1

Existen mas funciones para poder mover el motor pueden ver ejemplos y más explicaciones sobre estas funciones desde su página oficial,  Pronto estaré haciendo otros ejemplos mucho mas complejos.

En el siguiente link esta el video de como actúa el robot al ejecutar el programa anterior.










No hay comentarios:

Publicar un comentario