La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Quinta Clase Patricio A. Navarrete Junio 3 de 2011.

Presentaciones similares


Presentación del tema: "Quinta Clase Patricio A. Navarrete Junio 3 de 2011."— Transcripción de la presentación:

1 Quinta Clase Patricio A. Navarrete Junio 3 de 2011

2 Resumen Variables de Salida ―OUT_ABC Instrucciones de movimiento ―OnFwd(OUT_X,POWER); - OnRev(OUT_X,POWER); ―Off(OUT_X);- Float(OUT_X); ―RotateMotor(OUT_X,POWER,DEGREES);- Wait(MILISECS); Variables de Usuario –Definición: int nombre; –Asignación: nombre = 1; –Aritmética: Suma (+), Diferencia (-), Producto (*), División (/), Módulo (%) –Lógica: Not (!), And (&&), Or (||) –Comparación: Igual (==, !=), Desigual estricto ( ), Desigual inclusivo ( =) –Aleatoriedad: Random(); –Constantes: #define nombre valor Condicionalidad –if(condición){ acciones Sí; } else{ acciones No; }

3 Variables de Entrada El robot será capaz de conocer su entorno. Los “Sensores” son recibidos a través de los 4 “puertos de entrada” del NXT. Cada entrada está definida por un nombre de sistema: –IN_1 –IN_2 –IN_3 –IN_4 Se puede conocer el estado real del sensor midiendo el valor de su variables de entrada: SENSOR_X Con esta información se pueden determinar las acciones a tomar a medida que transcurre el programa. El kit con el que se trabaja en las actividades prácticas cuenta con 4 sensores: –Sensor de Tacto (2) –Sensor de lumninosidad (1) –Sensor de sonido (1) –Sensor de distancia por ultrasonido (1) Por ejemplo, si el Sensor de Tacto se encuentra conectado a la entrada IN_1, el valor de su variable será “1” si el sensor está presionado o “0” si no lo está.

4 Configuración de Sensores En lenguaje NXC se encuentran implementadas funciones que permiten ajustar los parámetros de los dispositivos de entrada para que el sensor que tiene conectado funcione correctamente. Con las siguientes instrucciones se indica el tipo de sensor que está conectado para que el NXT pueda hacerlo funcionar. Sensor de Tacto –SetSensorTouch(IN_X);SENSOR_X: Valor 0 ó 1 Sensor de Luminosidad –SetSensorLight(IN_X); SENSOR_X: Valor de 0 a 100 Sensor de Sonido –SetSensorSound(IN_X); SENSOR_X: Valor de 0 a 100 Sensor de Distancia por ultrasonido –SetSensorLowspeed(IN_X);Protocolo I2C – Valor de 0 a 1023 Conversión a centímetros del ultrasonido –SensorUS(IN_X); SENSOR_X: Valor de 0 a 255

5 Ciclos Un ciclo, como lo indica su nombre, es una estructura que se repite según las condiciones. Similar a la condicionalidad, vista la clase anterior, pero en este caso la acciones se realizan y se continúan realizando cuando se cumple la condición y se dejan de realizar cuando la condición deja de cumplirse. Se realiza mientras se cumple una condición: –while( condición ){ acciones; } O se puede realizar una cantidad específica de veces: –repeat( cantidad ){ acciones; }

6 Diagramas de Flujo Con las nuevas estructuras de control vistas en esta clase, se añaden nuevas formas de diagramas de flujo a las alternativas de programas posibles. Estructuras de control vistas: –if(){}else{} –while(){} –repeat(){}

7 If if( condición ){ instrucciones si se cumple condición; }

8 If-Else if( condición ){ instrucciones si se cumple condición; } else{ instrucciones si no se cumple condición; }

9 While while( condición ){ instrucciones que se realizan mientras se cumple la condición; }

10 Repeat repeat( cantidad ){ instrucciones que se repiten una cantidad determinada de veces; }

11 Programación Recordar : Condicionalidad –if-else Ciclos: –repeat (catidad determinada) –while (según variables) Formato al escribir programas: –Indentación (TAB) –Comentarios (// ó /**/) –Constantes (#define)

12 Programa // Definicion de constantes #define PW 50 #define FW 2000 #define RT 400 // Inicia programa task main() { // Robot Avanza (1) : Encender Motores A y C adelante OnFwd(OUT_AC, PW); Wait(FW); // Robot Gira (1) : Encender Motor A adelante y C atras OnFwd(OUT_A, PW); OnRev(OUT_C, PW); Wait(RT); // Robot Avanza (2) : Encender Motores A y C adelante OnFwd(OUT_AC, PW); Wait(FW); // Robot Gira (2) : Encender Motor A adelante y C atras OnFwd(OUT_A, PW); OnRev(OUT_C, PW); Wait(RT); // Robot Detenido : Apagar Motores Off(OUT_ABC); } // Termina programa

13 Quinta Clase Patricio A. Navarrete Junio 3 de 2011


Descargar ppt "Quinta Clase Patricio A. Navarrete Junio 3 de 2011."

Presentaciones similares


Anuncios Google