Presentacion NXT Lego

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 67

Robot Lego NXT

Jimmy Alexander Cortes


http://mindstorms.lego.com/ Francisco Alejandro Medina Aguirre
Lego Mindstorms

Lego Mindstorms es un juego de robótica para niños fabricado por la


empresa Lego, el cual posee elementos básicos de las teorías
robóticas, como la unión de piezas y la programación de acciones, en
forma interactiva. Este robot fue comercializado por primera vez en
septiembre de 1981.

Lego Mindstorms es el resultado de la fructífera colaboración entre


Lego y el MIT. Esta asociación se emplea como ejemplo de relación
entre la industria y la investigación académica que resulta muy
beneficiosa para ambos socios.
Historia

La línea Lego Mindstorms nació en una época difícil para Lego, a partir de
un acuerdo entre Lego y el MIT. Según este trato, Lego financiaría
investigaciones del grupo de epistemología y aprendizaje del MIT sobre
cómo aprenden los niños y a cambio obtendría nuevas ideas para sus
productos, que podría lanzar al mercado sin tener que pagar regalías al
MIT. Un fruto de esta colaboración fue el desarrollo del MIT
Programmable Brick (Ladrillo programable).
Presentación MIT (Massachusetts Institute of Technology)

El Instituto Tecnológico de Massachusetts (MIT,


del inglés Massachusetts Institute of
Technology) es una de las principales
instituciones dedicadas a la docencia y a la
investigación en Estados Unidos,
especialmente en ciencia, ingeniería y
economía. El Instituto está situado en
Cambridge, Massachusetts, y cuenta con
numerosos premios Nobel entre sus profesores
y antiguos alumnos. MIT es considerada como
una de las mejores universidades de ciencia e
ingeniería del mundo.
Famosos de MIT

•Tim Berners-Lee, el inventor de la World Wide Web


•Cecil H. Green (S.B., S.M. 1924), un fundador de
Texas Instruments
•Robert Metcalfe (S.B. 1969, ingeniería eléctrica),
inventor de ethernet, fundador de 3Com
•Edgar Mitchell (Sc.D. 1964, ingeniería aeronáutica),
astronauta de Apollo 14
•I. M. Pei (S.B. 1940, arquitectura), arquitecto
•Radia Perlman (Ph.D. Ciencias de la computación)
•William Shockley, (Ph.D. 1936, física), un inventor del
transistor
•Richard Stallman, el fundador del movimiento de
software libre
•Richard Stallman, el fundador del movimiento de
software libre
•Virgilio Barco (S.B. 1958, ingenería civil), el ex
presidente de Colombia (1986-1990)
Presentación Lego
LEGO es una empresa de juguetes danesa reconocida principalmente por sus
bloques de plástico interconectables. El nombre LEGO fue adoptado por la
compañía en 1934, formado por la frase del danés "leg godt", que significa "juega
bien". Hasta 1949, LEGO se dedicó casi exclusivamente a producir juguetes de
madera, despues de esta fecha se fabricaron los bloques de plástico
interconectables.
No fue hasta 1934 que el nombre LEGO fue acuñado por Christiansen a raíz de la
frase danesa leg godt, la cual significa "juega bien".
Llegó a ser tan grande que fue
homenajeado por el gigante Google
(motor de búsquedas por internet) al
cumplir 50 años. Las letras del buscador
estaban cuadriculadas, esto es
importante ya que el buscador sólo
cambia su logo para ocasiones
importantes a nivel mundial.
Bloque NXT

Debido a la comercialización de los bloque programables, Lego vendió la generación NXT en


dos versiones: Retail Version y Education Base Set. Una ventaja de la versión Educacional
es que se incluía las baterías recargables y el cargador, pero esta misma versión debía
comprar el software según el tipo de licencia: Personal, Sala de clases, Sitio.

Además, Lego dispuso de varios kits para desarrolladores según las características de los
programas que estuvieran desarrollando:

•Software Developer Kit (SDK), que incluía los controladores del puerto de USB, archivos
ejecutables y referencia a los bytecodes.
•Hardware Developer Kit (HDK), incluía la documentación y esquemas para los sensores de
NXT.
•Bluetooth Developer Kit (BDK), documentos de los protocolos usados para la comunicación
Bluetooth.
El controlador NXT

El "cerebro" del NXT es un procesador ARM-7 de 32 bits (el


AT91SAM7S256, para ser exactos) con 256 KB de memoria
FLASH para los programas (y para el firmware), 64 KB de
RAM para los datos y una velocidad de funcionamiento de
48 MHz
Tiene, además, un procesador de 8 bits dedicado
integramente a la gestión de las entradas y salidas del NXT y
otro pequeño procesador que se encarga de las
comunicaciones inalámbricas (Bluetooth).

La responsabilidad de la interface USB recae sobre el propio


procesador central y puede alcanzar la impresionante
velocidad de 12 Mbit/s.
Por último destancar la pantalla grafica de 100x64 pixels
(atras quedaron los 5 digitos del RCX) y el sistema de sonido
de 8 bits de resolución y que soporta una frecuencia de
muestreo de hasta 16 KHz.
El controlador NXT (Detalle)
Servomotor

Motor LEGO NXT Este es el motor específico


de la línea NXT introducida en el año 2006.
Incorpora un sensor de rotación que es capaz
de retornar la posición del eje con una
precisión de 1 grado.
Sensor de luz
El sensor de luz permite tomar una muestra de luz
mediante un bloque modificado que un extremo trae un
conductor eléctrico y por el otro una cámara oscura
que capta las luces. Esta cámara es capaz de captar
luces entre los rangos de 0,6 a 760 lux. Este valor lo
considera como un porcentaje, el cual es procesado
por el bloque lógico, obteniendo un porcentaje
aproximado de luminosidad.

Debido a que este sensor capta grados de


luminosidad, no es capaz de distinguir colores, sólo
captando la existencia del blanco (claridad), negro
(oscuridad) y los tonos de grises que corresponden a
los distintos porcentajes de luz existentes en el medio.
Sensor de contacto

El sensor de contacto permite detectar si el


bloque que lo posee ha colisionado o no
con algún objeto que se encuentre en su
trayectoria inmediata. Al tocar una
superficie, una pequeña cabeza externa se
contrae, permitiendo que una pieza dentro
del bloque cierre un circuito eléctrico
comience a circular energía, provocando
una variación de energía de 0 a 5 V.
Sensor ultrasónico

El sensor Ultrasónico sólo se incluye en el empaque de


Lego Mindstorms NXT, y su principal función detectar
las distancias y el movimiento de un objeto que se
interponga en el camino del robot, mediante el principio
de la detección ultrasónica. Este sensor es capaz de
detectar objetos que se encuentren desde 0 a 255 cm,
con una precisión relativa de +/- 3 cm

Mediante el principio del eco, el sensor es capaz de


recibir la información de los distintos objetos que se
encuentren en el campo de detección. El sensor
funciona mejor cuando las señales ultrasónicas que
recibe, provienen de objetos que sean grandes, planos
o de superficies duras. Los objetos pequeños, curvos o
suaves, como pelotas, pueden ser muy difíciles de
detectar.
Sensor de sonido

El sensor solo detecta la "cantidad" de sonido


y no ningún tipo de tono o modulación. Este
sensor lee el sonido ambiental y nos regresa
una medida de 0 a 100%.

•4-5% Una casa silenciosa.


•5-10% Alguien hablando lejos.
•10-30% Es una conversación cerca del sensor
o música en un volumen normal.
•30-100% Gente gritando o música a volumen
alto.
Cables de conexión

La primera impresión que se tiene con estos cables es


que los conectores son comerciales del tipo
"telefónico" lo cual es estupendo para fabricar cables
de la longitud precisa para las creacciones.
Si bien es idéntico al RJ12, tenía el "clip" de sujección
en el lado contrario: los conectores no son
comerciales.

La razón de que LEGO decidiese hacer esto es seguridad, de esta forma no se puede conectar
nada extraño al NXT. En el set del NXT versión educativa encontramos 7 cables de este tipo:
1 de 210 mm
4 de 370 mm
2 de 500 mm
Brújula electrónica

La empresa MindSensor ofrece está


