robotics

Páginas: 27 (6723 palabras) Publicado: 21 de septiembre de 2014
TUTORIAL DE NXC PAR A
PROGRAMAR
ROBOTS LEGO MINDSTORM S NXT

por Daniele Benedettelli
con la revisión de John Hansen
y traducido al castellano y adaptado por Víctor Gallego

Índice
I.Escribiendo tu primer programa

2

II. Un programa más interesante

6

III. Usando variables

8

IV. Estructuras de control

10

V. Sensores

12

VI. Tareas y subrutinas

16

VII.Más sobre motores

20

VIII. Más sobre sensores

22

IX. Tareas en paralelo

25

X. Más comandos

27

1

I. Escribiendo tu primer programa
En este capítulo escribiremos un programa sencillo. Programaremos un robot para que se mueva hacia
delante durante 4 segundos, luego hacia atrás durante otros 4 segundos y finalmente se detenga. Pero
primero construyamos el robot.Construyendo un robot
El robot que usaremos es Tribot, cuyas instrucciones vienen con el kit del NXT de Lego. La única
diferencia es que conectaremos el motor derecho al puerto A, el izquierdo al C y la pinza al B.
Además debes asegurarte de haber instalado los drivers del NXT en tu ordenador.

Iniciando el Bricx Command Center
Escribimos los programas usando el interfaz del Bricx Command Center.Una vez que lo ejecutes,
conecta el NXT al ordenador a través de un cable USB. El programa intentará encontrar el robot.
Conéctalo y pulsa OK. Normalmente el programa detectará al NXT. A continuación el interfaz gráfico se
mostrará como en la figura siguiente:

2

La interfaz es semejante a un editor de texto estándar, con los botones de menú habituales. Pero también
aparecen menúsespeciales para compilar el programa, descargarlo al robot y para obtener información
del mismo.
Como vamos a comenzar un programa nuevo, pulsa sobre New File y aparecerá una nueva ventana
vacía.

Escribiendo el programa
Ahora corta y pega el siguiente programa:
task main()
{
OnFwd(OUT_A, 75);
OnFwd(OUT_C, 75);
Wait(4000);
OnRev(OUT_AC, 75);
Wait(4000);
Off(OUT_AC);
}

Los programas enNXC consisten en tareas (task). Nuestro programa sólo consta de una, llamada main.
Cada programa necesita tener al menos una tarea llamada main, que es la que ejecutará el robot.
Cada tarea consta de un conjunto de comandos llamados sentencias o instrucciones. Estas se encuentran
encerradas entre llaves. Cada sentencia termina con un punto y coma. De esta forma se aprecia
claramente dóndetermina una sentencia y dónde empieza la siguiente. Así que una tarea tiene la siguiente
estructura:
task main()
{
sentencia1;
sentencia2;
}

Nuestro programa tiene seis sentencias:

3

OnFwd(OUT_A, 75);

Esta sentencia le dice al robot que debe conectar el motor de la salida A para que se mueva hacia adelante
a una velocidad del 75% de la velocidad máxima.
OnFwd(OUT_C, 75);

Igualque antes, pero ahora conectamos el motor C, de modo que ahora los dos motores avanzan y el
robot se mueve hacia adelante.
Wait(4000);

Esta sentencia le dice al robot que espere 4 segundos. El argumento, es decir, el número entre paréntesis,
se expresa en 1/1000 de segundo, de forma que podemos definir con gran precisión cuánto debe esperar.
Durante 4 segundos el programa espera y con ello elrobot sigue avanzando.
OnRev(OUT_AC, 75);

El robot ya se ha alejado lo suficiente, por lo que ya le podemos dar la orden de volver, cambiando su
dirección de avance, es decir, retrocediendo. Podemos asignar como argumento a ambos motores a la vez
escribiendo OUT_AC .
Wait(4000);

De nuevo espera 4 segundos.
Off(OUT_AC);

Con ello detenemos los motores.
Y este es el programa completo.El robot avanza durante 4 segundos y luego retrocede el mismo tiempo,
deteniéndose al final.
Seguramente apreciaste los colores de las instrucciones cuando tecleábamos el programa. Aparecen
automáticamente y nos ayudan a controlar la correcta sintaxis del mismo.

Ejecutando el programa
Una vez escrito el programa, debe ser compilado, es decir convertido en el código máquina del NXT de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • robotics
  • robotics
  • Robotics
  • VEX Robotics Manual Programacion
  • Nao aldebaran robotics
  • Robotics and intelligent systems
  • Robotics applied to sport engineering
  • Ethics robotics

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS