- Para esta sesión de programación grafica se deberá ensamblar un bonus model del Lego Mindstorm NXT 2.0 , el cual se denomina “Manty Robot”.
- Se hará uso de los sensores de contacto y ultrasonido.
- Una vez armado el robot se procederá a la programación el robot, usando la multiprogramación.
BREVE EXPLICACION DE
LA MULTIPROGRAMACIÓN:
- Se denomina multiprogramación a una técnica por la que dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente por el procesador o CPU.
- Con la multiprogramación, la ejecución de los procesos se va solapando en el tiempo a tal velocidad, que causa la impresión de realizarse en paralelo.
- Se trata de un paralelismo simulado, dado que la CPU sólo puede trabajar con un proceso cada vez . De ahí que, en rigor, se diga que la CPU ejecuta «concurrentemente» (no simultáneamente) varios procesos; en un lapso de tiempo determinado, se ejecutarán alternativamente partes de múltiples procesos cargados en la memoria principal.
ARMADO DEL MANTY
ROBOT:
- Como primer paso se procederá al armado del robot.
- Una vez armado el Manty Robot , procederemos a la desarrollo de la programación que está establecido en la práctica.
    ACTIVIDAD:
- Se hará uso de variables el cual almacena datos para luego usarlos en el programa.
- Antes de programar lo que se hará es crear un módulo o bloque que sincronizará las patas del robot que están trabajando con los motores B y C para que haya movimiento hacia adelante, el bloque se llamará sincronización, específicamente el bloque sincronización realizará las siguientes instrucciones.
-       Motor B:
Avanza hasta que el sensor de contacto sea pulsado.
-        Motor B:
Avanza 180°.
-       Motor C:
Avanza hasta que sensor de contacto sea pulsado.
-       Motor C:
Detener.
- Para esta sesión el programa deberá realizar las siguientes instrucciones.
-     PROCESO 1:
               1. Variable
objeto=false.
               2.  Llamar a
módulo de sincronización.
               3. Repetir:
                   3.1  Avanzar hasta
que variable objeto=true.
                   3.2 Generar
numero aleatorio entren 0 y 100.
                   3.3 Si numero
aleatorio es mayor que 50 entonces:
                         3.3.1 Girar a la derecha.
                   3.4 En caso
contrario:
                         3.4.1 Girar ala izquierda.
                   3.5 Variable
objeto=false.
                 Por siempre.
- PROCESO 2:
              1. Repetir:
                 1.1 Movimiento
de orejas.
                 1.2 Repetir:
                       1.2.1 Movimiento
de orejas.
                       Hasta que
el sensor ultrasónico detecte un objeto a 50 cm.
                 1.3 Variable
objeto =true.
                 1.4 Movimiento
de orejas.
                 1.5 Repetir:
                       1.5.1 Esperar
1 segundo.
-       El proceso 1 y 2 se ejecutarán concurrentemente, para
ello utilizaremos la multiprogramación.
- A continuación les mostraremos el programa.
          EXPLICACIÓN
DEL PROGRAMA:
- En el proceso 1 que está en la parte superior realiza las siguientes instrucciones:
                 §  El programa
lo iniciamos dándole un valor a una variable a la variable objeto, le                           asignaremos el  valor falso.
                §  Como
siguiente paso haremos uso del bloque sincronización creado                                        previamente que realizará movimiento del robot hacia adelante.  
                §  Dentro del
bucle :
                -Haremos que
los motores BC  avancen ilimitadamente
hasta que el la                                  variable objeto de un valor verdadero.
                      -  Después
creamos un bloque que producirá un numero aleatorio entre 1 y                        100.
                      - Vemos un bloque de comparación que lo que hará es comparar si el numero                      producido
aleatoriamente es mayor que 50.
                           o   Si es
verdad entonces haremos girar el robot a la derecha, usando                               los motores CB.
                           o   En caso
contrario el robot girará hacia la izquierda, de igual manera                             que el anterior utilizaremos los motores CB.
                      - Asignamos a
la variable objeto el valor de falso.
                §  Este bucle
se repetirá para siempre.
- En el proceso 2:
                 §  Dentro del
bucle:
                      - Vemos un
bloque de sonido que lo que hará es mandar un sonido.
                      - Haremos uso
del bloque de movimiento de orejas.
                      - La
instrucción anterior lo realizará hasta que el sensor ultrasónico                                 detecte un
objeto a 50 cm.
                      -  Le
asignamos a la variable objeto el valor de verdad.  
                      - Nuevamente
utilizaremos el bloque de movimiento de orejas.
                      - Creamos un
bucle que realizara los siguiente pasos:  
                         Ø  Esperar 1
segundo hasta que variable objeto produzca un valor de                            falsedad.
              §    Este bucle
se repetirá por siempre.
-      A continuación les mostraremos el programa en ejecución.
-      El cual tuvo algunos inconvenientes, que no ejecuta todas las
instrucciones.
             CONCLUSIONES:
 
-      En la actual sesión aprendimos a usar la
multiprogramación.
-       Las variables fueron muy importantes para esta sesión
el cual nos produjo valores lógicos.








 
No hay comentarios:
Publicar un comentario