Skip to main content

VEX V5 Clawbot con braccio alzato e artiglio aperto.
CLAWBOT VEX V5 con braccio alzato e artiglio aperto.

The Groove Machine Challenge

In questa sfida, ti dividerai in squadre e programmerai il tuo robot per passare attraverso una routine di danza usando la tua conoscenza dei loop. Il tuo insegnante stabilirà un limite di tempo per sviluppare/testare la danza e un limite di tempo per la durata della danza. Tutti coloro che non fanno parte delle squadre di ballo testa a testa in competizione giudicheranno i balli e voteranno la squadra che ritengono migliore.

Rules:

  • Ogni Clawbot ballerà uno alla volta all'interno dell'area di 1x1 metro.
  • La danza continua fino a quando non viene premuto il pulsante Stop sullo schermo di Brain per interrompere l'esecuzione del progetto.
  • Il braccio deve essere sollevato e abbassato.
  • L'artiglio deve aprirsi e chiudersi.
  • Il Clawbot deve girare a sinistra e a destra.
  • Il Clawbot deve guidare in avanti e in retromarcia.
  • Il progetto deve essere interrotto immediatamente se il Clawbot si scontra con qualcosa o cade. È un ballo perdente.

Icona della cassetta degli attrezzi del docente Cassetta degli attrezzi per insegnanti

Giudicare per questa competizione potrebbe essere gestito in diversi modi. Un modo per aumentare il coinvolgimento è fare in modo che gli studenti registrino il ballo e che gli studenti di altre classi votino il vincitore. Se questo è troppo ambizioso, prendi in considerazione la nomina di una giuria imparziale prima di iniziare questa sfida o di coinvolgere altri studenti, insegnanti o personale.

La soluzione di seguito è semplicemente una combinazione di tutti e tre i passi di danza di esempio messi insieme.

# Importazioni di librerie
da importazione vex *

# Iniziare il
    codice del progetto
mentre True:
    arm_motor.spin_for (FORWARD, 300, DEGREES) arm_motor.set_stopping (
        BRAKE)
    

        
        for repeat_count in range(3): drivetrain.turn_for (
            RIGHT, 90, DEGREES)

        for repeat_claw in range
            (2):
            
        claw_motor.spin_for (REVERSE, 90, DEGREES) claw_motor.spin_for (FORWARD, 90,
            DEGREES)
            wait (5,
            MSEC) drivetrain.turn_for (LEFT, 90, DEGREES)

    for
            
        repeat_claw in range(2): claw_motor.spin_for (REVERSE
        , 90, DEGREES) claw_motor.spin_for
        (FORWARD,
        90, DEGREES) wait (5, msec)
            wait (5
            , MSEC)
        

    
    for repeat_count in range (2
            
        ): arm_motor.spin_for (FORWARD,
        300, DEGREES) arm_motor.stopping

    (BRAKE) drivetrain.turn_for
    (RIGHT, 90, turns in range): 9,
        drivetrain_turn (LEFT, 10,
        
        msec)
            wait (waitfor, 5,
            msec_spin_spin_for (waitfor), waitfor
            (reverse, 300, msec) waitfor (REVERSE
            
        , MSEC) wait_motor.set_spin_for (forward
        , 65, 65%)