En esta página vamos a poner recursos interesantes para la construcción y la programación de nuestros RCX para las pruebas de SUMO y Rescate.nillo
RCX Constructopedia. Como construir calquier tipo de mecanismo (Tornillos sinfin, cremalleras, poleas, trenes de engranajes, embragues, Usando LEGOs)
VSCSO. Guías de construcción de robots de todas clases basados en Lego Mindstorms RCX.
Minerva es un robot tipo rescate, que sirve para coger una lata y llevarla a algún sitio.
Hank es un robot que se puede usar para luchas de sumo.
RoboTag es un robot muy simple que se puede usar para luchas de sumo.
Robot RCX que puede agarrar cosas. video.
Modelo de pinza. enlace.
Modelo de pinza que levanta cosas con un solo motor. enlace
RobotC es el lenguaje de programación de LEGO Mindstorms, ahora para los modelos RCX antiguo
se puede descargar con licencia gratuita.
Lejos tutorial.
Ejemplos usando Lejos:
Robot que avanza indefinidamente:
import josx.platform.rcx.*; /****************************** * Goes ahead indefinitely,
* Motors connected to ports A and C * * @author Javier Casado * @version 1.0 ******************************/ public class GoAhead { . public static void main(String[] args) throws InterruptedException { TextLCD.print("Go");. Motor.A.forward();
Motor.C.forward();
} }
Robot que avanza durante 1 segundo a media potencia:
import josx.platform.rcx.*;
/******************************
* Goes ahead 1 Second half power,
* Motors connected to ports A and C
*
* @author Javier Casado
* @version 1.0
******************************/
public class GoAhead {
. public static void main(String[] args)
throws InterruptedException {
Motor.A.setPower(4);
Motor.A.setPower(4);
Motor.A.forward();
Motor.C.forward();
Thread.sleep (1000);
Motor.A.stop();
Motor.C.stop();
}
}
Robot que avanza girando cada 2 segundos
import josx.platform.rcx.*;
/******************************
* Goes ahead turning right every 2 Seconds
* Motors connected to ports A and C
*
* @author Javier Casado
* @version 1.0
******************************/
public class GoAhead {
. public static void main(String[] args)
throws InterruptedException {
Motor.A.setPower(7);
Motor.A.setPower(7);
Motor.A.forward();
Motor.C.forward();
while(true) {
Thread.sleep (2000);
Motor.C.stop();
Thread.sleep (1000);
Motor.C.forward();
}
}
}
Robot que va hacia adelante hasta que choca. Si choca
retrocede, da la vuelta y continua.
import josx.platform.rcx.*;
/******************************
* Goes ahead until hitting an obstacle.
* If an obstacle is hit, goes bacwards, turns
* around and continues ahead.
* Motors connected to ports A and C
* Touch sensor connected to port 2
*
* @author Javier Casado
* @version 1.0
******************************/
public class BumperCar {
. public static void main(String[] args)
throws InterruptedException {
// Configure sensor 2 type and mode
Sensor.S2.setTypeAndMode(
SensorConstants.SENSOR_TYPE_TOUCH,
SensorConstants.SENSOR_MODE_BOOL);
// Activate sensor (not needed in this case)
Sensor.S2.activate();
Motor.A.setPower(7);
Motor.A.setPower(7);
// main loop
while(true) {
// If we hit and obstacle, go back and turn around
if(Sensor.S2.readBooleanValue()) {
// backwars 1 second
Motor.A.backward();
Motor.C.backward();
Thread.sleep (1000);
// turn around 1 second
Motor.A.forward();
Thread.sleep (1000);
// If no obstacle, ahead full steam!
} else {
Motor.A.forward();
Motor.C.forward();
} // if
} // while
} // class