Tareas NQC puede tener hasta 10 tareas, una de las cuales siempre será main. Las tareas se ejecutan usando el comando start. Las tareas corren simultaneamente.

Slides:



Advertisements
Presentaciones similares
1. el origen de los robots Los humanos hemos intentado tener máquinas que funcionaran de manera automática y autónoma desde hace mucho tiempo. ¿PORQUÉ.
Advertisements

Diseño y construcción robot electromecánico capaz de evitar obstáculos
Instrumentación Virtual con LabVIEW
Lección 4: Soluciones de Programación con Enunciados Condicionales
SISTEMAS DE INFORMACIÓN
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Programación Básica con NQC Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
OTTO EL ROBOT SICI-3011 Preparado por: Prof. Nelliud D. Torres.
Estructuras de control
Cómo usar el pendrive o llavero usb.
EXCEPCIÓN DE ERRORES.
Quinta Clase Patricio A. Navarrete Junio 3 de 2011.
SubRutinas Se pueden usar subrutinas cuando se necesita el mismo trozo de código en distintos lugares del programa. En esos casos se escribe una subrutina.
La vida puede ser como el juego de
Instrumentación Virtual con LabVIEW
NQC Lazos, Enunciados Condicionales, Lógica Booleana.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Patricio A. Navarrete Junio 17 de 2011
Un hilo es un único flujo de ejecución dentro de un proceso. Un proceso es un programa ejecutándose dentro de su propio espacio de direcciones. Los.
Anterior La tablilla principal controla todas las conexiones para los diferentes dispositivos de entrada y salida, es también la que tiene los chips para.
Pretérito e Imperfecto. A 1.nací 2.tenía 3.fue 4.pasó 5.conoció 6.se casó 7.vio 8.tenía 9.soñábamos 10.esperábamos.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 08/03/2007.
Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.
EL RELÉ..
Clase V: Seguidor de línea + pelotas
Segunda Clase Pamela R. González Patricio A. Navarrete Mayo 8 de 2011.
Desarrollador Profesional de Juegos Programación III Unidad II Una clase thread para window.
SERVIDORES DE INTERNET SISTEMAS OPERATIVOS II. PRESENTADO POR: NAZLY LUNA NAZLY LUNA MERLY URBANO MERLY URBANO FERNANDO A. MUÑOZ FERNANDO A. MUÑOZ PRESENTA.
Melissa Cerezo Laura Solórzano 10030
Detección de obstáculos Presentación introductoria.
Toda velocidad hacia adelante Presentación introductoria.
Anterior Dinámica Es la parte de la física que describe la evolución en el tiempo de un sistema físico (una persona) en relación a las causas que provocan.
Víctor Gallego Le Forlot I.E.S. Jovellanos (Fuenlabrada)
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Lección 5: Tareas Múltiples & Relojes Soluciones de Programación RoboLab a NQC.
Décimo Curso de Programación Básica con NQC “Quinta Clase” Cristián A. Arenas Ulloa Septiembre 26 de 2009.
UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERIA ELECTRONICA
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 20/05/2006.
Estándares. Estándares BUILD . PROGRAM . GO! “PROGRAMACIÓN DEL ROBOT MINDSTORMS” How often will you get a youth to say that?! SIMPLES PROGRAMAS.
Unidad 1 APLICACIONES DE WINDOWS. 1.1 Entrar y salir de Windows Arrancar Windows: Para que el sistema operativo cargue, solo se necesita encender la computadora.
Lección 2: Niveles de Potencia, Repeticiones, y Lazos While. Soluciones de Programación: De RoboLab a NQC.
Lección 3: Estados de Espera “Espere Por” Basados en Sensores Soluciones de Programación.
PSEUDOCÓDIGO.
LAS TORTUGAS.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/05/2007.
“1- Estas son las palabras del Maestro, hijo de David, rey de Jerusalén. 2- Lo más absurdo de lo absurdo – dice el Maestro-, lo más absurdo de lo absurdo,
#define MOVE_TIME 100 #define TURN_TIME 85 task main() { repeat(4) { OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); } Off(OUT_A+OUT_C);
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
Lección 3: Sensores y Untils Soluciones de Programación RoboLab a NQC
Lección 6: Variables Soluciones de Programación RoboLab a NQC
Séptima Clase Patricio A. Navarrete Junio 24 de 2011.
EQUIPO 4 INTEGRANTES: ALVARADO LUNA AIDA ARACELI MENESES AGUILAR AXEL NESTOR CONTRERAS MONDRAGON ALAN HEMIR SANCHEZ MUÑIZ JOSE FRANCISCO.
Printing Tasks Karolina Rivera Jean Robert Charles Jacinthe.
LA CRISIS FAMILIAR EL DIVORCIO.
PROGRAMACIÓN ESTRUCTURADA LOS DIAGRAMAS DE ESTADO
Lección 6: Soluciones de Programaación con Contenedores.
THREADS JAVA Ing. Esp. Ricardo Cujar. HILO Un hilo es un proceso que se está ejecutando en un determinado momento en el sistema operativo. Se les define.
Butiá Talleres de robótica para escolares y liceales en Antel Talleres de robótica para escolares y liceales 2014 Facultad de Ingeniería Universidad de.
Ejemplo 3.3 El robot debe recorrer la avenida 1 hasta encontrar una esquina con flor y papel. Al finalizar el recorrido se debe informar la cantidad de.
Noveno Curso de Programación Básica con NQC “Quinta Clase” José M. Galarce H. Mayo 15 de 2009.
Reaccionamos ante las frustraciones en forma más violenta que la gente normal. Reaccionamos ante las frustraciones en forma más violenta que la gente.
Hilos Java Profesor Elian Rojas Berrocal
(totalmente inventado)
Lección 5: Soluciones de Programación conTareas Múltiples y Relojes.
Todos los objetos que empleamos para ahorrar tiempo en nuestras actividades son máquinas. Según el número de piezas SIMPLES: formadas por una sola pieza,
Sistema de Telemetría Automatización Monitoreo y Control por Radios Temporizadores Entradas Analógicas Entradas Digitales Salidas Digitales Control por.
Lección 1: Soluciones de Programación con Enunciados Condicionales.
1º BAC Estudio del movimiento U.1 Cinemática A.12 Distancia de frenado.
Transcripción de la presentación:

Tareas NQC puede tener hasta 10 tareas, una de las cuales siempre será main. Las tareas se ejecutan usando el comando start. Las tareas corren simultaneamente (tareas múltiples). Una tarea puede detener a otra usando el comando stop. Una tarea detenida puede volver a partir pero, partirá desde el punto de partida y no desde el punto en el cual se detuvo.

El Programa a Continuación: Se moverá en un cuadrado pero,si toca un obstáculo reaccionará a el. Es dificil hacer esto en una tarea pues el robot debe hacer dos cosas al mismo tiempo: Moverse (encendiendo y apagando motores al mismo tiempo) Mirar los sensores y reaccionar a ellos. Es mejor usar dos tareas: Una tarea que mueve al robot en un cuadrado. Una tarea que reacciona ante los sensores.

task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; start move_square; } task move_square() { while (true) { OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); } task check_sensors() { while (true) { if (SENSOR_1 == 1) { stop move_square; OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); start move_square; }

task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; start move_square; } task move_square() { while (true) { OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); } task check_sensors() { while (true) { if (SENSOR_1 == 1) { stop move_square; OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); start move_square; } La tarea main elige el tipo de sensor y hace partir a ambas tareas. Posteriormente la tarea main termina.

task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; start move_square; } task move_square() { while (true) { OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); } task check_sensors() { while (true) { if (SENSOR_1 == 1) { stop move_square; OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); start move_square; } La tarea move_square mueve al robot para siempre en cuadrados.

task main() { SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; start move_square; } task move_square() { while (true) { OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); } task check_sensors() { while (true) { if (SENSOR_1 == 1) { stop move_square; OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); start move_square; } La tarea check_sensors espera hasta que el sensor es presionado. Si ello ocurre: Detiene a move_square Retrocede al robot, y luego gira Vuelve a hacer partir a la tarea move_square

Es importante considerar que: Las tareas que se ha hecho partir, corren al mismo tiempo. Esto podría llevar a resultados inesperados.