jueves, 5 de enero de 2017

NOVENA SESIÓN DE PROGRAMACIÓN GRÁFICA


  • Para esta sesión de programación gráfica aprendimos a usar un nuevo programa , el Lego Digital Designer, que sirve para crear nuevos modelos robóticos, a continuación les mostraremos una descripción del programa y sus funciones.
DESCRIPCIÓN DEL LEGO DIGITAL DESIGNER:

Es un software libre desarrollado por The Lego Group, disponible para Mac y Windows.
Permite diseñar a través del PC cualquier construcción de LEGO. Cuenta con un número ilimitado de piezas de todo tipo, y la mayoría están disponibles en varios colores. Su interfaz es muy fácil de usar. Incluye temas de series de productos como Mindstorm o Creator. Ofrece diseños predeterminados sin acabar (para que lo haga el usuario).
Permite guardar los diseños en el formato lxf.
El programa también ofrece la opción de generar guías de construcción, de modo que puede hacer instrucciones automáticamente de como construir paso a paso las creaciones, incluso con la opción de guardarlas en formato HTML. También nos dice cuanto costaría crear la construcción en la realidad. Podremos guardar nuestras creaciones y compartirlas, enviarlas a la página oficial de LEGO y también permite visualizar y descargar las creaciones de otras personas que las hayan subido previamente.
TRABAJO PARA LA CLASE:

OBJETIVO:
  •  Ensamblar un modelo robótico con el software LDD que cumpla con la función de realizar movimiento(avanzar, retroceder, girar) . Luego de armar el robot tomarle una captura de pantalla para lo cual utilizaremos un programa que toma captura de pantalla de muy buena calidad, y lo hace volver real, este programa se llama bluerender.
  •    Les mostraremos el resultado final y la captura utilizando el bluerender.


CONCLUSIONES:  
  •      En la actual sesión aprendimos a usar el Lego Digital Designer y la importancia de este software.
  •      Este programa es muy útil en el aspecto educativo ya que genera sus propias guias.
  •      Así como también aprendimos la importancia de este programa el Bluerender para nuestra calidad de imagen, y mejorar su aspecto para un uso de exportación talvés.


sábado, 10 de diciembre de 2016

OCTAVA SESIÓN DE PROGRAMACIÓN GRÁFICA


  •  Para esta sesión de programación grafica se deberá ensamblar un modelo del Lego Mindstorm NXT 2.0 , el cual se denomina “MORPH”.
  •  Se hará uso de los sensores de contacto ,ultrasonido y el sensor de color.
  •  Una vez armado el robot se procederá a la programación el robot, usando la multiprogramación, haciendo uso también de variables.
ARMADO DEL LEGO MORPH:
  • Como primer paso se procederá al armado del robot.















  •       Una vez armado el modelo MORPH , procederemos a la desarrollo de la programación que está establecido en la práctica.
ACTIVIDAD:
  • El robot debe de seguir las siguientes instrucciones:
  • Si el sensor de contacto del lado izquierdo se presiona entonces el robot gire 2 vueltas al lado izquierdo.
  • Si el sensor de contacto del lado derecho se presiona entonces el robot girará 3 vueltas al lado derecho.
  • Si el robot detecta el color azul entonces el robot debe de transformarse.
  • Si detecta el color verde debe de avanzar hasta que detecte un objeto delante de él, y gire a otra dirección.
  • Si detecta el color rojo se detenga y duerma.
  • Si detecta color amarillo despierta y baila. 
  • A continuación les mostraremos el programa que realiza estas ordenes.
  • Usaremos la multiprogramación, crearemos varios subprogramas que se ejecutaran paralelamente, utilizaremos variables que estos subprogramas  se comuniquen.

 





