Skip to main content

ഗ്രൂവ് മെഷീൻ ചലഞ്ച് - സി++

കൈ ഉയർത്തി നഖം തുറന്നിരിക്കുന്ന VEX V5 ക്ലോബോട്ട്.
ആം അപ്പ്, ക്ലാവ് ഓപ്പൺ എന്നിവയുള്ള VEX V5 ക്ലോബോട്ട്.

ഗ്രൂവ് മെഷീൻ ചലഞ്ച്

ഈ വെല്ലുവിളിയിൽ, നിങ്ങൾ ടീമുകളായി വിഭജിക്കുകയും ലൂപ്പുകളെക്കുറിച്ചുള്ള നിങ്ങളുടെ അറിവ് ഉപയോഗിച്ച് ഒരു നൃത്ത പരിപാടിയിലൂടെ കടന്നുപോകാൻ നിങ്ങളുടെ റോബോട്ടിനെ പ്രോഗ്രാം ചെയ്യുകയും ചെയ്യും. നൃത്തം വികസിപ്പിക്കുന്നതിനും/പരീക്ഷിക്കുന്നതിനും നിങ്ങളുടെ അധ്യാപകൻ ഒരു സമയപരിധി നിശ്ചയിക്കും, കൂടാതെ നൃത്തത്തിന്റെ ദൈർഘ്യത്തിനും ഒരു സമയപരിധി നിശ്ചയിക്കും. മത്സരിക്കുന്ന ഹെഡ്-ടു-ഹെഡ് ഡാൻസ്-ഓഫ് ടീമുകളിൽ ഇല്ലാത്ത എല്ലാവരും നൃത്തങ്ങളെ വിലയിരുത്തി അവർക്ക് ഏറ്റവും മികച്ചതെന്ന് തോന്നുന്ന ടീമിന് വോട്ട് ചെയ്യും.

 

നിയമങ്ങൾ:

  • 1x1 മീറ്റർ വിസ്തൃതിയിൽ ഓരോ ക്ലോബോട്ടും ഒറ്റയ്ക്ക് നൃത്തം ചെയ്യും.
  • പ്രോജക്റ്റ് പ്രവർത്തിക്കുന്നത് നിർത്താൻ ബ്രെയിൻ സ്‌ക്രീനിലെ സ്റ്റോപ്പ് ബട്ടൺ അമർത്തുന്നതുവരെ നൃത്തം തുടരും.
  • കൈ ഉയർത്തുകയും താഴ്ത്തുകയും വേണം.
  • നഖം തുറക്കുകയും അടയ്ക്കുകയും വേണം.
  • ക്ലോബോട്ട് ഇടത്തോട്ടും വലത്തോട്ടും തിരിയണം.
  • ക്ലോബോട്ട് മുന്നോട്ടും പിന്നോട്ടും വണ്ടി ഓടിക്കണം.
  • ക്ലോബോട്ട് എന്തിലെങ്കിലും കൂട്ടിയിടിക്കുകയോ മറിഞ്ഞു വീഴുകയോ ചെയ്താൽ പദ്ധതി ഉടൻ നിർത്തണം. അതൊരു തോൽവി നൃത്തമാണ്.

ടീച്ചർ ടൂൾബോക്സ് ഐക്കൺ ടീച്ചർ ടൂൾബോക്സ്

