Primer Programa NXC


task main()
{
  OnFwd(OUT_A, 75);
  OnFwd(OUT_C, 75);
  Wait(4000);
  OnRev(OUT_AC, 75);
  Wait(4000);
  Off(OUT_AC);
}


Los programas en NXC 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ónde termina 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:


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);
Igual que 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 el robot 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.



Comentarios

Entradas más populares de este blog

Convertir decimal a binario, octal y hexadecima

Juego del gato