Skip to main content

Icono de la caja de herramientas del profesor Caja de herramientas para maestros - Esquema de la actividad

  • Esta exploración introducirá a los estudiantes a la programación de comportamientos repetitivos mediante el uso de bucles de repetición o eternos.

  • Aprender a programar usando bucles de repetición y para siempre permite a los estudiantes ahorrar tiempo al construir un proyecto que utiliza las mismas acciones repetidas. Para obtener más información sobre las instrucciones utilizadas en un proyecto de texto, visite la información de ayuda.

¡El Clawbot V5 está listo para moverse!

Esta exploración te dará las herramientas para poder comenzar a crear algunos proyectos geniales que usen bucles.

  • Instrucciones de Python VEXcode V5 que se utilizarán en esta exploración:
    • drivetrain.drive_for(ADELANTE, 300, MM)
    • drivetrain.turn_for(DERECHA, 90, GRADOS)
    • claw_motor.spin_for(MARCHA ATRÁS, 70, GRADOS)
    • arm_motor.spin_for(ADELANTE, 360 GRADOS)
    • bumper_b.pressing()
    • mientras que Verdadero: 
    • para repeat_count en el rango(4): 
    • espera(5, SEGUNDOS)

Puede utilizar la información de Ayuda dentro de VEXcode V5 para obtener información sobre los comandos individuales de Python. 

Imagen que muestra el área de trabajo de VEXcode V5 con las notas de ayuda para el comando Drive abierto

Icono de consejos del profesor Consejos para profesores

Si esta es la primera vez que el estudiante usa VEXcode V5, puede leer una variedad de artículos en la Biblioteca VEX.

Imagen de la sección VEXcode V5 de la Biblioteca VEX

Icono de consejos del profesor Consejos para maestros - Uso de autocompletar

Autocompletar es una función en VEXcode V5 que predice el resto del comando que está escribiendo. Mientras los estudiantes trabajan en VEXcode V5, anímelos a usar la función Autocompletar para ayudar con la sintaxis de Python. Puede notar una función de autocompletar cuando comience a escribir la instrucción. Use las teclas "Arriba" y "Abajo" para seleccionar el nombre que desee, luego presione "Tab" o (Intro/Retorno) en su teclado para hacer la selección. Para obtener más información sobre el uso de Autocompletar, consulta el artículo de Python.

Imagen de la función de autocompletar en un proyecto de Python

Asegúrese de tener el hardware necesario, su portátil de ingeniería y VEXcode V5 descargados y listos.

Materiales requeridos:
Cantidad Materiales necesarios
1

Kit de inicio VEX V5 Classroom (con firmware actualizado)

1

VEXcode V5 (última versión, Windows, macOS)

1

Cuaderno de ingeniería

1

Ejemplo de proyecto Clawbot Template (Drivetrain 2-motor, No Gyro)

Paso 1:  Empecemos a programar con bucles

  • Antes de comenzar su proyecto, seleccione la plantilla de proyecto correcta. El proyecto de ejemplo Clawbot Template (Drivetrain 2-motor, No Gyro) contiene la configuración del motor del Clawbot. Si no se utiliza la plantilla, el robot no ejecutará el proyecto correctamente.
  • Seleccione Archivo y Abrir ejemplos.

    Imagen que muestra el menú Archivo abierto en VEXcode V5 que muestra la opción Abrir ejemplos

     

  • Desplácese por los diferentes proyectos de ejemplo. Estos proyectos demuestran una variedad de acciones que su Clawbot puede realizar. Seleccione y abra el proyecto de ejemplo Clawbot Template (Drivetrain 2-motor, No Gyro).

    Imagen que muestra los proyectos de ejemplo con un cuadro rojo alrededor del proyecto de plantilla Speedbot (transmisión de 2 motores, sin giroscopio)

     

  • Nombra el proyecto RepeatingActions.

    Imagen que muestra el nombre del proyecto de acciones repetidas en VEXcode V5

  • Escriba el siguiente código:

    # Importaciones
    de la biblioteca desde la importación de Vex *
    
    
    # Comenzar el código del proyecto # Avanza 300 mm giros de 90 grados
    
    durante 4 iteraciones para el recuento de repeticiones en el rango
        (4): drivetrain.drive_for (ADELANTE, 300,
        MM) DRIVETRAIN.TURN_FOR (DERECHA, 90, GRADOS)
        espera(5, SEGUNDOS)

