Programación de dos botones
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.
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.
Cantidad | Materiales necesarios |
---|---|
1 |
Kit VEX IQ Super |
1 |
VEXcode IQ |
1 |
Cuaderno de ingeniería |
1 |
Plantilla de Clawbot (transmisión) |
¡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.
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.
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.
¿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.
-
Guarde el proyecto como ArmUpDown. Si los estudiantes necesitan ayuda para guardar el proyecto, consulte el tutorial Nombrar y guardar.
- 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.
- Revisa tus explicaciones del proyecto y añade notas para corregirlas según sea necesario.
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.
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.
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.
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.
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.
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).
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:
-
Guarde el proyecto como ArmUpDown2. Si los estudiantes necesitan ayuda para guardar el proyecto, consulte el tutorial Nombrar y guardar.
- 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.
- 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.
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.
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. -
Guarde el proyecto como ClawUpDown. Si los estudiantes necesitan ayuda para guardar el proyecto, consulte el tutorial Nombrar y guardar.
- 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.
- 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.
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í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.
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.