brujula electrónica que tiene una
resolución de 1 grado. Este dispositivo
es una evolución del que ya tenían
desarrollado para el RCX (basado en
el bus I2C) y que aprobecha la
facilidad de conectar dispositivos I2C
que incorporan las entradas del nuevo
NXT.
Controlador de 4 motores

También de la empresa MindSensor y también


basado en tecnología I2C, este dispositivo permite
manejar hasta 4 motores similares (consumo
máximo de 600 mA por motor y hasta 35V con
alimentación esterna), con la ventaja de que se
conecta a una de las entradas de los sensores del
NXT. De esta manera, con un NXT y un dispositivo
de estos podemos conseguir manejar 3
servomotores, 4 motores y 3 sensores.
Open Source
El termino free software en Inglés crea confusión debido a la doble acepción que tiene la palabra
free que significa gratuito o libre de acuerdo al contexto. Para diferenciarles, se ha creado la
palabra open source que hace alusión al termino libre mientras que freeware a gratis.
El sistema operativo del robot Lego NXT (Firmware) es Open Sorce pero no Freeware. Se debe
pagar por el hardware de robot el cual incluye el firmware, aunque se deja la liberta de
modificarlo en su totalidad de acuerdo a las políticas y condiciones de la licencia Open
Source.
Condiciones Open Source

 Libre distribucion. No se puede impedir la venta o distribucion del programa o parte de el.
 Codigo fuente. El programa debe incluir su codigo fuente y no se puede restringir su
redistribucion.
 Trabajos derivados. No debe impedirse realizar modificaciones o trabajos derivados del
programa y debe permitirse que estos sean distribuidos bajo mismos terminos del software
original.
Condiciones Open Source

 Integridad del codigo de fuente original. Puede se exige que la versioon modificada del
programa tenga un nombre y numero de version diferente que el programa original para
proteger al autor original de la responsabilidad de las nuevas versiones.
 No discriminacion contra personas o grupos. Las condiciones de uso del programa no
pueden discriminar contra una persona o un grupo de personas.
 Distribucion de la licencia. Los derechos del programa deben aplicarse a todos quienes se
 redistribuyen el programa sin ninguna condicion adicional.
 La licencia no debe ser especıfica de un producto. Los derechos garantizados al usuario
del programa no deben depender de que el programa forme parte de una distribucion o
paquete particular de software.
 La licencia no debe restringir otro software. La licencia no debe poner restricciones en
otros programas que se distribuyen junto con el software licenciado.
 La licencia debe ser tecnologicamente neutra. No puede existir ninguna disposicion de la
licencia que obligue al uso de una tecnologıa concreta.
Ventajas Open Source Lego
 Bajo costo de adquisicion y libre uso: Aunque se debe pagar por el Kit de robot, el
firmaware que forma parte del sistema operartivo de este puede ser actualizado, corregido o
mejorado para cumplir requerimientos específicos.
 Tiende a ser muy eficiente. Es mejorado por muchos investigadores alrededor del mundo
que reutilizan el conocimiento de otras experiencias.
 Permite crear nuevo software de programación para los robots. Se conoce la totalidad del
firmware, hardware, las interfases USB y BlueTooth que son entregadas a los desarrolladores
sin requerimientos de “hackeo”.
 El software puede ser optimizado y adaptado para usos específicos del laboratorio
Permite usar los sensores y actuadores con otras plataformas de hardware y software más
complejas (Matlab-LabView-GPS-..) dejándole abierto para todos los procesos de
investigación.
 La compañía Lego y apoya respalda la tecnología Open source. Lego hace una diferencia
en el modelo estándar de comercialización.
 Amplio campo de expansion de uso en universidades del mundo.
Desventajas Open Source Lego

El firmware modificado deteriora la garantía. La compañía no brinda garantía sobre el harware


cuando el firmware ha sido modificado y la limita a las partes mecánicas incluidas en el robot.
Múltiples versiones modificadas del firmware crean problemas de compatibilidad. Si se
modifica el firmware, puede causar el mal funcionamiento de algunas funciones que se
consideraban estándar
Se pierde el control de calidad de Firmware. Al no existir un control único sobre las versiones
generadas del firmware, no es posible hacerle un control de la calidad de este. Lego genera
un nuevo firmware para las actualizaciones, pero este determina que funciones hace
estándar.
Software de Desarrollo Open
Source y Freeware para Lego NXT