EXPLICACIÓN DEL PROGRAMA:
  • El el primer subprograma hay un loop , dentro de él un switch que preguntará si el sensor de color detecta el color rojo(puerto 2), en caso de que sea verdad en la variable creada de tipo numero se guardará el valor de 1.   
  • El el segundo subprograma hay un loop , dentro de él un switch que preguntará si el sensor de color detecta el color verde(puerto 2), en caso de que sea verdad en la variable creada de tipo numero se guardará el valor de 2.
  • El el tercer subprograma hay un loop , dentro de él un switch que preguntará si el sensor de color detecta el color azul(puerto 2), en caso de que sea verdad en la variable creada de tipo numero se guardará el valor de 3.
  • El el cuarto subprograma hay un loop , dentro de él un switch que preguntará si el sensor de color detecta el color amarillo(puerto 2), en caso de que sea verdad en la variable creada de tipo numero se guardará el valor de 4.
  • En el quinto subprograma que creamos lo primero q se ve es un loop lo que hará que se repita por siempre las instrucciones dadas,dentro de ese loop vemos una variable que creamos de tipo numero, vemos un bloque de switch que preguntará si el sensor de contacto se presionó(puerto 3), en el caso que fuera verdad en la variable de tipo numero le guardamos el valor de 5.
  • En sexto subprograma hacemos lo mismo que el primer subprograma dentro de un loop hay un switch y preguntara si el sensor de contacto se presionó (puerto 1), en el caso de que sea verdad en la variable de tipo numero que creamos se guardará el numero  6.  
  • Después de crear todos los anteriores subprogramas crearemos un subprograma mas que lo que hará es leer la variable guardada y de acuerdo al valor que lea entonces ejecutará las instrucciones.
  • Primero grabaremos en la variable creada el valor 0 que es diferentes a las anteriores para que al iniciar el programa el robot no tome talves uno de las instrucciones ya establecidas sin hacer funcionar a los sensores.
  • De igual manera que en las anteriores subprogramas primero empezamos con un loop que hará que esto se repita por siempre.
  • Dentro del loop haremos que la variable creada lea los datos que grabó en este caso esos datos son números,conectamos a esta variable con un switch para que de acuerdo al valor ejecute las instrucciones.
  • En caso de que el valor que tome lea 1: entonces el robot se detendrá para ello usaremos los motores A y C.
  • En caso de que el valor que tome lea 2: entonces el robot se avanzará hasta que detecte un objeto a menos de 20 cm, si detecta entonces el robot girará a la derecha para eso el motor C de 2 rotaciones. 
  • En caso de que el valor que tome lea 3: entonces el robot se debe de transformar para esto haremos que el motor B avance unos 270 grados.
  • En caso de que el valor que tome sea 4: entonces el robot  debe bailar para eso el motor C avanzará 1 segundo,después el motor A avanzará 1 segundo también, haremos que el robot gire una vuelta completa , para ello al motor A le daremos la orden que avance por 4 segundos.  
  • En caso de que el valor que tome sea 5: entonces el robot debe de dar 2 giros a la izquierda, para eso el motor A avanzará por 7 segundos.
  • En caso de que el valor que tome sea 6:entonces el robot debe de dar 3 giros a la derecha, para eso el motor C avanzará por 12 segundos.

domingo, 27 de noviembre de 2016

SÉPTIMA SESIÓN DE PROGRAMACIÓN GRÁFICA

  •       Para esta sesión de programación grafica se trabajará con el  lego de SENSOR SORTER, modelo sorting tray.
  •      Se hará uso de los sensores de contacto y sensor de color. 
  •     Una vez armado el robot se procederá a la programación el robot, realizando las actividades propuestas para la clase.

         ARMADO DEL SENSOR SORTER:
         
  •      Como primer paso se procederá al armado del robot.


     








  •      Una vez armado el color sorter , procederemos a la desarrollo de la programación que está establecido en la práctica. 
               ACTIVIDAD:
  •      Para esta sesión la actividad a realizar es hacer que el robot detecte un color y lo suelte en el carril donde hay bolitas del mismo color, para esto debe hacer los giros necesarios para que quede ordenado, haremos uso de los sensores de contacto y de color.
  •     Procederemos con la programación.
                      

RAMA VERDADERA

RAMA FALSA


             
              EXPLICACIÓN DEL PROGRAMA:
          
  1.      Primero vemos un bloque de movimiento del motor C(el motor C es el que hace girar al contenedor ),el cual hará que este se mueva ilimitadamente hasta que el sensor de contacto(puerto 2) sea pulsado, después lo volverá al estado de inicio haciendo un giro de 50 grados al motor C, se esperará 1 segundo.
  2.      Seguidamente vemos un bucle  que hará que se repita las instrucciones dentro de él por siempre, dentro del bucle vemos unos bloques de movimientos, el primer bloque hará que el motor B se mueva ilimitadamente hasta que el sensor de contacto(puerto 1) sea pulsado, después el motor B girará unos 265 grados , el cual hará que levantar la carga de bolitas lista para ser soltada, esperará 1 segundo.
      3. 