Revise el proyecto y luego haga lo siguiente en su cuaderno de ingeniería.

  1. Predecir lo que el proyecto hará con el Clawbot. Explica más que el hecho de que el proyecto se repite.

    ¿Qué está repitiendo? ¿Qué está haciendo el Clawbot?

  2. Escribe tu predicción, pero no dividas el proyecto corto en más de dos partes.

Icono de la caja de herramientas del profesor Caja de herramientas para maestros - Respuestas

  1. Este proyecto tendrá el robot: avance 300 milímetros , gire a la derecha 90 grados y luego espere 5 segundos 4 veces para completar un cuadrado. En lugar de usar las mismas 3 instrucciones 4 veces, la instrucción repetida reduce la cantidad a solo 1 vez. La instrucción de repetición repite las acciones de conducir hacia adelante y luego girar.

  2. La predicción podría ser simplemente "El Clawbot se mueve en un cuadrado". Esta sería una forma sucinta de capturar los movimientos repetidos del Clawbot sin ningún contexto.

Los cuadernos de ingeniería de los estudiantes se pueden mantener y calificar individualmente o en equipo. Los enlaces anteriores proporcionan una rúbrica diferente para cada enfoque. Siempre que se incluya una rúbrica en la planificación educativa, es una buena práctica explicar la rúbrica o al menos dar copias a los estudiantes antes de que comience la actividad.

  • Guarde, descargue y ejecute el proyecto Acciones repetidas.

    Captura de pantalla que muestra el título del proyecto Acciones repetidas en VEXcode V5

  • Revise sus explicaciones del proyecto en su cuaderno de ingeniería y añada notas para corregirlas según sea necesario.

Paso 2: Ejecute el proyecto y observe el robot

Una comparación de dos fragmentos de código de Python para robots VEX. El fragmento superior utiliza la entrada del sensor para determinar cuándo girar, con un bucle de tiempo que verifica si se presiona el interruptor del parachoques; si se presiona, el robot gira a la derecha 90 grados, de lo contrario, avanza. El fragmento inferior utiliza una distancia fija para determinar cuándo girar, con un bucle for que impulsa el robot hacia adelante 300 mm, gira a la derecha 90 grados y espera 5 segundos, repitiendo esta secuencia cuatro veces

Vuelva a mirar el proyecto Acciones repetidas (el segundo proyecto). Este proyecto repetirá el comportamiento de avance y luego de giro cuatro veces. Se utiliza una estructura de bucle de "repetición" (utilizando un bucle for) cuando se desea utilizar un conjunto de comportamientos un cierto número de veces.

Si la estructura de repetición se reemplaza con una estructura de
bucle while, el robot repetirá los comportamientos de avance y luego de giro "while" la condición es verdadera. También puede establecer la condición en "true" para que el bucle while continúe para siempre.

En el primer proyecto, la entrada de un sensor se utiliza para determinar cuándo comenzar a girar. El proyecto de la derecha utiliza una distancia fija del tren de transmisión para determinar cuándo comenzar a girar.

Para verificar continuamente la entrada de un sensor, se utiliza una instrucción if else junto con un
bucle while. En el proyecto de la izquierda, el robot girará a la derecha cuando se presione el sensor "bumper_b", de lo contrario, el robot avanzará para siempre si no se presiona el sensor "bumper_b". Para comprobar continuamente el valor del sensor bumper_b, la instrucción if está dentro de un bucle while.

El primer proyecto es un caso de uso práctico de una estructura que se repite para siempre, utilizando
 bucles while y  if juntos. Imagina una barredora autónoma que continúa conduciendo hacia adelante hasta que choca contra una pared u objeto, y luego gira antes de continuar conduciendo.

Amplía tu icono de aprendizaje Amplíe su aprendizaje