http://www.oreillynet.com/pub/a/oscon2002/jc_photos4.html
BrickOS

http://brickos.sourceforge.net/index.html

BrickOS is un sistema operativo


embebido que proporciona un ambiente
de programación en C y C++ para los
robots de Lego MindStorm in el clásico
C. Este fue diseñado inicialmente para
windows, pero se puede manipular
desde windows

Open Source
leJOS

http://lejos.sourceforge.net/

Es un remplazo del firmware para el


módulo de ladrillo RCX y NXT de
LEGO- Es un JVM (Maquina virtual
de java) dentro de la memoria del
módulo que permite que este sea
programado desde JAVA.

Open Source
pbLua

http://lejos.sourceforge.net/

Este es un leguaje basado en texto


de mejoradas prestaciones para
programar el robot Lego NXT.
Este permite conectarse al robot
similarmente a una consola terminal
clásica.

Open Source http://www.lua.org/


NXC Not Exactly C

http://bricxcc.sourceforge.net/nbc/

Not eXactly C es un
lenguague de alto nivel,
similar al C, construido
sobre el compilador NBC.

Open Source
Bricx Command Center 3.3

http://bricxcc.sourceforge.net/

Este es un ambiente de desarrollo


integrado (IDE) que permite
programa el robot Lego NTX a través
de C, C++, Pascal, Forth, and Java
usando el sistema brickOS, pbForth,
y leJOS como firmware alternativo.

Open Source
NXT#

http://nxtsharp.fokke.net/

Es una serie de librerías DLL que


permiten controlar el robot desde
Windows C# con flexibilidad a
través de USB o bluetooth.

Free software
AForge.Net

http://www.aforgenet.com/ o http://code.google.com/p/aforge/

Es un un framework que
permite el desarrollo de
sistemas con visión artificial,
Redes Neuronales, algoritmos
genéticos y robótica. Este
permite controlar el robot NTX
de manera fácil desde C# con
sofisticados controles y
opciones gracias a sus otras
funcionalidades.

LGPL v3 license
MindSqualls

http://www.mindsqualls.net/

Es una librería desarrollada en


C# que permite controlar el
robot desde cualquiera de los
programas .Net. Ofrece
soporte para sensores
especializados.

Free Software
Acuerdo de Licencia NXT-G
VISIÓN CONSTRUCTIVISTA

La propuesta de piaget se puede sintetizar en la frase


“el conocimiento no se descubre, conocimiento se
construye”.

El constructivismo constituye una teoría del


aprendizaje que se basa en los estudios realizados
principalmente por Piaget, Papert, Inhelder, Ausubel,
Vigotzky y Bruner, entre otros.

Jean William Fritz Piaget (Neuchâtel, Suiza, 9 de agosto de 1896 - Ginebra, 16 de septiembre de 1980)
IDEAS CONSTRUCTIVISTAS

•El desarrollo del conocimiento es un


proceso continuo que tiene sus raíces en
el organismo biológico, prosigue a través
de la niñez y la adolescencia, y se
prolonga en la actividad científica .

•El conocimiento se construye en la


interacción entre el sujeto y el objeto del
conocimiento, en donde el sujeto tiene
un papel activo.
El Construccionismo

Seymour Papert observó la


dificultad que presentan los niños
para manejar el computador y
diseñó el Lenguaje LOGO basado
en la corriente constructivista de
Piaget. Le llamó construcionismo.

Seymour Papert (n. Pretoria, Sudáfrica, 29 de febrero de 1928)


Lego MindStorm: Papert

La línea de robot de Lego, de


nominada MindStorm, recibe este
nombre en honor al destacado
investigador Papert.

Mindstorms: Children, Computers and Powerful Ideas

http://www.amazon.com/Mindstorms-Children-Computers-Powerful-Ideas/dp/0465046746

Seymour Papert (n. Pretoria, Sudáfrica, 29 de febrero de 1928)


