Programación basada en eventos: comunicación entre instrucciones - C++
Caja de herramientas para maestros
: el propósito de esta sección
El objetivo de la sección Repensar es que los estudiantes usen botones en el Controlador utilizando programación basada en eventos.
Esta sección incluye:
-
Descripción general de la programación basada en eventos
-
Ejemplo de & descripción general de las instrucciones de descarga del proyecto
-
Actividades de remezcla:
-
¡Coge un objeto!
-
Gemas de colores
-
¡Carrera de relevos!
-
-
Preguntas de remezcla
Consejos para profesores
- El controlador se puede emparejar con el cerebro del robot antes de la clase para ahorrar tiempo. Decida si desea completar este paso o si desea que los estudiantes lo hagan. Sigue estos pasos. Puede imprimir este artículo para que los estudiantes lo usen, si desea que emparejen el controlador con el cerebro.
- La programación basada en eventos le da al Clawbot la capacidad de desencadenar eventos o reaccionar a los desencadenantes. Este tipo de programación permite que una instrucción se comunique con otras instrucciones.
En otras palabras, el Clawbot responde a los movimientos de los joysticks del controlador. El movimiento del joystick es el disparador, y el Clawbot responde en consecuencia. -
#include "vex.h" using namespace vex; void controller_L1_Pressed(){ ArmMotor.spin(forward); } int main() { // Initializing Robot Configuration. DO NOT REMOVE! vexcodeInit(); Controller1.ButtonL1.pressed(ControllerButtonL1_pressed); }
En el ejemplo anterior, pulsar el botón L1 es el gatillo que hace girar el ArmMotor hacia arriba.
Para obtener más información sobre las instrucciones, abre la información de ayuda de C++.

Programación basada en eventos
Si tu perro te trae su correa o se sienta junto a la puerta, te está haciendo saber que necesita salir. En la escuela, cuando tu maestro hace una pregunta y te ve levantar la mano, cree que sabes la respuesta y le gustaría responder a la pregunta. Estos comportamientos también se conocen como "desencadenantes". "
Tu perro sabe que llevarte su correa o sentarse junto a la puerta es el disparador que te permite saber que necesita salir. Entonces, cuando lo ves sentado junto a la puerta con su correa, reaccionas al gatillo llevándolo afuera. Levantar la mano es el disparador que le permite al maestro saber que le gustaría responder a la pregunta. A continuación, el profesor reacciona al disparador llamándote. La programación
basada en eventos en robótica es cuando ciertos comportamientos del robot hacen que el robot haga ciertas cosas o reaccione a ciertos factores desencadenantes.
Caja de herramientas para maestros
-
Revisión de las instrucciones
- Pida a los estudiantes que abran el proyecto de ejemplo Clawbot Controller with Events en VEXcode V5.
- Como actividad de toda la clase, revise las instrucciones de programación con los estudiantes. Indique a los estudiantes que se pueden activar varios eventos dentro del proyecto Clawbot Controller with Events al mismo tiempo, lo que les permite controlar el movimiento de conducción del Clawbot, así como el movimiento del brazo y la garra del Clawbot.
Controlador: Clawbot Control
Ahora, ya está listo para descargar el proyecto de ejemplo Clawbot Controller with Events de C++ y usar el Controller para operar el Clawbot, su Brazo y su Garra, ¡todo al mismo tiempo!
Asegúrese de tener el hardware necesario y su cuaderno de ingeniería. Abra VEXcode V5.
| Cantidad | Materiales necesarios |
|---|---|
| 1 |
Clawbot |
| 1 |
Batería de robot cargada |
| 1 |
Radio VEX V5 |
| 1 |
Responsable |
| 1 |
Cable de amarre |
| 1 |
VEXcode V5 |
| 1 |
Cable USB (si utiliza un ordenador) |
| 1 |
Cuaderno de ingeniería |
Antes de comenzar la actividad...
¿Tienes cada uno de estos artículos listos? El constructor debe verificar cada uno de los siguientes aspectos:
-
¿Están todos los motores y sensores conectados al puerto correcto?
-
¿Los cables inteligentes están completamente insertados en todos los motores?
-
¿La batería está completamente cargada?
-
¿El controlador está emparejado con el cerebro del robot?