Академический Документы
Профессиональный Документы
Культура Документы
http://www.lambayequeaprende.com
Objetivo
Proporcionar al participante los conocimientos bsicos para programar robots Lego Mindstorms NXT usando el lenguaje de programacin Java
Contiene una microcontrolador que permite a los robots tener vida y realizar diferentes tareas.
Encienda el NXT pulsando el botn Intro color naranja, que encontrar en el centro del ladrillo.
Aparecer el men principal, tal como se muestra en la imagen del NXT.
Permite programar el NXT desde una computadora y cargarle programas va USB o Bluetooth.
El software intuitivo de arrastrar y soltar. Co-desarrollado LabVIEW. por National Instruments
Procesador Intel Pentium o compatible, mnimo a 800 MHz. Windows XP Professional o Home Edition con Service Pack 2. 256MB de RAM mnimo.
Conecte un extremo del cable USB en una ranura del computador y el otro extremo al NTX.
Bloques
Barra de Herramientas
Escriba un nombre para el archivo y pulsar ir, para empezar. Los programas se crean cogiendo bloques de la paleta. Descargar y ejecutar.
1 3
Puede ser programado con varias interfaces, pero todos logrando el mismo fin, algunos de frameworks ms conocidos:
Not quite C
JAVA
instalar
Java
http://java.sun.com
Driver NTX
Incluido en el CD
LeJos NTJ
leJOS NXJ es un ambiente de programacin Java para el Lego Mindstorms NXT. Instala una maquina virtual reemplazando el firmware del bloque.
LeJos NTJ
LeJos NTJ
leJOS NXJ requiere reemplazar el firmware del NXT El firmware se puede instalar con:
NOTA: Es necesario instalar el firmware leJOS NXJ en el NXT para correr programas Java.
Paquete lejos.ntx
IDE - Netbeans
Netbeans es una plataforma que permite la creacin de
http://netbeans.org/community/releases/69/
IDE - Netbeans
Compatibilizar NetBeans con LeJOS: Empezaremos por abrir y probar los programas de ejemplo, para ello debemos copiar la carpeta pcsamples en el directorio del LeJOS para su uso en NetBeans.
IDE - Netbeans
Creando un programa para lejos con interfaz grafica. Usaremos la carpeta TachoCount, en ella crearemos un formulario:
1.
Hacemos clic derecho en la carpeta Tachocount, Nuevo, formulario de interfaz grfica swing, formulario Dialog. Nombre Clase Formulario y para terminar Finish.
2.
IDE - Netbeans
Continuando. En el formulario colocamos varios botones:
3. 4.
Conectar, Desconectar, MotrorA, Parar A, MotorC y Parar C. Colocamos las etiquetas respectivas a cada botn como se indica en la figura.
IDE - Netbeans
Seleccionamos el boton Conectar.
5. 6.
7.
6 7
import lejos.nxt.remote.NXTCommand; import lejos.pc.comm.NXTComm; import lejos.pc.comm.NXTCommLogListener; import lejos.pc.comm.NXTConnector; public class Formulario extends javax.swing.JDialog { private NXTConnector conn = new NXTConnector();
IDE - Netbeans
8.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // Boton Conectar conn.addLogListener(new NXTCommLogListener() { public void logEvent(String message) { System.out.println(message); }
public void logEvent(Throwable throwable) { System.err.println(throwable.getMessage()); } }); conn.setDebug(true); if (!conn.connectTo("NXTTorna", NXTComm.LCP)) { System.err.println("Fallo de conexint"); System.exit(1); } NXTCommand.getSingleton().setNXTComm(conn.getNXTComm());
}
IDE - Netbeans
Seleccionamos el botn Desconectar.
9.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // Desconectar try{ conn.close(); }catch(Exception e){ e.printStackTrace(); } }
IDE - Netbeans
Seleccionamos el botn MotorA.
10.
10
IDE - Netbeans
Seleccionamos el botn PararA.
11.
11
IDE Netbeans
Compilar
clic derecho en el build.xml de la carpeta global de pcsamples, y darle a Ejecutar destino, build. Luego en el programa Formulario clic derecho ejecutar.
Los tres Servo Motores le dan al robot la capacidad de moverse. Si se usa el bloque Move del software LEGO MINDSTORMS NXT para programar los motores, los dos motores se sincronizarn automticamente, de modo que el robot se mover en lnea recta.
Cada servo motor tiene incorporado un Sensor de Rotacin. Esto permite controlar los movimientos del robot con mucha precisin. El Sensor de Rotacin mide rotaciones del motor en grados o rotaciones completas (con exactitud de +/- 1 ).
Una rotacin es igual a 360 , de modo que si se indica a un motor girar 180 , su salida producir medio giro. El Sensor de Rotacin incorporado en cada motor tambin permite establecer diferentes velocidades para los motores (estableciendo diferentes parmetros de poder en el software).
Class
Motor
Method name
forward()
backward() changeDirection() stop()
Notes
Encienda el motor el girar adelante
Comience a girar al revs Invierta la direccin de la rotacin Pare rpidamente Espere hasta que se presiona cualquier botn
Button
waitForPress()
Class
Motor
Method name
rotate(angle) rotateTo(angle)
Notes
Gira con grados del ngulo Gira al ngulo
GRACIAS
Msc. Manuel Snchez Chero
manuelsanchezchero@gmail.com
http://www.lambayequeaprende.com
Viene en el CD-ROM, debe ser cargado todas las veces que el robot se inicialice.
Para cargar el firmware debe ejecutarse el programa adjunto y luego esperar cerca de 3 minutos para que se cargue completamente el firmware bsico.
Le da al robot el sentido del tacto. Detecta cuando est siendo presionado por algo y cuando es liberado. Se puede usar para hacer que el robot sujete cosas:
Un brazo robtico equipado con un Sensor de Contacto permite al robot saber si tiene o no algo en su brazo para sujetar.
Es uno de los dos sensores que le dan visin al robot. Permite al robot distinguir entre luz y obscuridad. Puede leer la intensidad de luz en una habitacin y medir la intensidad de luz de superficies coloreadas.
Es uno de los dos sensores que le dan visin al robot. Permite al robot ver y detectar objetos. Tambin se puede usar para hacer que el robot evada obstculos, sense y mida distancia y detecte movimiento.
Usa el mismo principio que los murcilagos: mide distancia mediante el clculo del tiempo que le toma a una onda de sonido golpear un objeto y regresar (as como el eco). Los objetos grandes con superficie dura regresan las mejores lecturas. Los objetos hechos de material suave o que son curvos (como una pelota) o son muy delgados o pequeos pueden ser difciles de detectar por el sensor.