Taller LegoNTX Java Win

41
8/6/2019 Taller LegoNTX Java Win http://slidepdf.com/reader/full/taller-legontx-java-win 1/41 Msc. Manuel Sánchez Chero TALLER LEGO NTX CON JAVA [email protected] http://www.lambayequeaprende.com

Transcript of Taller LegoNTX Java Win

Page 1: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 1/41

Msc. Manuel Sánchez Chero

TALLER LEGO NTX CON JAVA

[email protected]

http://www.lambayequeaprende.com

Page 2: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 2/41

Page 3: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 3/41

Es un juego de robótica para niños.

El NXT es el cerebro de los robotsMINDSTORMS.

Contiene una microcontrolador que permite alos robots tener vida y realizar diferentestareas.

Lego Mindstorms NTX

Page 4: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 4/41

Lego Mindstorms NTX

Comunicación

Puertos para motores: A, B y C.

Puertos para sensores: 1, 2, 3 y 4.

Puerto USB.

Conexión inalámbrica Bluetooth.

Page 5: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 5/41

Lego Mindstorms NTX

Instalación del hardware

¡Ordene las piezas!

Una vez que haya organizado todos los elementosen las bandejas de clasificación, que puede ver enlas imágenes, localice el libro de montaje y empiece

a construir su primer modelo.

Page 6: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 6/41

Lego Mindstorms NTX

Utilizar el NTX sin software

Encienda el NXT pulsando el botón Intro colornaranja, que encontrará en el centro del ladrillo.

Aparecerá el menú principal, tal como se muestra enla imagen del NXT.

Page 7: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 7/41

Lego Mindstorms NTX

Software – Mindstorms NTX

Permite programar el NXT desde una computadoray cargarle programas vía USB o Bluetooth.

El software intuitivo de arrastrar y soltar.

Co-desarrollado por National InstrumentsLabVIEW.

Page 8: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 8/41

Lego Mindstorms NTX

Software–

Requerimientos

Procesador Intel® Pentium® o compatible, mínimo a 800 MHz.

Windows XP Professional o Home Edition con Service Pack 2.

256MB de RAM mínimo.

Hasta 300MB de espacio disponible en disco duro.

Pantalla XGA (1024x768).

1 puerto USB disponible.

Lector CD-ROM.

Adaptador Bluetooth compatible (opcional).

Page 9: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 9/41

Lego Mindstorms NTX

Instalar el Software

Colocar el cd que viene con el kit.

Double clic en el archivo setup.

Page 10: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 10/41

Lego Mindstorms NTX

Descripción del entorno

Haga clic en el icono NTX para abrir el software

Conecte un extremo del cable USB en una ranuradel computador y el otro extremo al NTX.

Barra de Herramientas

Paletas

Bloques

Page 11: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 11/41

Lego Mindstorms NTX

Escribir un programa1. Escriba un nombre para el archivo y pulsar ir, para empezar.

2. Los programas se crean cogiendo bloques de la paleta.

3. Descargar y ejecutar.

1 2

3

Page 12: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 12/41

Lego Mindstorms NTX

Lenguaje Alternativos de Programación

Puede ser programado con variasinterfaces, pero todos logrando el mismofin, algunos de frameworks másconocidos:

Bricks o Legos

Lejos

Not quite C

Page 13: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 13/41

Lego Mindstorms NTX

Software–

Java - NTX Java Development Kit.

Driver del NXT.

Driver USB.

leJOS NXJ.

Entorno de Desarrollo en java.

Page 14: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 14/41

JAVA

Java Development Kit 6

Descargar e instalar JavaDevelopment Kit 6

Update 16 o superior (java.sun.com)

http://java.sun.com

Page 15: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 15/41

Driver NTX

Obtener e instalar el MINDSTORMSNXT.

Driver v1.02 o superior.

Incluido en el CD

Page 16: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 16/41

LeJos NTJ

leJOS NXJ es un ambiente deprogramación Java para el LegoMindstorms NXT.

Instala una maquina virtual

reemplazando el firmware del bloque.

Page 17: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 17/41

LeJos NTJ

Descargar e Instalar leJOS NXJ http://lejos.sourceforge.net/

Page 18: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 18/41

LeJos NTJ

leJOS NXJ requiere reemplazar elfirmware del NXT

El firmware se puede instalar con: El programa nxjflash en la línea de

comandos, o el programa gráficonxjflashg

NOTA: Es necesario instalar el firmware leJOSNXJ en el NXT para correr programas Java.

Page 19: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 19/41

La API LeJos NTJ

Paquete lejos.ntx

Page 20: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 20/41

IDE - Netbeans

Netbeans es una plataforma que permite la creación de

interfaces gráficas, y que es completamente compatible

con LeJOS.

Descargar e Instalar el IDE Netbean.

http://netbeans.org/community/releases/69/

Page 21: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 21/41

IDE - Netbeans

Compatibilizar NetBeans con LeJOS:

Empezaremos por abrir y probar los programas de ejemplo, para ello debemoscopiar la carpeta pcsamples en el directorio del LeJOS para su uso enNetBeans.

Page 22: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 22/41

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 deinterfaz gráfica swing, formulario Dialog.

2. Nombre Clase Formulario y para terminar Finish.

Page 23: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 23/41

IDE - Netbeans

Continuando.

En el formulario colocamos varios botones:

3. Conectar, Desconectar, MotrorA, Parar A, MotorC y Parar C.

4. Colocamos las etiquetas respectivas a cada botón como se indica en lafigura.

Page 24: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 24/41

IDE - Netbeans

Seleccionamos el boton Conectar.5. Anticli – Event – Action - actionPerformed.

