+ All Categories
Home > Documents > Quinta Clase

Quinta Clase

Date post: 31-Dec-2015
Category:
Upload: hakeem-sampson
View: 36 times
Download: 0 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
13
Quinta Clase Patricio A. Navarrete Septiembre 24 de 2011
Transcript

Quinta Clase

Patricio A. NavarreteSeptiembre 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– 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;}

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á.

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

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;

}

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(){}

If• if( condición ){

instrucciones si se cumple condición;}

If-Else• if( condición ){

instrucciones si se cumple condición;

}

else{

instrucciones si no se cumple condición;

}

While• while( condición ){

instrucciones que se realizan mientras se cumple la condición;}

Repeat• repeat( cantidad ){

instrucciones que se repiten una cantidad determinada de veces;}

Programación• Recordar : Condicionalidad

– if-else

• Ciclos:– repeat (catidad determinada)– while (según variables)

• Formato al escribir programas:– Indentación (TAB)– Comentarios (// ó /**/)– Constantes (#define)

Programa// Definicion de constantes#define PW 50#define FW 2000#define RT 400

// Inicia programatask 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

Quinta Clase

Patricio A. NavarreteSeptiembre 24 de 2011


Recommended