Skip to main content
Portal del profesor

Programación de dos botones

Icono de la caja de herramientas del profesor Caja de herramientas para maestros : el propósito de esta actividad

En la página anterior, el estudiante estaba programando el brazo para girar hacia arriba usando el botón Brain Up. Esta página se basará en el proyecto anterior para programar también el brazo para girar hacia abajo utilizando el botón Brain Down.

VEXcode IQ If then else bloquear desde la caja de herramientas

Esta actividad presentará a los estudiantes la programación con bloques [If then else], así como el uso de bloques de detección y de operador para que el robot verifique si se presionan los botones Brain Up o Down. Si se pulsa el botón Brain Up, el brazo del Clawbot se levantará. Si se pulsa el botón Brain Down, el brazo del Clawbot bajará. Esto se basa en la actividad anterior y también sentará las bases para el Desafío de la interfaz de usuario en la sección Repensar.

Para el Desafío de la interfaz de usuario, los estudiantes deberán programar su Clawbot para levantar el brazo, bajar el brazo, abrir la garra y cerrar la garra, todo con los botones del IQ Robot Brain.

Para obtener más información sobre el botón [If then], [If then else], <Brain pulsado> o los bloques [Spin], visite la información de ayuda dentro de VEXcode IQ. Para obtener más información sobre esta herramienta de ayuda integrada, haga clic aquí.

El siguiente es un resumen de lo que sus estudiantes harán en esta actividad:

  • Utilice el ArmUp2 existente para construir el  proyecto ArmUpDown proporcionado y predecir lo que hará el proyecto.
  • Ver un diagrama de flujo para ayudar a explicar el flujo de los bloques en el proyecto.
  • Refina sus explicaciones de lo que hace el proyecto ArmUpDown.
  • Mira el vídeo tutorial If Then Else Blocks.
  • Edite su proyecto utilizando los bloques [If then else].
  • Deténgase y discuta: los estudiantes reflexionarán sobre sus predicciones sobre lo que el proyecto hará que el Clawbot haga en comparación con sus observaciones reales.
  • Programe la garra utilizando el mismo esquema del proyecto de programación del brazo.
Materiales requeridos:
Cantidad Materiales necesarios
1

Kit VEX IQ Super

1

VEXcode IQ

1

Cuaderno de ingeniería

1

Plantilla de Clawbot (transmisión)

Icono de la caja de herramientas del profesor Teacher Toolbox

Para obtener sugerencias sobre estrategias de enseñanza para esta sección, revise la columna Entrega de la Guía de ritmo para hacer o no hacer (Google / .docx / .pdf).

¡El brazo Clawbot está listo para moverse hacia arriba y hacia abajo!

Esta actividad te dará las herramientas para programar tu robot con comportamientos condicionales.
El bloque [If then else] es el foco principal dentro de la actividad, pero también se utilizan otros bloques de detección, control y operador.

Bloques de muestra de la caja de herramientas VEXcode IQ - Botón Brain pulsado, no operador, espere hasta, si es así, y si es así bloquea.

Puede utilizar la información de ayuda dentro de VEXcode IQ para obtener información sobre los bloques. Para obtener orientación sobre el uso de la función de ayuda, consulte el tutorial Uso de la ayuda.

Barra de herramientas VEXcode IQ con el icono de tutoriales en un cuadro rojo, a la derecha del menú Archivo.

Paso 1: Programación para mover el brazo hacia abajo.

En la página anterior, programó el brazo del Clawbot para que girara cuando se pulsara el botón Brain Up. Pero, ¿y si también bajamos el brazo? Primero revisemos el proyecto anterior de ArmUp2.

hola

¿Sería posible usar el mismo bloque [If then] para girar el brazo hacia arriba y también girar el brazo hacia abajo? ¡Vamos a probarlo! Crea el siguiente proyecto editando tu proyecto ArmUp2 ya existente.

Arma el proyecto 2 con un bloque If then adicional añadido debajo del primero, dentro del bucle Forever. El segundo bloque If then lee Si se pulsa el botón Brain Down, luego gire el motor del brazo hacia abajo, espere hasta que no se pulse el botón Brain Down. Luego, el bloque del motor del brazo de parada está debajo del If then.

  • Guarde el proyecto como ArmUpDown. Si los estudiantes necesitan ayuda para guardar el proyecto, consulte el tutorial Nombrar y guardar.

    Cuadro de diálogo Nombre del proyecto en la barra de herramientas VEXcode IQ. Se muestra la ranura 3 y el nombre del proyecto dice Arm Up Down.

  • Compruebe que el nombre del proyecto ArmUpDown  esté ahora en la ventana en el centro de la barra de herramientas.
  • Predecir lo que el proyecto hará con el Clawbot en su cuaderno de ingeniería. Explicar los comportamientos tanto del usuario como del Clawbot.
  • Pruebe para ver si su predicción de lo que el proyecto tiene que hacer el Clawbot es correcta.
    • Descargue el proyecto a la ranura 3 en el Clawbot y luego ejecútelo.
    • Para obtener ayuda para descargar y ejecutar un proyecto, consulte el tutorial en VEXcode IQ que explica cómo descargar y ejecutar un proyecto.
      El icono del tutorial dice Descargar y ejecutar un proyecto con un icono de descarga y una flecha arriba.
  • Revisa tus explicaciones del proyecto y añade notas para corregirlas según sea necesario.

Icono de consejos del profesor Consejos para profesores

Si esta es la primera vez que el estudiante usa VEXcode IQ, también puede ver los tutoriales en la barra de herramientas para aprender otras habilidades básicas.

Barra de herramientas VEXcode IQ con el icono de tutoriales en un cuadro rojo, a la derecha del menú Archivo.

Icono de la caja de herramientas del profesor Teacher Toolbox

El proyecto que los estudiantes construyen arriba funcionará. Cuando se pulsa el botón Brain Up, el brazo girará hacia arriba y cuando se pulsa el botón Brain Down, el brazo girará hacia abajo. A pesar de que el proyecto funciona tal como está, no está escrito de manera óptima. Podría haber una instancia en la que ambas condiciones puedan ser ciertas al mismo tiempo. Además, observe que, dado que la condición del botón Brain Up que comienza a presionarse es primero, si se mantiene presionado el botón Brain Up y luego también se presiona Brain Down, el brazo continuará girando hacia arriba. Esa acción no se detendrá hasta que se suelte el botón Brain Up. Por lo tanto, el proyecto se reescribirá en el siguiente paso para incluir un bloque [If then else] para evitar estos posibles problemas.

Icono de la caja de herramientas del profesor Caja de herramientas para maestros - Deténgase y discuta

Ahora que los estudiantes han probado el proyecto, pregúnteles cómo comparan sus predicciones con sus observaciones. Facilite la discusión haciendo las siguientes preguntas:

  • ¿Tu predicción era la misma que la que habías observado?

  • ¿Qué parece ser feliz en el proyecto?

  • ¿Se comprueban las condiciones de los botones Arriba y Abajo solo una vez?

  • ¿Crees que el proyecto podría reorganizarse para funcionar de manera más eficiente?

Paso 2: Comprender el flujo del proyecto.

En el paso anterior, el proyecto hizo subir y bajar el brazo. Sin embargo, dado que la condición del botón Brain Up es primero presionado, si se mantiene presionado el botón Brain Up y luego también se presiona Brain Down, el brazo continuará girando hacia arriba ya que esa acción no se detendrá hasta que se suelte el botón Brain Up. Vea el siguiente diagrama de flujo que explica el flujo del proyecto.

Imagen de flujo del proyecto que muestra cómo se ejecuta el proyecto para tomar una decisión. Si se pulsa el botón cerebro arriba se etiqueta como la condición, si se pulsa/Verdadero, entonces los bloques de abajo funcionarán en orden hasta la siguiente condición. Si no se pulsa/false, una línea roja indica que se omiten los bloques y el proyecto se mueve para comprobar la segunda condición. La misma ramificación ocurre para la segunda condición, si se presiona el botón de cerebro hacia abajo.

Por lo tanto, el proyecto puede reemplazar los bloques [If then] con bloques [If then else] para que solo una instancia pueda ser verdadera en cualquier momento.

Vea el siguiente vídeo tutorial sobre los bloques [If then else]:

Comience viendo el video del tutorial If-Then-Else en VEXcode IQ.

El icono del tutorial dice If then else blocks en la parte inferior y muestra el contorno de los bloques en la parte superior.

Usar los bloques [If then else] también eliminará la necesidad de los bloques [Wait until] porque el brazo continuará girando hasta que se suelte el botón Brain Up. Esto ocurre porque la parte "else" de [If then else] nunca se alcanza hasta que la condición del botón Brain Up es falsa (liberada).

El bloque [Forever] permite comprobar continuamente la primera condición.

Proyecto VEXcode IQ con un bucle para siempre unido al bloque Cuando se inicia. Dentro del bucle Forever hay un bloque if then else. La rama If lee el botón If Brain Up pulsado, luego gire el motor del brazo hacia arriba. La rama else contiene otro bloque if then else, que lee si se pulsa el botón Brain Down y luego gira el motor del brazo hacia abajo, else, detiene el motor del brazo.