ഈ മത്സരത്തിനായുള്ള വിധിനിർണ്ണയം പല തരത്തിൽ കൈകാര്യം ചെയ്യാൻ കഴിയും. ഇടപഴകൽ വർദ്ധിപ്പിക്കുന്നതിനുള്ള ഒരു മാർഗം, വിദ്യാർത്ഥികൾ നൃത്തം വീഡിയോയിൽ റെക്കോർഡുചെയ്യുകയും മറ്റ് ക്ലാസുകളിലെ വിദ്യാർത്ഥികൾ വിജയിയെ വോട്ടുചെയ്യാൻ അനുവദിക്കുകയും ചെയ്യുക എന്നതാണ്. അത് വളരെ അഭിലാഷകരമാണെങ്കിൽ, ഈ വെല്ലുവിളി ആരംഭിക്കുന്നതിന് മുമ്പ് നിഷ്പക്ഷരായ ജഡ്ജിമാരുടെ ഒരു പാനലിനെ നിയമിക്കുന്നതോ മറ്റ് വിദ്യാർത്ഥികളെയോ അധ്യാപകരെയോ ജീവനക്കാരെയോ കൊണ്ടുവരുന്നതോ പരിഗണിക്കുക.
താഴെയുള്ള പരിഹാരം മൂന്ന് ഉദാഹരണ നൃത്തച്ചുവടുകളുടെയും സംയോജനം മാത്രമാണ്.

// V5 ലൈബ്രറി
ഉൾപ്പെടുത്തുക #include "vex.h"

// നെയിംസ്‌പേസ് vex ഉപയോഗിച്ച് VEX ലൈബ്രറി
എളുപ്പത്തിൽ ഉപയോഗിക്കാൻ അനുവദിക്കുന്നു;

int main() {
  // റോബോട്ട് കോൺഫിഗറേഷൻ ആരംഭിക്കുന്നു. നീക്കം ചെയ്യരുത്!
  vexcodeInit();
  
  while (true) {
    ArmMotor.spinFor(മുന്നോട്ട്, 300, ഡിഗ്രി);
    ArmMotor.setStopping(ബ്രേക്ക്);

    repeat(3) {
      Drivetrain.turnFor(വലത്, 90, ഡിഗ്രി);

      repeat(2) {
        ClawMotor.spinFor(മുന്നോട്ട്, 90, ഡിഗ്രി);
        ClawMotor.spinFor(റിവേഴ്സ്, 90, ഡിഗ്രി);
      }

      Drivetrain.turnFor(ഇടത്, 90, ഡിഗ്രി);

      repeat(2) {
        ClawMotor.spinFor(മുന്നോട്ട്, 90, ഡിഗ്രി);
        ClawMotor.spinFor(റിവേഴ്സ്, 90, ഡിഗ്രി);
      }
    }

    repeat(2) {
      ArmMotor.spinFor(മുന്നോട്ട്, 300, ഡിഗ്രി);
      ആംമോട്ടർ.സെറ്റ്സ്റ്റോപ്പിംഗ്(ബ്രേക്ക്);
      ഡ്രൈവ്ട്രെയിൻ.ടേൺഫോർ(വലത്, 90, ഡിഗ്രി);

      റിപ്പീറ്റ്(9) {
        ഡ്രൈവ്ട്രെയിൻ.ടേൺഫോർ(ഇടത്, 10, ഡിഗ്രി);
        വെയിറ്റ്(.5, സെക്കൻഡ്);
      }

      ആംമോട്ടർ.സ്പിൻഫോർ(റിവേഴ്സ്, 300, ഡിഗ്രി);
    }

    ആംമോട്ടർ.സെറ്റ്വെലോസിറ്റി(80, ശതമാനം);
    ഡ്രൈവ്ട്രെയിൻ.സെറ്റ്വെലോസിറ്റി(65, ശതമാനം);

    റിപ്പീറ്റ്(2) {
      ആംമോട്ടർ.സ്പിൻഫോർ(മുന്നോട്ട്, 900, ഡിഗ്രി);

      റിപ്പീറ്റ്(3) {
        ഡ്രൈവ്ട്രെയിൻ.ടേൺഫോർ(ഇടത്, 90, ഡിഗ്രി);
        ഡ്രൈവ്ട്രെയിൻ.ടേൺഫോർ(വലത്, 90, ഡിഗ്രി);
      }

      ആംമോട്ടർ.സ്പിൻഫോർ(റിവേഴ്സ്, 900, ഡിഗ്രി);
    }
  }
}