Seguidamente vemos un switch de color,el cual preguntará si el sensor detecta una               bolita de color amarillo, entonces producirá un sonido yellow(amarillo) y          seguidamente, el motor B girará unos 265 grados, y hará que una bolita sea soltada.
            4. En caso que sea falso, entonces hará una nueva pregunta con otro switch de          color , el cual preguntará si la bolita es de color rojo.
            5.Si es verdad entonces se emitirá un sonido red(rojo), en seguida el motor B               girará 90° y soltará la bolita, después haremos que el motor B vuelva a su                estado original haciendo girar los mismos 90° .
            6. En caso sea falso entonces habrá otro switch que preguntará si el color que           detecta es azul entonces mandará un sonido de blue(azul),                                         seguidamente el motor C girará  unos 180° , después el motor B girará 265°    para            soltar la bolita de color, hacemos volver a su posición inicial haciendo girar al           motor B los 180° en sentido contrario.  
                 7.En caso sea falso se irá por la rama falsa ,entonces nuevamente vemos un               switch de  color en este caso si detecta el color verde emitirá un sonido de           Green(verde),seguidamente el motor B girará 270°, el motor C girará 270° para       soltar la      bolita, volverá a su estado inicial haciendo girar al motor C 270° en       sentido contrario.               
              8.En caso el sensor no detecte  el color verde entonces se irá por la rama falsa,         entonces    se emitirá un sonido de good bye , seguidamente hacemos girar     al       motor C 360°,        giramos el motor B 265°, volvemos a la posición     inicial con    un giro de 360° al motor C en          sentido contrario.    



    

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.

sábado, 12 de noviembre de 2016

SATÉLITE PERUANO, HERRAMIENTA PARA EL DESARROLLO

ANTECEDENTES:

FASE DE PRE-INVERSIÓN(2005):
  •      Perfil: Aprobado por PCM, 03-02-2006.
  •       Pre-factibilidad: Aprobado por PCM, 03-09-2009.
  •      Factibilidad: Aprobado por PCM, 24-06-2010.
  •         Factibilidad actualizada: Aprobado por PCM, 19-07-2013.
  •       Viabilidad: Aprobado por PCM, 24-07-2013.
      CARACTERÍSTICAS:
          

      El satélite peruano nos permitirá desarrollar diferentes campos de investigación.
  •      Recursos biológicos
  •      Agua, clima
  •      Energía 
  •      Salud
  •      Desastres
  •      Minería geología
     El MINAGRI  es uno de los ministerios que tiene más necesidades de información temática.

     Las imágenes satelitales son de utilidad para la producción de cartografía temática e información para la toma de decisiones.
  •     Las imágenes satelitales servirán para temas hídricos.
  •     Las imágenes satelitales servirán para temas agrícolas.
  •     Humedales altoandinos.
      APLICACIONES MULTISECTORIALES DEL SATÉLITE:
  •     Retroceso glaciar
  •     Oceanografía
  •     Hidrografía
  •     Administración del ambiente y del suelo
  •     Monitoreo de cultivos
  •     Geología
  •     Exploración minera y petrolera
  •     Costa marina 
  •     Forestal
  •     Desastres naturales
  •     Planeamiento urbano
  •     Monitoreo marino y ambiente
      CONCLUSIONES:
  •      Este satélite es de mucha importancia ya que podemos acceder a imágenes del territorio peruano, sin ningún costo.
  •     Gracias a sus imágenes podremos combatir la tala de árboles, el terrorismo, el narcotráfico, contaminación ambiental, minería, así como para la prevención y atención de desastres naturales.


sábado, 5 de noviembre de 2016

QUINTA SESIÓN DE PROGRAMACIÓN GRÁFICA