Exploremos cómo cambiar el proyecto añadiendo bloques [If then else]. El motor del brazo ahora continuará girando hasta que el botón Brain Up ya no esté presionado (liberado). Debido al bloque [Forever], esta condición continuará verificándose hasta que sea falsa.

Una vez que la condición del botón Brain Up sea falsa, el proyecto continuará al siguiente bloque, que es para verificar la condición si se presiona el botón Brain Down. Si la condición del botón Brain Down pulsado es verdadera, entonces el brazo girará hacia arriba. Nuevamente, debido al bloque [Forever], esta condición continuará verificándose hasta que sea falsa.

Una vez que la condición del botón Brain Up sea falsa, el proyecto continuará al siguiente bloque, que es el bloque [Stop motor]. Por lo tanto, el motor del brazo solo se detendrá cuando ambas condiciones sean falsas (no se pulsa ningún botón).

Imagen de flujo del proyecto que muestra cómo se ejecuta el proyecto para tomar una decisión. Primero se comprueba la condición del botón If Brain up pulsado, si es cierto el proyecto se mueve para hacer girar el motor del brazo hacia arriba y vuelve al principio. Si la condición es falsa, se marca la segunda condición del botón Cerebro abajo pulsado. Si se pulsa el botón cerebro abajo/verdadero, el motor del brazo giratorio hacia abajo funciona y luego vuelve al principio. Si no se pulsa false, se ejecuta el bloque del motor del brazo de parada.

Icono Motivar discusión Motivar la discusión

P: ¿Cuál es la progresión del flujo del proyecto si la condición del botón Brain Up que se está presionando es FALSA (liberada)?
R: Si la condición es falsa, el flujo del proyecto continuará verificando la condición del botón Brain Down que se está presionando.

P: ¿Cuál es el propósito de los bloques [If then else] en el proyecto anterior?
R: El uso de los bloques [If then else] permite que solo una instancia sea verdadera a la vez. Por lo tanto, los botones Brain Up y Brain Down no pueden ser verdaderos al mismo tiempo utilizando los bloques [If then else], ya que la segunda condición del botón Brain Down pulsado ni siquiera sería una opción a menos que la primera condición del botón Brain Up pulsado fuera falsa. El otro propósito es mejorar la eficiencia de la programación.

P: ¿Cuál es la progresión del flujo del proyecto si ambas condiciones de los botones Arriba y Abajo que se presionan son falsas?
R: Si ambas condiciones son falsas, el flujo del proyecto continuará hasta el bloque [Stop motor] antes de volver a la parte superior de la pila repitiéndose para siempre.

Paso 3: Programación con bloques [If then else].

Usemos los bloques [If then else]:

  • Añade los bloques [If then else] a tu proyecto ArmUpDown para que tu proyecto tenga el siguiente aspecto:

    Proyecto VEXcode IQ con un bloque Forever adjunto al bloque When started. Dentro del bloque Forever hay un bloque If then else. La rama if lee si el botón cerebro arriba está pulsado, haga girar el motor del brazo hacia arriba. La rama else contiene otro bloque if then else que lee if brain down button pressed then spin arm motor down, else stop arm motor.

  • Guarde el proyecto como ArmUpDown2. Si los estudiantes necesitan ayuda para guardar el proyecto, consulte el tutorial Nombrar y guardar.

    Cuadro de diálogo Nombre del proyecto en la barra de herramientas VEXcode IQ. Se selecciona la ranura 4 y el nombre del proyecto dice Arm Up Down 2.

  • Descargue el proyecto a la ranura 4 en el Clawbot y luego ejecútelo.
  • Para obtener ayuda para descargar y ejecutar un proyecto, consulte el tutorial en VEXcode IQ que explica cómo descargar y ejecutar un proyecto.
    El icono del tutorial dice Descargar y ejecutar un proyecto en la parte inferior con un icono de descarga y una flecha arriba.
  • Pruebe para ver si el brazo ahora girará hacia arriba cuando se pulsa el botón Brain Up y girará hacia abajo cuando se pulsa el botón Brain Down.
  • Compruebe que cuando no se pulsan (sueltan) los botones Cerebro arriba y Abajo, el motor del brazo se detiene.
  • Escriba sus comentarios sobre cómo se comportó el Clawbot antes y después de añadir los bloques if then else a su proyecto en su cuaderno de ingeniería.

Icono de la caja de herramientas del profesor Caja de herramientas para maestros - Deténgase y discuta

