Proyecto 4. La cortadora de césped

Cortadora de césped

El vehículo Educator deberá barrer un área en trayectos de ida y vuelta como si se tratase de una cortadora de césped realizando en bucle la siguiente secuencia:

  1. Moverse hacia delante (ida). Se desplazará hacia delante X rotaciones de rueda. 
  2. Moverse en modo tanque (ida).  Comenzar a girar en modo tanque sobre sí mismo en el sentido horario.
  3. Esperar hasta alcanzar una amplitud de giro (ida) . Esperar hasta que el girosensor no detecte un cambio de 180 grados.
  4. Moverse hacia delante (vuelta). Se desplazará hacia delante X rotaciones de rueda.
  5. Moverse en modo tanque (vuelta).  Comenzar a girar en modo tanque sobre sí mismo en el sentido antihorario.
  6. Esperar hasta alcanzar una amplitud de giro(vuelta). Esperar hasta que el girosensor no detecte un cambio de 180 grados.

Nótese que es necesario programar la ida y la vuelta porque el giro en modo tanque en ambos trayectos se produce en sentido contrario. En este programa se utilizarán los bloques de programación del desplazamiento del vehículo que se realizará con los motores grandes y del girosensor

 Motor grande GiroSensor

0. Crear un nuevo proyecto

  1. Abre el software de Lego EV3 mediante  Inicio > Todos los programas > LEGO MINDSTORMS Education EV3 > LEGO MINDSTORMS Education EV3 o bien haciendo doble clic en el icono de acceso directo situado en el Escritorio.
  2. Clic en el botón + Agregar proyecto para crear un proyecto nuevo.

Agregar proyecto 

  1. Desde la paleta de Sensores (amarillo) arrastra el bloque Girosensor para conectarlo al bloque de Inicio en el área de diseño. 

Girosensor

  1. Clic en el botón Modo de este bloque y elige la opción Reiniciar. De esta forma el girosensor se reiniciará a 0 grados para comenzar sus medidas. 

Reiniciar girosensor

1. Moverse hacia delante (ida)

  1. En la paleta de bloques, situada en la parte inferior del área de diseño del programa, selecciona la paleta de Acciones (color verde). 
  2. Arrastra el bloque Mover la dirección para situarlo en el área de diseño del programa.

Mover la dirección

  1. Clic en el Modo del bloque Mover la dirección y elige la opción Encendido por rotaciones.
  2. Configurar los parámetros:
  • Dirección. Si el valor es 0 se moverá hacia delante en línea recta. 
  • Potencia. El valor por defecto es 50%.
  • Rotaciones. Indica el número de vueltas que ejecutará el motor. En este caso vamos a definir 3. 
  • Detener al final. Si está marcada esta opción, el motor se detendrá después de ejecutar el movimiento especificado.

Mover dirección

Nota: Si se desea obtener el número de rotaciones necesarias para cubrir cada trayecto es necesario medir esta distancia. A continuación se divide entre 17 cm (cada vuelta de la rueda recorre 17 cm aprox.) y el cociente sería el número de rotaciones. 

2. Moverse en modo tanque (ida)

  1. Desde la paleta de Acciones (verde) arrastra y coloca el bloque Mover tanque.

Mover tanque

  1. Clic en el Modo del bloque Mover tanque y elige la opción Encendido. Así el vehículo comenzará a moverse hasta que se indique lo contrario. 

Mover tanque

  1. Define 40 en la Potencia del motor lado izquierdo en la Potencia del motor lado derecho. Con esta configuración se moverá hacia delante la rueda izquierda y se mantendrá estática la rueda derecha. De esta forma el vehículo girará sobre sí mismo en círculo tomando como centro el punto de apoyo de la rueda derecha. 

3. Esperar hasta alcanzar una amplitud de giro (ida)

  1. Arrastra y conecta a la secuencia el bloque de Control de flujo > Esperar.

Esperar

  1. Pulsa en el botón de Modo de este bloque y elige la opción Girosensor > Cambiar  > Ángulo
  2. Despliega el combo de comparación y elige "Cualquiera = 2". En el valor numérico introduce, por ejemplo, 170 grados. Esto significa que este bloque esperará hasta que el girosensor detecte un cambio del ángulo de giro de 170 grados. En cuanto esto ocurra dejará pasar al siguiente bloque en la secuencia de programación.

Girosensor

Nota: Se sugiere poner 170 grados para generar un giro de 180 grados. Esto compensa un retardo inevitable que se produce en el proceso de detección del girosensor, el envío y análisis del dato, la detención e inercia del motor, etc. A este efecto lo llamaremos el efecto "overturn" o de sobregiro del robot.

4. Moverse hacia delante (vuelta)

  1. En la paleta de bloques, situada en la parte inferior del área de diseño del programa, selecciona la paleta de Acciones (color verde). 
  2. Arrastra el bloque Mover la dirección para situarlo en el área de diseño del programa.