ROBOT LEGO MINDSTORM NXT CON SENSOR DE CONTACTO


  • Para esta sesión haremos uso del sensor de ultrasonido y también el sensor de contacto.
  • Para las pruebas haremos el armado de un robot que es la unión de 3 modelos de robots, primero armaremos  el NXT Castor bot, seguidamente en base al anterior robot lo completamos y tenemos al NXT Bumper Car, y finalmente terminamos con el lego NXT Explorer.

  DESCRIPCIÓN DEL SENSOR DE CONTACTO :
  •   El sensor de contacto lo que  hace es detectar cuando un objeto hace contacto con el robot y  ejecuta las instrucciones que determinemos.
  •         El sensor de contacto sirve como un interruptor que controla un circuito eléctrico .El sensor de contacto NXT es un sensor digital.  Los sensores digitales dan solo 2 tipos de respuesta:  cero(0) o uno(1). El NXT lee 1 cuando el sensor de contacto es presionado.  
        ARMADO DEL LEGO MINDSTORM NXT CASTOR BOT:
  •      Como primer paso lo que hacemos es proceder al armado del robot      LEGO MINDSTORM NXT   CASTOR BOT.
  •      Les mostramos el proceso del armado.                                                                               

                                                                               











  • Una vez culminado el proceso de armado del NXT Castor Bot lo que haremos es proseguir con    el armado del NXT Bumper Car .
     ARMADO DEL LEGO MINDSTORM NXT BUMPER CAR:
  • Para el armado de este robot comenzaremos del modelo anterior.
  • Para este robot se hará uso del sensor de contacto.
              












   ARMADO DEL LEGO MINDSTORM NXT EXPLORER:

  • Para el armado de este robot comenzaremos del modelo anterior.
  •      Para este robot le agregaremos el sensor de ultrasonido.











  • Una vez armado el último modelo de robot que es el Explorer  que hará uso del sensor de ultrasonido y el sensor de contacto. Procederemos a la desarrollo de la programación que está establecido en la práctica.

    ACTIVIDAD 1:
  • Para desarrollar esta actividad vamos a seguir las instrucciones que están en la  práctica.
  • Nuestro objetivo será hacer que el robot avance hasta que haga contacto con un obstáculo, seguidamente retrocederá por medio segundo y girará 300 grados hacia el lado derecho
  • A continuación les mostraremos el programa de prueba que realiza las instrucciones ya mencionadas.



                  


 EXPLICACIÓN DEL PROGRAMA:
  1. En el primer bloque  el robot seguirá la instrucción de avanzar hacia adelante por un tiempo  ilimitado.
  2.        .   A continuación vemos un SWITCH  DE SENSOR DE CONTACTO que lo que hará es detectar si un objeto hizo contacto con el sensor y lo presiona ,entonces se ira por la rama verdadera.
  3.       Dentro de la rama verdadera hay un primer bloque el cual hace que el robot retroceda por medio  segundo.
  4.        Seguidamente el robot procederá a dar un giro de 300° a la derecha.
  •    TODOS ESTOS PROCEDIMIENTOS ESTAN DENTRO DE UN BUCLE EL CUAL HARÁ QUE ESTOS PASOS SE REPITAN VEZ TRAS VES DE MANERA ILIMITADA.
  ACTIVIDAD 2:

    •     Para desarrollar esta actividad haremos que el robot ejecute los sensores de ultrasonido y de contacto.
    •       Nuestro objetivo será hacer que el robot avance hasta que el robot detecte un objeto a menos de 20 cm o hasta que choque con un objeto, seguidamente el sensor de ultrasonido girará a los costados y hará la comparación de las distancias y optará por hacer un giro hacia el lado donde no haya obstáculo cerca .
    •     A continuación les mostraremos el programa que realiza las instrucciones ya mencionadas.

    SWITCH PRINCIPAL

    RAMA VERDADERA

    RAMA FALSA

     EXPLICACIÓN DEL PROGRAMA:
    1. En el primer bloque  el robot seguirá la instrucción de avanzar hacia adelante por un tiempo  ilimitado.
    2.        .   A continuación vemos un SWITCH  DE SENSOR DE ULTRASONIDO que lo que hará es detectar si hay un objeto a menos de 20 cm ,entonces se ira por la rama verdadera.
    3.       Dentro de la rama verdadera hay un  bloque de tiempo el cual hará que el robot haga una   pausa de 1 segundo (1.000) para ejecutar la siguiente instrucción.
      . Seguidamente vemos un bloque de sonido, el cual enviará el sonido ”object”.
      . A continuación está el bloque de movimiento el cual hará que el robot retroceda por medio   segundo(0.5 segundos).
      . Después haremos que el cuello del sensor ultrasonido gire 90° a la izquierda  con un bloque de movimiento, luego haremos que calcule la distancia ejecutando el sensor de ultrasonido, en seguida haremos un giro de 180° al cuello del robot , igualmente calculará la distancia .
      . Después de haber calculado las distancias entonces haremos la comparación de estas                 distancias que asignamos los valores de A a la primera  distancia y B a la segunda                       distancia , con un bloque de comparación. Si el valor de A es  ,entonces el robot girará      hacia   el lado izquierdo, en caso contrario el robot girará hacia el lado derecho .
    4.        Dentro de la rama falsa primero vemos un SWITCH  DE SENSOR DE CONTACTO que lo que hará es detectar si un objeto hizo contacto con el robot,entonces se irá por la rama verdadera.Después ejecutará las mismas instrucciones que el procedimiento 3 .
    •    TODOS ESTOS PROCEDIMIENTOS ESTAN DENTRO DE UN BUCLE EL CUAL HARÁ QUE ESTOS PASOS SE REPITAN VEZ TRAS VES DE MANERA ILIMITADA.
              CONCLUSIONES:
    •     En esta sesión de programación aprendimos del uso del sensor de contacto.
    •   Aprendimos a usar el bloque de comparación el cual nos sirvió de mucho ya que hizo la comparación de los valores de las distancias.