1 / 13

Quinta Clase

Quinta Clase. Patricio A. Navarrete Septiembre 24 de 2011. 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

Download Presentation

Quinta Clase

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quinta Clase Patricio A. Navarrete Septiembre 24 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: intnombre; • 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: #definenombre 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 Septiembre 24 de 2011

More Related