Mover la dirección

  1. Clic en el Modo del bloque Mover la dirección y elige la opción Encendido por rotaciones.
  2. Configurar los parámetros:
  • Dirección. Si el valor es 0 se moverá hacia delante en línea recta. 
  • Potencia. El valor por defecto es 50%.
  • Rotaciones. Indica el número de vueltas que ejecutará el motor. En este caso vamos a definir (similar al anterior trayecto de ida)
  • Detener al final. Si está marcada esta opción, el motor se detendrá después de ejecutar el movimiento especificado.

Mover dirección

5. Moverse en modo tanque (vuelta)

  1. Desde la paleta de Acciones (verde) arrastra y coloca el bloque Mover tanque.

Mover tanque

  1. Clic en el Modo del bloque Mover tanque y elige la opción Encendido. Así el vehículo comenzará a moverse hasta que se indique lo contrario. 

Mover tanque

  1. Define 0 en la Potencia del motor lado izquierdo y 40 en la Potencia del motor lado derecho. Con esta configuración se moverá hacia delante la rueda derecha y se mantendrá estática la rueda izquierda. De esta forma el vehículo girará sobre sí mismo en círculo tomando como centro el punto de apoyo de la rueda izquierda. 

6. Esperar hasta alcanzar una amplitud de giro (vuelta)

  1. Arrastra y conecta a la secuencia el bloque de Control de flujo > Esperar.

Esperar

  1. Pulsa en el botón de Modo de este bloque y elige la opción Girosensor > Cambiar  > Ángulo
  2. Despliega el combo de comparación y elige "Cualquiera = 2". En el valor numérico introduce, por ejemplo, 170 grados. Esto significa que este bloque esperará hasta que el girosensor detecte un cambio del ángulo de giro de 170 grados. En cuanto esto ocurra dejará pasar al siguiente bloque en la secuencia de programación.

Girosensor

Nota: Se sugiere poner 170 grados para generar un giro de 180 grados. Esto compensa un retardo inevitable que se produce en el proceso de detección del girosensor, el envío y análisis del dato así como la detención e inercia del motor.

7. Bucle 

 Ahora vamos a introducir todo esta secuencia de bloques dentro de un bucle.

  1. Desde la paleta naranja Control de Flujo arrastra el bloque Bucle para situarlo en el área de programación. 

Bucle

  1. Pulsa y arrastra sobre el panel de programación para marcar un área que incluya todo el conjunto de bloques diseñado anteriormente excepto el de Reinicio del girosensor. Arrástralo y suelta en el interior del bloque de Bucle.
  2. Clic en el botón de Modo de la esquina derecha del bloque Bucle para definir la opción Conteo. A la derecha del Modo introduce el número de veces que se ejecutará este bucle. En este caso 2 veces correspondientes a los dos recorridos de ida y vuelta.

Bucle 

8. Fin del programa

  1. Durante la ejecución de un programa éste se detiene cuando se alcanza el último bloque de la secuencia. Sin embargo es buena práctica situar un bloque Detener programa al final. Este bloque se puede encontrar en la paleta azul marino de Avanzados.
  2. La secuencia resultante de bloques sería:  

Programa

9. Guardar el proyecto

  1. En la barra de menús elige Archivo > Guardar proyecto como ...
  2. Define la carpeta destino e introduce el nombre del proyecto. Por ejemplo: cortadoraCesped
  3. Clic en el botón Aceptar.

10. Ejecutar el programa

  1. Conecta el bloque EV3 al ordenador usando el cable USB.
  2. Desde el software de Lego EV3, en el panel de Hardware clic en el botón Descargar para enviar el programa diseñado.
  3. Retira el cable USB. 
  4. En la página Archivos del bloque abre la carpeta cortadoraCesped, selecciona la entrada Programa y pulsa en el botón Centro para ejecutarlo.

Desafío 4. El circuito cuadrado

Desafio 4

Descripción

El vehículo recorre las cuatro esquinas de un cuadrado utilizando el girosensor para describir el giro de 90 grados que debe efectuar en cada esquina. 

Reglas

  1. El vehículo arranca de la esquina superior izquierda del circuito. 
  2. El comportamiento es similar en cada lateral del circuito: moverse hacia delante una distancia y girar 90 grados en el sentido horario. 

Pistas

  1. Aplica las instrucciones recogidas en esta página para el diseño del programa.
  2. Utiliza un bucle de 4 pasos.
  3. El giro se puede implementar con el bloque Mover dirección definiendo 100 de dirección y 50 de potencia. 
  4. Usar el bloque de Esperar hasta que el girosensor registre un cambio de 80 grados para detener los motores
  5. Recuerda que basta situar 80 grados para conseguir un giro de 90 teniendo en cuenta el efecto de sobregiro (overturn) del robot.