കൺട്രോളറുകളും ലൂപ്പുകളും - സി++
കൺട്രോളറുകളും ലൂപ്പുകളും
മത്സരങ്ങളിൽ, ടീമുകൾ അവരുടെ റോബോട്ടുകളെ കൺട്രോളറുകൾ ഉപയോഗിച്ച് വയർലെസ് ആയി കൈകാര്യം ചെയ്യണം. ഉപയോക്താവിൽ നിന്നുള്ള ഇൻപുട്ടിനെ അടിസ്ഥാനമാക്കി റോബോട്ട് അപ്ഡേറ്റ് ചെയ്യുന്നതിനായി കൺട്രോളർ പ്രോഗ്രാം ചെയ്തിരിക്കുന്നു. പ്രോജക്റ്റിൽ ലൂപ്പുകൾ ഉപയോഗിക്കുന്നതിനാൽ റോബോട്ട് അപ്ഡേറ്റ് ചെയ്ത ഇൻപുട്ട് വിവരങ്ങൾ ആവർത്തിച്ച് പരിശോധിക്കുന്നു. ഏതൊക്കെ ബട്ടണുകൾ അമർത്തിയിട്ടുണ്ടെന്നും അല്ലെങ്കിൽ ജോയ്സ്റ്റിക്കുകൾ എത്രത്തോളം അമർത്തിയിട്ടുണ്ടെന്നും വേഗത്തിൽ പരിശോധിക്കാൻ ലൂപ്പുകൾ പ്രോജക്റ്റിനെ അനുവദിക്കുന്നു. പരിശോധിച്ചുകഴിഞ്ഞാൽ, ഈ വിവരങ്ങൾ റോബോട്ടിലേക്ക് വേഗത്തിൽ കൈമാറുന്നതിനാൽ അത് കൺട്രോളറുടെ നിർദ്ദേശങ്ങളോട് വേഗത്തിൽ പ്രതികരിക്കും.
VEXcode V5-ൽ നിന്നുള്ള ടാങ്ക് ഡ്രൈവ് ഉദാഹരണ പ്രോജക്റ്റ് താഴെ കൊടുക്കുന്നു. ഈ പ്രോജക്റ്റിലെഫോറെവർലൂപ്പ് മോട്ടോറുകളുടെ പ്രവേഗം സജ്ജീകരിക്കുന്നതിന് ആക്സസുകൾ 2 ഉം 3 ഉം എന്നെന്നേക്കുമായി സ്ഥാനങ്ങൾ പരിശോധിക്കുന്നു.
// V5 ലൈബ്രറി
ഉൾപ്പെടുത്തുക #include "vex.h"
// നെയിംസ്പേസ് vex ഉപയോഗിച്ച് VEX ലൈബ്രറി
എളുപ്പത്തിൽ ഉപയോഗിക്കാൻ അനുവദിക്കുന്നു;
int main() {
// റോബോട്ട് കോൺഫിഗറേഷൻ ആരംഭിക്കുന്നു. നീക്കം ചെയ്യരുത്!
vexcodeInit();
// പ്രോജക്റ്റ് കോഡ് ആരംഭിക്കുക.
// മോട്ടോറുകൾ കൺട്രോളർ ആക്സിസ് പോസ്റ്റിയോൺസ്
ആയി സജ്ജീകരിക്കുന്നതിനുള്ള മെയിൻ കൺട്രോളർ ലൂപ്പ് while (true) {
LeftMotor.setVelocity(Controller1.Axis3.position(), percent);
RightMotor.setVelocity(Controller1.Axis2.position(), percent);
LeftMotor.spin(forward);
RightMotor.spin(forward);
wait(5, msec);
}
return 0;
}കൺട്രോളർ ഇല്ലാത്ത സ്വയംഭരണ പ്രോഗ്രാമിംഗിന് പോലും ലൂപ്പുകൾ പ്രധാനമാണ്. ഒരു പ്രോജക്റ്റിനുള്ളിൽ ആവർത്തിച്ചുള്ള കമാൻഡുകൾ ലളിതമാക്കാനും ക്രമീകരിക്കാനും ഒരു ലൂപ്പ് സഹായിക്കുന്നു.
നിങ്ങളുടെ പഠനം വിപുലീകരിക്കുക
ഈ പ്രവർത്തനം വികസിപ്പിക്കുന്നതിന്, ആർക്കേഡ് നിയന്ത്രണവും ടാങ്ക് നിയന്ത്രണവും തമ്മിലുള്ള വ്യത്യാസങ്ങൾ പര്യവേക്ഷണം ചെയ്യാൻ നിങ്ങളുടെ വിദ്യാർത്ഥികളോട് ആവശ്യപ്പെടുക. VEXcode V5-ൽ കാണുന്ന മാതൃകാ പ്രോജക്ടുകൾ വിദ്യാർത്ഥികൾക്ക് പിന്തുടരാം.

നാല് ഉദാഹരണ പ്രോജക്ടുകൾ ഉണ്ട്: ലെഫ്റ്റ് ആർക്കേഡ്, റൈറ്റ് ആർക്കേഡ്, സ്പ്ലിറ്റ് ആർക്കേഡ്, ടാങ്ക് ഡ്രൈവ്.
പ്രോഗ്രാമുകളിലെ ലൂപ്പുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്നും ഓരോ തരത്തിലുള്ള നിയന്ത്രണത്തിന്റെയും ഗുണദോഷങ്ങളെക്കുറിച്ചും ചർച്ച ചെയ്യുക.
ഈ പ്രവർത്തനത്തെ ഗണിതവുമായി ബന്ധപ്പെടുത്തുന്നതിന്, മുകളിലുള്ള ഇടത്/വലത് ആർക്കേഡ് (ഒരു ജോയിസ്റ്റിക്ക്), സ്പ്ലിറ്റ് ആർക്കേഡ്/ടാങ്ക് ഡ്രൈവ് (രണ്ട് ജോയ്സ്റ്റിക്കുകളും) എന്നിവ ഉപയോഗിച്ച് പ്രോജക്റ്റിനുള്ളിലെ X, Y അക്ഷങ്ങളുടെ പങ്കിനെക്കുറിച്ച് ചർച്ച ചെയ്യുക.