Método Instructivista vs el
Construccionista.
Programación de NXC
utilizando el Bricx
Command Center
Iniciando el Bricx Command
Center

Seleccione el tipo de Puerto


Seleccione el tipo de Dispositivo
Programando el Robot
Ejecutando el Programa

Una vez escrito el programa, debe ser compilado, es decir convertido en el código máquina del
NXT de modo que éste pueda entenderlo y ejecutarlo, y descargado (downloading) al robot
mediante el cable USB o vía Bluetooth.
Errores en los programas
Cuando tecleamos los
programas es muy
probable que
cometamos errores. El
compilador los localiza
e informa de su
posición en la parte
inferior de la ventana.
Ejemplo 1. Programa para que
el robot haga 10 cuadros
/* 10 CUADRADOS
Este programa hace que el robot se mueva 10 cuadrados
*/

#define TIEMPO_MOVIMIENTO 500


// Tiempo del movimiento de avance
#define TIEMPO_GIRO 360
// Tiempo para girar 90º
task main()
{
repeat(10) // Hace 10 cuadrados
{
repeat(4)
{
OnFwd(OUT_AC, 75);
Wait(TIEMPO_MOVIMIENTO);
OnRev(OUT_C, 75);
Wait(TIEMPO_GIRO);
}
}
Off(OUT_AC); // Ahora apaga los motores
}
Ejemplo 2. Programa para que
el robot realice un recorrido en
forma de espiral
#define TIEMPO_GIRO 360
int TIEMPO_MOVIMIENTO; // define una variable
task main()
{
TIEMPO_MOVIMIENTO = 200;
// asigna el valor inicial
repeat(50)
{
OnFwd(OUT_AC, 75);
Wait(TIEMPO_MOVIMIENTO);
// usa la variable para esperar
OnRev(OUT_C, 75);
Wait(TIEMPO_GIRO);
TIEMPO_MOVIMIENTO += 200;
// incrementa la variable
}
Off(OUT_AC);
}
Ejemplo 3. Recorrido Aleatorio
En este programa el robot avanza en línea recta y luego gire a la izquierda o a la derecha.
Tomaremos un número aleatorio que podrá ser positivo o negativo. Si el número es menor que 0, giraremos a la derecha; en caso
contrario a la izquierda.

#define TIEMPO_MOVIMIENTO 500


#define TIEMPO_GIRO 360
task main()
{
while(true)
{
OnFwd(OUT_AC, 75);
Wait(TIEMPO_MOVIMIENTO);
if (Random() >= 0)
{
OnRev(OUT_C, 75);
}
else
{
OnRev(OUT_A, 75);
}
Wait(TIEMPO_GIRO);
}
}
Ejemplo 4. Utilizando el sensor
de Tacto
Intentemos que el robot avance evitando los obstáculos que se encuentre en su camino.
Cada vez que el robot golpee un objeto, le haremos retroceder un poco, girar y continuar avanzando.
Aquí tenemos el programa:

task main()
{
SetSensorTouch(IN_1);
OnFwd(OUT_AC, 75);
while (true)
{
if (SENSOR_1 == 1)
{
OnRev(OUT_AC, 75); Wait(300);
OnFwd(OUT_A, 75); Wait(300);
OnFwd(OUT_AC, 75);
}
}
}
Ejemplo 5. Utilizando el Sensor
de Luz (El Robot no se sale de
la pista)
#define UMBRAL 40
task main()
{

SetSensorLight(IN_3);
//OnFwd(OUT_AC, 75);
OnFwdReg(OUT_AC,75,OUT_REGMODE_SYNC);
while (true)
{
if (Sensor(IN_3) > UMBRAL)
{
Off(OUT_AC);

OnRevReg(OUT_AC, 75, OUT_REGMODE_SYNC);


Wait(1000);
Off(OUT_BC);
if (Random() >= 0)
RotateMotor(OUT_A, 75,360);
else
RotateMotor(OUT_C, 75,360);

}
//Wait(1000);
//OnFwd(OUT_AC, 75);
OnFwdReg(OUT_AC,75,OUT_REGMODE_SYNC);
}
}
Ejemplo 6. Utilizando el Sensor
de Luz (Seguidor de Línea)
El principio básico en el que se basa el seguidor de línea es que el robot intente mantenerse en el borde
de la línea negra, alejándose de ella si el nivel de luz es muy pequeño ( y el sensor de luz se sitúa en mitad
de la línea blanca) y girando hacia ella si el sensor se sale de la misma y detecta un nivel de luz alto.

