domingo, 20 de noviembre de 2016

SEXTA SESION DE PROGRAMACION GRAFICA ”MANTY ROBOT”

  • 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.
  1.       Motor B: Avanza hasta que el sensor de contacto sea pulsado.
  2.        Motor B: Avanza 180°.
  3.       Motor C: Avanza hasta que sensor de contacto sea pulsado.
  4.       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