La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Básica con NQC Patricio A. Castillo 03/05/2008.

Presentaciones similares


Presentación del tema: "Programación Básica con NQC Patricio A. Castillo 03/05/2008."— Transcripción de la presentación:

1 Programación Básica con NQC Patricio A. Castillo 03/05/2008

2 Resumen Variables de Salida : Actuadores –OUT_A + OUT_B + OUT_C Instrucciones –On(OUT_X);- OnFwd(OUT_X); –Off(OUT_X);- OnRev(OUT_X); –Fwd(OUT_X);- OnFor(OUT_X, tiempo); –Rev(OUT_X);- Toggle(OUT_X); –Wait(tiempo);- SetPower(OUT_X, potencia); Variables de Usuario : Manejo de Datos –Definir: int myvar;- Asignar: myvar = 1; –Aritmética: Suma (+), Diferencia (-), Producto (*), División (/), Módulo (%) –Lógica: Not (!), And (&&), Or (||) –Comparación: Igualdad (==, !=), Rango estricto ( ), Rango inclusivo ( =) –Aleatoriedad: Random();- Constantes: #define const valor Condicionalidad –if( condición ){ acciones_sí; } else { acciones_no; }

3 Fundamentos de Control Automático ¿Qué es el control automático? Sistema en Lazo Abierto. Sistema en Lazo Cerrado. Necesidad de la Realimentación.

4 Sistema en Lazo Abierto Tipo de Control en que se establecen una serie de acciones fijas para completar el objetivo. Ventaja: Fácil de implementar. Desventaja: Sólo funciona si las condiciones no varían.

5 Sistema en Lazo Cerrado Tipo de Control en que se realizan diferentes acciones para completar el objetivo de acuerdo a las condiciones del momento. Desventaja: Difícil de implementar. Ventaja: Funciona aún si las condiciones varían, según las limitaciones.

6 Necesidad de la Realimentación La realimentación es necesaria para poder controlar las situaciones reales. Se lleva a cabo por medio de dispositivos capaces de tomar datos de la realidad que puedan interpretarse como valores numéricos. Éstos valores numéricos son recibidos como variables de entrada que se pueden incorporar al código programable. De esta manera, el robot será capaz de “tomar decisiones” de acuerdo a los datos recibidos.

7 Variables de Entrada del RCX Los “Sensores” son recibidos a través de los 3 puertos de “Entrada” del RCX. Cada entrada está definida por un nombre de sistema: –SENSOR_1 –SENSOR_2 –SENSOR_3 De acuerdo al programa cargado en el RCX, se puede conocer el estado de los sensores a través del valor de sus variables asociadas y de ésta manera 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 2 sensores: –Sensor de Luz (2) –Sensor de Tacto (2) Por ejemplo, si el sensor de tacto se encuentra conectado a la entrada SENSOR_1, el valor de ésta variable será “1” si el sensor está presionado o “0” si no lo está.

8 Configuración de Sensores En lenguaje NQC se encuentran implementadas funciones que permiten ajustar los parámetros de funcionamiento de los dispositivos de entrada para adecuarlos al tipo de sensor que se tenga conectado. Las siguientes instrucciones permiten determinar el tipo de sensor y el modo de representación de datos. Primero determinando el tipo: –SetSensorType(SENSOR_X, SENSOR_TYPE_XXX); »SENSOR_TYPE_LIGHT »SENSOR_TYPE_TOUCH Y luego determinando el modo: –SetSensorMode(SENSOR_X, SENSOR_MODE_XXX); »SENSOR_MODE_PERCENT »SENSOR_MODE_BOOL »SENSOR_MODE_RAW O sólo señalando el sensor (tipo y modo por defecto): –SetSensor(SENSOR_X, SENSOR_XXX); »SENSOR_LIGHT »SENSOR_TOUCH

9 El Algoritmo La palabra “Algoritmo” proviene del nombre del matemático árabe padre de nuestro sistema de numeración: Muhammad ibn Musa al-Jwarizmi. El concepto de “Algoritmo” consiste en un conjunto finito y ordenado de operaciones que permiten completar un objetivo. Es decir, es un método, cuya importancia radica en que permite describir procesos y resolver problemas matemáticos. Los algoritmos reciben una “entrada” y entregan una “salida”, como una función, pero el algoritmo debe ser definido, finito y eficiente. En la vida cotidiana se emplean continuamente algoritmos que el cerebro humano desarrolla de manera inconciente.

10 Ciclos de control Básicos Un ciclo de control, como lo indica su nombre, es una estructura que se repite. Se puede realizar una cantidad específica de veces: –repeat( cantidad ){ instrucciones; } O se puede realizar mientras se cumple una condición: –while( condición ){ instrucciones; }

11 Diagrama de Bloques De acuerdo a las nuevas estructuras de control, se establecen nuevas formas de diagramas de bloque, que enriquecen las alternativas de programas posibles. Estructuras de control vistas: –if(){}else{} –repeat(){} –while(){}

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

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

14 repeat repeat( cantidad ){ instrucciones que se repiten; }

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

16 Sonidos Una manera sencilla de conocer el estado del RCX mientras éste ejecuta algún programa es mediante sonidos. Con los sonidos se puede saber qué segmento del programa se está ejecutando si se le añade un sonido característico. De esta manera, es posible depurar programas o simplemente hacer del RCX un aparato más ruidoso. Existen dos formas de emitir sonidos con NQC: –PlayTone(frecuencia, tiempo); Tono según frecuencia y tiempo indicados. –PlaySound(sonido); Sonidos Predeterminados: - SOUND_CLICK - SOUND_DOUBLE_BEEP - SOUND_DOWN - SOUND_UP - SOUND_LOW_BEEP - SOUND_FAST_UP

17 Programación Básica con NQC Patricio A. Castillo 03/05/2008


Descargar ppt "Programación Básica con NQC Patricio A. Castillo 03/05/2008."

Presentaciones similares


Anuncios Google