#define UMBRAL 40
task main()
{
SetSensorLight(IN_3);
OnFwd(OUT_AC, 75);
while (true)
{
if (Sensor(IN_3) <= UMBRAL)
{
OnRev(OUT_C, 75);
Wait(100);
until(Sensor(IN_3) <= UMBRAL);
OnFwd(OUT_AC, 75);
}
}
}
Ejemplo 7. Utilizando el sensor
de Ultrasonido
El sensor de ultrasonidos funciona como un sónar: envía un frente de ondas de ultrasonidos para que se
refleje en algún objeto y luego mide el tiempo que tarda en recibir su eco, para así conocer a qué distancia
se encuentra. Con él puedes construir un robot que esquive un obstáculo antes de chocar con él.

#define CERCA 20 //cm


task main()
{
SetSensorLowspeed(IN_4);
while(true)
{
OnFwd(OUT_AC,50);
while(SensorUS(IN_4)> CERCA);
Off(OUT_AC);
OnRev(OUT_C,100);
Wait(800);
}
}
Usando el NXT
en Matlab
Toolbox de Matlab para el NXT
Toolbox RWTH (RWTH Aachen University ) LEGO MINDSTORMS NXT Software
for MATLAB and Simulink
Conexión bluetooth
1. Inicie el ladrillo LEGO NXT presionando el botón de color naranja.
2. En el PC, ejecutar el software de Bluetooth. Esto normalmente tendrá una opción como "la
búsqueda de dispositivos Bluetooth" o "Nueva conexión". Seleccione esta opción. Usted vera
una lista con los dispositivos que están cerca del Bluetooth, seleccione el dispositivo llamado
"NXT".
3. En algún momento, el NXT de LEGO sonara y mostrara un mensaje:
Passkeys:
1234
Tome nota del número (en este caso, 1234) y pulse el botón naranja para confirmar la
clave de paso.
4. El software de Bluetooth en el PC le pedirá la clave de acceso Bluetooth o PIN., introduzca el
número del paso anterior (por ejemplo, "1234"). Esto completará el "emparejamiento" del
LEGO NXT con el PC. Normalmente necesita hacer esto una sola vez.
Conexión bluetooth
5. El software de Bluetooth también le informará sobre el puerto serial al que el dispositivo NXT
será asignado (por ejemplo, "COM6", "COM40"). Tome nota del nombre del puerto serial
nombre.

6. Cada vez que quieren controlar a los LEGO NXT desde el PC, abra el software de Bluetooth,
elija la opción "NXT" dispositivo Bluetooth y abrir una conexión (normalmente, RightClick y
elegir la opción "Conectar"). Una vez hecho esto, puede utilizar el nombre del puerto de serie
en MATLAB

>> nxtdemo('COM40')
>> nxt = legoNXT('COM40');
Correr la Demo
>> nxtdemo('COM40')
>> nxt = legoNXT('COM40');
Manejo de puertos
 Motores
– nxt.PortA
– nxt.portB
– nxt.PortC
 Sensores
– nxt.Port1 (touch)
– nxt.Port2 (sound)
– nxt.Port3 (light_fon)
– nxt.Port4 (distance)
Ejemplo de uso - Control de
motores
Para especificar el punto de control de potencia para el motor del puerto A

>> set(nxt.PortA, 'Power', 20)

Para controlar el motor conectado al puerto A

>> start(nxt.PortA)
>> start(nxt.PortA, 30); % supera el nivel de potencia especificado a través de SET
>> stop(nxt.PortA)
Ejemplo de uso - Control de
motores (Cont)
Utilizando nombre para los puertos

>> izquierda = nxt.PortB;


