La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lección 5: Tareas Múltiples & Relojes Soluciones de Programación RoboLab a NQC.

Presentaciones similares


Presentación del tema: "Lección 5: Tareas Múltiples & Relojes Soluciones de Programación RoboLab a NQC."— Transcripción de la presentación:

1 Lección 5: Tareas Múltiples & Relojes Soluciones de Programación RoboLab a NQC

2 Ejercicio 1 Escriba un programa con 2 tareas. La primera monitorea un sensor de contacto y si este es presionado, emite un sonido. La segunda monitorea otro sensor de contacto. Al accionar este otro contacto, el motor A avanza por un segundo y se detiene.

3 Ejercicio 1: Solución RoboLab task main() { SetSensor(SENSOR_1, SENSOR_TOUCH); SetSensor(SENSOR_3, SENSOR_TOUCH); start task1; start task2; } task task1() { while (true) { until (SENSOR_1 == 1); PlaySound(SOUND_FAST_UP); }} task task2() { while (true) { until (SENSOR_3 == 1); Fwd(OUT_A); OnFor(OUT_A, 100); }}

4 Ejercicio 1: Solución NQC task main() { SetSensor(SENSOR_1, SENSOR_TOUCH); SetSensor(SENSOR_3, SENSOR_TOUCH); start task1; start task2; } task task1() { while (true) { until (SENSOR_1 == 1); PlaySound(SOUND_FAST_UP); until (SENSOR_1 == 0); } task task2() { while (true) { until (SENSOR_3 == 1); Fwd(OUT_A); OnFor(OUT_A, 100); } Con esta línea, el RCX deja de sonar al liberar el contacto.

5 Ejercicio 2 Escriba un programa con 3 tareas. La primera emite 4 sonidos. La segunda hace avanzar al motor por 2 segundos y luego lo detiene. La tercera hace retroceder al motor C por 5 segundos y luego lo detiene.

6 Ejercicio 2: Solución RoboLab task main() { start task1; start task2; start task3; } task task 1() { repeat (4) { PlaySound(SOUND_FAST_UP); } } task task2() { Fwd(OUT_A); OnFor(OUT_A, 200); } task task3() { Rev(OUT_C); OnFor(OUT_C, 500); }

7 Ejercicio 2: Solución NQC task main() { start task1; start task2; start task3; } task task1() { repeat(4) { PlaySound(SOUND_FAST_UP); } task task2() { Fwd(OUT_A); OnFor(OUT_A, 200); } task task3() { Rev(OUT_C); OnFor(OUT_C, 500); }

8 Ejercicio 3: Solución RoboLab Escriba un programa que emite un sonido durante 5 segundos. task main() { ClearTimer(0); while ( Timer(0) < 50 ) { PlaySound(SOUND_FAST_UP); } }

9 Ejercicio 3: Solución NQC task main() { ClearTimer(0); while ( Timer(0) < 50) { PlaySound(SOUND_FAST_UP); } Esto pone a cero el reloj. El tiempo está en décimos de segundo.


Descargar ppt "Lección 5: Tareas Múltiples & Relojes Soluciones de Programación RoboLab a NQC."

Presentaciones similares


Anuncios Google