Después de que los estudiantes hayan probado el proyecto antes y después de agregar el bloque [If then else], discuta con los estudiantes cómo esto permite que el brazo continúe girando hasta que se suelte el botón Brain Up. Pida a los estudiantes que compartan sus comentarios de sus cuadernos de ingeniería. Facilite una discusión haciendo las siguientes preguntas:

  • ¿Ves que el Clawbot se comporta de manera diferente entre usar los bloques [If then else] en comparación con solo los bloques [If then]?

  • ¿Por qué cree que la eficiencia del programa es importante?

  • ¿La condición del botón Brain Up solo se verifica una vez en el proyecto?

Los cuadernos de ingeniería de los estudiantes se pueden mantener y calificar individualmente (Google / .docx / .pdf) o en equipo (Google / .docx / .pdf). 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.

Icono de la caja de herramientas del profesor Teacher Toolbox

Es posible que los estudiantes no vean mucha diferencia en cómo se comporta su Clawbot entre el uso de los bloques [If then else] en comparación con los bloques [If then]. Si los estudiantes no pueden ver físicamente una gran diferencia, facilite una discusión sobre la eficiencia de la programación y cómo la simplificación de un proyecto puede conducir al uso de menos bloques. Usar menos bloques en un proyecto puede reducir la cantidad de errores potenciales.

Paso 4: Programación de la garra.

En el paso anterior, el proyecto se optimizó para ejecutarse de manera más eficiente mediante el uso de bloques [If then else]. En el ejemplo anterior, el brazo se manipuló con los botones Cerebro arriba y Abajo.

Usando exactamente el mismo esquema del proyecto, la Garra también se puede manipular.

  • Revise el proyecto ArmUpDown2 y cambie los bloques [Spin] a ClawMotor en lugar de ArmMotor utilizando el menú desplegable.

    Asegúrese de que el botón Brain Up haga girar la Garra "abrir" y que el botón Brain Down haga girar la Garra "cerrar" utilizando los menús desplegables.

    Arme el proyecto Arriba Abajo 2 con los bloques del motor giratorio configurados en el motor de la garra. El bloque del motor de parada tiene la selección de parámetros abierta con el motor de brazo seleccionado.

  • Guarde el proyecto como ClawUpDown. Si los estudiantes necesitan ayuda para guardar el proyecto, consulte el tutorial Nombrar y guardar.

    Cuadro de diálogo Nombre del proyecto en la barra de herramientas VEXcode IQ. Se selecciona la ranura 1 y el nombre del proyecto dice Claw Up Down.

  • Descargue el proyecto a la ranura 1 en el Clawbot y luego ejecútelo.
  • Para obtener ayuda para descargar y ejecutar un proyecto, consulte el tutorial en VEXcode IQ que explica cómo descargar y ejecutar un proyecto.
    El icono del tutorial dice Descargar y ejecutar un proyecto en la parte inferior.
  • Pruebe para ver si la garra ahora se abrirá cuando se presione el botón Brain Up y se cerrará cuando se presione el botón Brain Down.
  • Compruebe que cuando no se pulsan (sueltan) los botones Cerebro arriba y Abajo, el motor de la garra se detiene.
  • Escriba sus comentarios sobre cómo se comportó el Clawbot antes y después de añadir los bloques if then else a su proyecto en su cuaderno de ingeniería.

Icono de la caja de herramientas del profesor Teacher Toolbox

Ahora que los estudiantes tienen las habilidades para manipular el brazo y la garra usando botones, pídales que hagan una lluvia de ideas sobre cómo pueden realizar las cuatro acciones en el mismo proyecto (brazo arriba, brazo abajo, garra abierta y garra cerrada).
Los estudiantes utilizarán otro bloque [if then else] en la sección de replanteamiento para permitir que su robot realice las cuatro acciones.

Amplía tu icono de aprendizaje Amplíe su aprendizaje : configure el bloque de detención del motor

Si los estudiantes programan su robot para subir y bajar el brazo, el peso de la garra podría hacer que el brazo se desplace hacia abajo.
En este caso, se puede utilizar el bloque [Set motor Stoping] para que el brazo no se caiga debido a la gravedad y al peso de la garra. Este bloque se puede utilizar al comienzo del proyecto y se aplicará a todos los bloques motores futuros durante el resto del proyecto.

Inicio de la información de ayuda para el bloque de parada del motor configurado. El bloque se muestra con los parámetros configurados en el motor de la garra y la parada configurada en el freno. El texto dice Establece el comportamiento del motor inteligente VEX IQ una vez que deja de moverse.

El bloque de parada del motor configurado tiene tres configuraciones:

  • El freno hace que el motor se detenga inmediatamente.
  • Coast permite que el motor gire gradualmente hasta detenerse.
  • La retención hace que el motor se detenga inmediatamente y lo devuelva a su posición parada si se mueve.