>> derecha = nxt.PortC;
>> start(izquierda, 10); start(derecha, 30);
>> pause(1);
>> stop(izquierda); stop(derecha);
Métodos para el puerto de
salida
Para ver la lista de métodos para el puerto de salida

>> methods(nxt.PortA)

delete get outputPort start


Stop display getdata set
startSchedule

Para ver ayuda sobre un método particular

>> help outputPort/startSchedule


Sensores del NXT
T Description
--------------------------------------------
'none‘ no sensor connected
'touch‘ touch sensor
'temperature' temperature sensor
'light' light sensor (based on ambient light)
'light_fon' light sensor with floodlight enabled
'sound' sound sensor (human-perceivable frequencies)
'sound_all' sound sensor (all frequencies)
'distance' ultrasonic distance sensor
Uso de sensor de Tacto
Para configurar un sensor conectado al Puerto 1

>> set(nxt.Port1, 'type', 'touch')

Para ver la lista de los sensores permitidos y sus modos

>> help inputPort/set

Para obtener datos de un sensor

>> v = getdata(nxt.Port1)
v=
20

Otra forma de obtener los datos de

>> touchSensor = nxt.Port1;


>> v = getdata(touchSensor)
v=
20
Uso de sensor de Sonido
Para configurar un sensor conectado al Puerto 2

>> set(nxt.Port2, 'type', sound')

Para ver la lista de los sensores permitidos y sus modos

>> help inputPort/set

Para obtener datos de un sensor

>> v = getdata(nxt.Port2)
v=
20

Otra forma de obtener los datos de

>> soundSensor = nxt.Port2;


>> v = getdata(soundSensor)
v=
20
Uso del Sensor de Distancia
Para configurar un sensor conectado al Puerto 2

>> set(nxt.Port4, 'type', ‘distance')

Para ver la lista de los sensores permitidos y sus modos

>> help inputPort/set

Para obtener datos de un sensor

>> v = getdata(nxt.Port4)
v=
35

Otra forma de obtener los datos de

>> distanceSensor = nxt.Port4;


>> v = getdata(distanceSensor)
v=
35
Uso de sensor de Luz
Para configurar un sensor conectado al Puerto 3

>> set(nxt.Port3, 'type', ‘light_fon')

Para ver la lista de los sensores permitidos y sus modos

>> help inputPort/set

Para obtener datos de un sensor

>> v = getdata(nxt.Port3)
v=
49

Otra forma de obtener los datos de

>> lightSensor = nxt.Port3;


>> v = getdata(lightSensor)
v=
49
nxtInterface
Si usted quiere hacer cosas como reproducir archivos de sonido o ejecutar programas, entonces
usted necesitara el objeto nxtInterface.

Obtener el objeto nxtInterface utilizado por legoNXT


>> nxti = get(nxt, 'NxtInterface');
métodos de nxtInterface
Para ver la Ayuda de los métodos de nxtInterface
>> methods(nxti)

Métodos para clase nxtInterface:

Contents getOutputState playSoundFile setOutputState


Delete keepAlive playTone startProgram
display lsGetStatus resetMotorPosition stopProgram
get lsRead resetScaledValue set
getBatteryLevel lsWrite getInputValue nxtInterface
stopSoundPlayback setInputMode
Hace un tono de 1000 Hz para
300 milisegundos
>> playTone(nxti,1000,300)

Juega un archivo de sonido (que ya está presente en el NXT de LEGO)

>> playSoundFile(nxti, 'Hello.rso', 0)

Obtener el nivel de la batería de la NXT de LEGO en milivoltios

>> getBatteryLevel(nxti)
Taller de Programación de NXT
en Matlab

Elaborar los siguientes programas en Matlab para el robot lego


Mindstorm
1. Elabore un programa para que el robot haga 10 cuadros
2. Elabore un programa para que el robot realice un recorrido en forma de
espiral
3. Elabore un programa para que el robot Siga una ruta Aleatoria
4. Elabore un programa para que el robot evite obstáculos con el sensor de
Tacto
5. Elabore un programa para que el robot evite obstáculos
6. Elabore un programa para que el robot no se salga de la pista
7. Elaborar un programa para que el robot siga una línea

También podría gustarte