Guia 1 LEGO
I. INTRODUCCIÓN
II.PROCEDIMIENTO
2.1 Introducción al Hardware
2.1.3 Estructura de programación
La estructura básica de programación bajo el lenguaje NXT en BricxCC puede describirse o definirse en dos partes. El lenguaje como tal, que permite conocer la sintaxis de nuestros programas y el API que se conoce así por sus siglas en inglés Application Programming Interface, que se encarga de almacenar las funciones,constantes y macros de los programas que se desean compilar.
La programación en NXC tiene ciertas reglas de escritura. Por ejemplo: se entenderá que al colocar comandos como “while”, se deberán respetar las letras mayúsculas y minúsculas, ya que si se coloca “While” o “wHile”, el compilador no reconocerá el comando y las fallas empezarán a presentarse.
De igual manera, la forma depresentar en el programa números o palabras deberá ser regulada, ya que BrixCC puede reconocer números tanto en decimal como hexadecimal y en el caso de las palabras, la plataforma reconocerá únicamente las palabras dentro de comillas, como una variable String.
Antes de continuar y hablar de las estructuras básicas del lenguaje, es necesario nombrar las constantes soportadas por el compilador. Acontinuación se exponen los diferentes tipos de variables junto a un ejemplo [2].
TABLA I
Tipos de Variables
Variable
Ejemplo
Bool
True or False
Byte
-
Char
‘a’
Int
1, -23
Short
Oxfff , -23
Long
-88235
Unsigned
-
Float
2.7182
Mutex
-
String
"Hola"
Arrays
arreglo [];
En cuanto a las sentencias que se utilizarán en BricxCC, se tienen las ya utilizadas en C: If, ifelse, while, do while, for, repeat, switch, goto y until [3].
2.1.4 Limitaciones de sensores.
2.2 Introducción al Software
A. Algoritmo de Posición
En la creación del algoritmo en el que un motor de nuestro robot debía describir una trayectoria predeterminada por la gráfica que se mostrará al final de la explicación, agregamos un código suministrado por la profesora para poder registrarcada 10 milisegundos los valores que nos arrojaba el comando MotorRotationCount, el cual devuelve la cantidad de grados que ha rotado nuestra rueda en el servomotor. Por sugerencia de nuestra profesora no se explicará la tarea savePos() por tratarse de un código ya conocido por todos.
A nivel general, nuestro código contiene tres tareas, de las cuales dos son tareas que dependen enteramente de latarea principal o main y de la función Precedes (task1, task2) que se encarga de que las tareas, en nuestro caso savePos y move, se realicen al mismo tiempo luego de que nuestra tarea principal haya terminado.
Luego de explicar esta función, se puede observar la tarea move(), que permite que nuestro servomotor pueda girar. Usamos entonces al comienzo de move() una estructura repeat para quenuestro código se repita dos veces antes de que se apague el sistema. Luego por medio de nuestra función RotateMotor(“salida de motor”,”% velocidad”, ”ángulo”) hacemos que la rueda del motor gire 360º antes de que pase a nuestra siguiente línea de código.
La siguiente línea de código es Wait(t en milisegundos) que nos permite que nuestra instrucción anterior se siga realizando por el tiempo...
Regístrate para leer el documento completo.