Para explorar más a fondo cómo puede usar bucles con condicionales, haga que los estudiantes construyan un proyecto de Floor Sweeper en VEXcode V5.

  • Comience haciendo que los estudiantes monten y conecten los interruptores del parachoques.
  • Pida a los estudiantes que abran el proyecto de ejemplo Clawbot Template (Drivetrain 2-motor, No Gyro).

     

  • Haga que los estudiantes configuren el interruptor de parachoques de 3 cables en VEXcode V5, seleccione el dispositivo de 3 cables que estáutilizando para PARACHOQUES y seleccione el puerto a B.Imagen de la configuración del dispositivo en VEXcode V5 con la opción Bumper resaltadaImagen de la configuración del dispositivo para el interruptor de parachoques con el puerto B resaltado
     
  • Haga que los estudiantes nombren el proyecto como Floor Sweeper.

  • Pida a los estudiantes que construyan el siguiente proyecto.

    # Library importa
    de Vex import *
    
    import random
    
    # Begin project code
    while True:
        while (not bumper_b.pressing ()):
            drivetrain.drive (FORWARD)
            wait(5, MSEC)
        
        drivetrain.stop ()
    
        #El método random.randomint () devuelve un número entero aleatorio entre el rango especificado
        #Pasa los valores mínimo y máximo del rango a los parámetros
        drivetrain.turn_for (RIGHT, (90+random.randint (0, 90)),DEGREES)
        wait(5, MSEC)

Si los estudiantes necesitan ayuda con alguna de las instrucciones, refiéralos a la información de Ayuda.

Pida a los estudiantes que 
descarguen y ejecuten el proyecto para observar cómo se mueve el robot. Luego, comience una discusión en clase y pida a los estudiantes que expliquen por qué se usó la estructura Forever en lugar de una estructura repetida.

Los estudiantes deben tener en cuenta que se utiliza una estructura Forever porque este proyecto verifica continuamente si se está presionando el interruptor del parachoques.

Paso 3: ¡El desafío de los bucles cuadrados!

Un diagrama que muestra un camino cuadrado verde con flechas que indican la dirección del movimiento alrededor del cuadrado. Flechas naranjas adicionales fuera del cuadrado apuntan en diferentes direcciones, correspondientes a los giros y movimientos necesarios para seguir el camino

  • Haz que tu Clawbot conduzca en una plaza.
  • Antes de cada giro, la garra debe abrirse y cerrarse, y el brazo debe levantarse y bajarse.
  • El Clawbot no puede conducir a lo largo de un lado de la plaza más de una vez.
  • Puede usar el proyecto RepeatingActions desde arriba como punto de partida, pero guárdelo como SquaredLoops  antes de realizar cualquier cambio.

Imagen que muestra el nombre del proyecto Squared Loops en la barra de herramientas en VEXcode V5

En su cuaderno de ingeniería, planifique lo siguiente:

  • Planifique su solución y prediga lo que cada instrucción en su proyecto hará que haga el Clawbot.
  • Descargue y ejecute su proyecto para probarlo antes de enviarlo.
  • Realice cambios en el proyecto según sea necesario y tome notas sobre lo que se cambió durante las pruebas.

Icono de la caja de herramientas del profesor Teacher Toolbox - Solución

La siguiente es una posible solución al Desafío de Bucles Cuadrados:

# Library import
from vex import *

# Begin project code
for repeat_count in range(4):
    drivetrain.drive_for (FORWARD, 300, MM)
    claw_motor.spin_for (REVERSE, 70, DEGREES)
    arm_motor.spin_for (FORWARD, 360, DEGREES)
    claw_motor.spin_for (FORWARD, 70, DEGREES)
    arm_motor.spin_for (REVERSE, 360, DEGREES)
    drivetrain.turn_for (RIGHT, 90, DEGREES)
    wait(5, MSEC)

Puede proporcionar a los estudiantes una rúbrica de programación para calificar sus proyectos. Los cuadernos de ingeniería de los
estudiantes se pueden mantener y calificar individualmente o en equipo.