6. Importamos las librerías correspondientes.

7. Vamos al inicio de la clase y declaramos una variable para conexión.

public class Formulario extends javax.swing.JDialog {

private NXTConnector conn = new NXTConnector();

import lejos.nxt.remote.NXTCommand;import lejos.pc.comm.NXTComm;

import lejos.pc.comm.NXTCommLogListener;import lejos.pc.comm.NXTConnector;6

7

Page 25: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 25/41

IDE - Netbeans

8. Buscamos el método del botón conectar y digitamos lo siguiente.

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 conexiónt");System.exit(1);

}NXTCommand.getSingleton().setNXTComm(conn.getNXTComm());

}

8

Page 26: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 26/41

IDE - Netbeans

Seleccionamos el botón Desconectar.

9. Anticli – Event – Action - actionPerformed.

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// Desconectartry{

conn.close();}catch(Exception e){

e.printStackTrace();}

}

9

Page 27: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 27/41

IDE - Netbeans

Seleccionamos el botón MotorA.

10. Anticli – Event – Action - actionPerformed.

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {// Motor AMotor.A.forward();

}10

Page 28: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 28/41

IDE - Netbeans

Seleccionamos el botón PararA.

11. Anticli – Event – Action - actionPerformed.

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {// Motor AMotor.A.stop();

}11

Page 29: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 29/41

IDE  – Netbeans

Compilar

clic derecho en el build.xml de la carpetaglobal de pcsamples, y darle a Ejecutardestino, build.

Luego en el programa Formulario clicderecho ejecutar.

Page 30: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 30/41

Lego Mindstorms NTX

Servo Motores

Los tres Servo Motores le dan al robot lacapacidad de moverse.

Si se usa el bloque Move del software LEGOMINDSTORMS NXT para programar los

motores, los dos motores se sincronizaránautomáticamente, de modo que el robot semoverá en línea recta.

Page 31: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 31/41

Lego Mindstorms NTX

Servo Motores  – Sensor de Rotación

Cada servo motor tiene incorporado unSensor de Rotación. Esto permite controlar losmovimientos del robot con mucha precisión.

El Sensor de Rotación mide rotaciones delmotor en grados o rotaciones completas (conexactitud de +/- 1 ).

Page 32: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 32/41

Lego Mindstorms NTX

Servo Motores –

Sensor de Rotación Una rotación es igual a 360 , de modo que si

se indica a un motor girar 180 , su salidaproducirá medio giro.

El Sensor de Rotación incorporado en cadamotor también permite establecer diferentesvelocidades para los motores (estableciendodiferentes parámetros de poder en elsoftware).

Page 33: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 33/41

LeJos – Controles Básicos de Movimiento

Class Method name Notes

Motor forward() Encienda el motor el girar adelante

backward() Comience a girar al revés

changeDirection() Invierta la dirección de la rotación

stop() Pare rápidamente

Button waitForPress() Espere hasta que se presiona

cualquier botón

Page 34: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 34/41

LeJos – Control Exacto de Rotación

Class Method name Notes

Motor rotate(angle) Gira con grados del ángulo

rotateTo(angle) Gira al ángulo

rotateTo(angle,true) Fija opuestamente a cero

Page 35: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 35/41

Msc. Manuel Sánchez Chero

[email protected]

http://www.lambayequeaprende.com

GRACIAS

TALLER LEGO NTX CON JAVA

Page 36: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 36/41

Lego Mindstorms NTX

Software - Firmware

Consta de las instrucciones básicas para hacer lasdistintas tareas.

Viene en el CD-ROM, debe ser cargado todas lasveces que el robot se inicialice.

Para cargar el firmware debe ejecutarse elprograma adjunto y luego esperar cerca de 3minutos para que se cargue completamente elfirmware básico.

Page 37: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 37/41

Lego Mindstorms NTX

Sensor de Contacto Le da al robot el sentido del tacto.

Detecta cuando está siendo presionado por algoy cuando es liberado.

Se puede usar para hacer que el robot sujete

cosas: Un brazo robótico equipado con un Sensor de

Contacto permite al robot saber si tiene o no algoen su brazo para sujetar.

Page 38: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 38/41

Page 39: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 39/41

Lego Mindstorms NTX

Sensor de Luz Es uno de los dos sensores que le dan visión al robot.

Permite al robot distinguir entre luz y obscuridad.

Puede leer la intensidad de luz en una habitación y medirla intensidad de luz de superficies coloreadas.

Lo que ven nuestros ojos

Lo que ve el sensor de luz

Page 40: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 40/41

Lego Mindstorms NTX

Sensor de Ultrasónico Es uno de los dos sensores que le dan visión al robot.

Permite al robot “ver” y detectar objetos.

También se puede usar para hacer que el robot evadaobstáculos, sense y mida distancia y detecte movimiento.

Mide distancia en centímetros y en pulgadas.

Es capaz de medir distancias de 0 a 255 cm con unaprecisión de +/- 3 cm.

Page 41: Taller LegoNTX Java Win

8/6/2019 Taller LegoNTX Java Win

http://slidepdf.com/reader/full/taller-legontx-java-win 41/41

Lego Mindstorms NTX

Sensor de Ultrasónico Usa el mismo principio que los murciélagos: mide distancia

mediante el cálculo del tiempo que le toma a una onda desonido golpear un objeto y regresar (así como el eco).

Los objetos grandes con superficie dura regresan lasmejores lecturas. Los objetos hechos de material suave oque son curvos (como una pelota) o son muy delgados opequeños pueden ser difíciles de detectar por el sensor.