പാഠം 2: 'A' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യുക
മതിലുകൾ ഒഴിവാക്കാൻ ദൂര സെൻസർ ഉപയോഗിക്കുന്നു
താരതമ്യ ഓപ്പറേറ്റർമാർ എന്താണെന്നും അവ ഒരു പ്രോജക്റ്റിൽ എങ്ങനെ ഉപയോഗിക്കാമെന്നും ഇപ്പോൾ നിങ്ങൾ പഠിച്ചുകഴിഞ്ഞാൽ,വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട്ലെ 'A' എന്ന അക്ഷരത്തിലേക്ക് VR റോബോട്ടിനെ ഓടിക്കാനുള്ള ആ പഠനം നിങ്ങൾ പ്രയോഗിക്കും. ഈ പ്രോജക്റ്റ്, ഭിത്തികളിൽ ഇടിക്കാതെ വാൾ മേസ് പ്ലേഗ്രൗണ്ട് ലൂടെ നാവിഗേറ്റ് ചെയ്യാൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കും.
പ്രോജക്റ്റിന് പേര് നൽകി സംരക്ഷിക്കുക
- ഒരു പുതിയ ടെക്സ്റ്റ് പ്രോജക്റ്റ് ആരംഭിച്ച് ആവശ്യപ്പെടുമ്പോൾ വാൾ മേസ് പ്ലേഗ്രൗണ്ട്തിരഞ്ഞെടുക്കുക.

- പ്രോജക്റ്റിന് എന്ന് പേര് നൽകുക യൂണിറ്റ്5പാഠം.

-
പുതിയ ടെക്സ്റ്റ് പ്രോജക്റ്റ് ടെംപ്ലേറ്റിന്റെ ഭാഗമായി പോപ്പുലേറ്റ് ചെയ്യുന്ന ഡ്രൈവ്ട്രെയിൻ കമാൻഡ് നീക്കം ചെയ്യുക, അങ്ങനെ നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടും.whileലൂപ്പ് ഡ്രാഗ് ചെയ്യുക, ടൈപ്പ് ചെയ്യുക അല്ലെങ്കിൽ പകർത്തുക. കമാൻഡ് ഒരു while ലൂപ്പ് പോപ്പുലേറ്റ് ചെയ്യുമെന്ന് ശ്രദ്ധിക്കുക, അതിനുള്ളിൽ ഒരു wait കമാൻഡ് ഉണ്ടാകും. wait കമാൻഡ് നീക്കം ചെയ്യരുത്, ഇത് VR റോബോട്ട് പ്രോജക്റ്റ് ശരിയായി നടപ്പിലാക്കുന്നുവെന്ന് ഉറപ്പാക്കും.
def main(): while അവസ്ഥ: wait(5, MSEC) -
ലൂപ്പിനുള്ളിൽ നോൺ-വെയ്റ്റിംഗ് ഡ്രൈവ് കമാൻഡ് ഡ്രാഗ് ചെയ്യുക, ടൈപ്പ് ചെയ്യുക അല്ലെങ്കിൽ പകർത്തുക, അങ്ങനെ നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടും.
def main(): while അവസ്ഥ: drivetrain.drive(FORWARD) wait(5, MSEC)- ഇൻഡന്റേഷൻ ശരിയാണോ എന്നും drive കമാൻഡ് waitകമാൻഡുമായി വിന്യസിച്ചിട്ടുണ്ടോ എന്നും പരിശോധിക്കുക.
get_distanceഫംഗ്ഷനും ഗ്രേറ്റർ than ഓപ്പറേറ്ററും ചേർക്കുക.
- while ലൂപ്പിലെ 'കണ്ടീഷൻ' എന്നതിൽ get_distanceകമാൻഡ് ഡ്രാഗ് ചെയ്യുകയോ ടൈപ്പ് ചെയ്യുകയോ ചെയ്താൽ നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടും. ഗ്രേറ്റർ than ഓപ്പറേറ്റർ എന്നും രണ്ടാമത്തെ operand '50' എന്നും ടൈപ്പ് ചെയ്യുക.
-
def main(): while front_distance.get_distance(MM) > 50: drivetrain.drive(FORWARD) wait(5, MSEC) -
while ലൂപ്പിന് പുറത്ത് ഒരു stop കമാൻഡ് ചേർക്കുക, അങ്ങനെ നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടും. while ലൂപ്പിന് ശേഷം ഒരു സ്റ്റോപ്പ് കമാൻഡ് ആവശ്യമാണ്, കാരണം നിർത്താൻ നിർദ്ദേശിക്കുന്നത് വരെ VR റോബോട്ട് ഡ്രൈവ് ചെയ്യുന്നത് തുടരും.
def main(): while front_distance.get_distance(MM) > 50: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - പ്ലേഗ്രൗണ്ട് വിൻഡോ തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറക്കുക,വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട്തുറക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക, തുടർന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
- VR റോബോട്ടും മതിലും തമ്മിലുള്ള ദൂരം 50 മില്ലിമീറ്ററിൽ (മില്ലീമീറ്ററിൽ) അല്ല ആണെന്ന് ഡിസ്റ്റൻസ് സെൻസർ റിപ്പോർട്ട് ചെയ്യുന്നതുവരെ VR റോബോട്ട് മുന്നോട്ട് പോകുന്നത് കാണുക.

- VR റോബോട്ടിനെ ആരംഭ സ്ഥാനത്തേക്ക് തിരികെ നീക്കാൻ പ്ലേഗ്രൗണ്ട് റീസെറ്റ് ചെയ്യുക.
'A' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നതിനുള്ള പ്രോജക്റ്റ് തുടരുക.
while ലൂപ്പിന്റെ അവസ്ഥയായി get_distanceകമാൻഡ് ഉപയോഗിച്ച് ഗ്രേറ്റർ ദെൻ (>) ഓപ്പറേറ്റർ ഉപയോഗിച്ച് VR റോബോട്ടിനും മതിലിനും ഇടയിലുള്ള ദൂരം 50 മില്ലിമീറ്ററിൽ (mm) കൂടുതലാണെങ്കിൽ മുന്നോട്ട് ഓടിക്കാൻ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നു. വിആർ റോബോട്ടിൽ നിന്ന് ഭിത്തിയിലേക്കുള്ള ദൂരം 50 മില്ലിമീറ്ററിൽ കൂടാത്തതായി ഡിസ്റ്റൻസ് സെൻസർ റിപ്പോർട്ട് ചെയ്തുകഴിഞ്ഞാൽ, വിആർ റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തും. 'A' എന്ന അക്ഷരത്തിലേക്ക് പോകുന്നതിന്, മതിലിനടുത്തെത്തുമ്പോൾ VR റോബോട്ട് തിരിയേണ്ടതുണ്ട്.
'A' എന്ന അക്ഷരത്തിലേക്ക് ഡ്രൈവ് ചെയ്യാൻ, VR റോബോട്ട് രണ്ട് ചുവരുകൾ കണ്ടെത്തേണ്ടതുണ്ട്, ഈ ചുവരുകൾ കണ്ടെത്തുമ്പോൾ ഇടത്തേക്ക് തിരിയേണ്ടതുണ്ട്. പിന്നെ, 'A' എന്ന അക്ഷരത്തിന് പിന്നിലുള്ള മൂന്നാമത്തെ മതിൽ കണ്ടെത്തുമ്പോൾ VR റോബോട്ട് നിർത്തും.
-
stopകമാൻഡിന് പകരം turn_forകമാൻഡ് നൽകുക, അങ്ങനെ നിങ്ങളുടെ പ്രോജക്റ്റ് ഇതുപോലെ കാണപ്പെടും. ഡിസ്റ്റൻസ് സെൻസർ ഒരു ഭിത്തിയിൽ നിന്ന് 50 മില്ലിമീറ്ററിനുള്ളിൽ (മില്ലീമീറ്റർ) എത്തിക്കഴിഞ്ഞാൽ, VR റോബോട്ട് ഇടത്തേക്ക് തിരിഞ്ഞ് 'A' എന്ന അക്ഷരത്തിലേക്ക് പോകുമെന്നതിനാൽ turn_forകമാൻഡ് ആവശ്യമാണ്.
- ടേണിന്റെ പാരാമീറ്ററുകൾ "LEFT, 90, DEGREES" ആയി സജ്ജമാക്കുക.
def main(): while front_distance.get_distance(MM) > 50: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES)- turn_for കമാൻഡിന് താഴെയായി ഒരു ഡ്രൈവ് കമാൻഡ് ഉള്ളിൽ മറ്റൊരു whileലൂപ്പ് ചേർക്കുക. ആദ്യത്തെ operand ആയി get_distanceകമാൻഡും, greater than operator ഉം, രണ്ടാമത്തെ operand ആയി '50' എന്ന സ്ഥിരാങ്കവും ഉപയോഗിച്ച് കൺഡിഷൻ സജ്ജമാക്കുക.
front_distance.get_distance(MM) > 50: drivetrain.drive(FORWARD) wait(5, MSEC)- അവസാനമായി, 'A' എന്ന അക്ഷരത്തിന് പിന്നിലെ അവസാന മതിൽ കണ്ടെത്താനും ഡ്രൈവിംഗ് നിർത്താനും VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നതിന് രണ്ടാമത്തെ while ലൂപ്പിന് താഴെ ഇനിപ്പറയുന്ന കമാൻഡുകൾ ചേർക്കുക. turn_for കമാൻഡും stop കമാൻഡും അവയുടെ യഥാക്രമം ന് പുറത്താണെന്നും ലൂപ്പുകളാണെന്നും ഉറപ്പാക്കുക.
drivetrain.turn_for(LEFT, 90, DEGREES) അതേസമയം front_distance.get_distance(MM) > 50: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop()- വാൾ മെയ്സ് പ്ലേഗ്രൗണ്ട് തുറന്നിട്ടില്ലെങ്കിൽ അത് സമാരംഭിച്ച് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
- വാൾ മെയ്സിന്റെ തുടക്കം മുതൽ 'A' എന്ന അക്ഷരം വരെ VR റോബോട്ട് ഡ്രൈവ് ചെയ്യുന്നത് കാണുക, തുടർന്ന് നിർത്തുക.

- ശ്രദ്ധിക്കുക, VR റോബോട്ട് 'A' എന്ന അക്ഷരത്തിലേക്ക് നീങ്ങുമ്പോൾ ഒരു ചുവരിലും ഇടിക്കുന്നില്ല. ഡിസ്റ്റൻസ് സെൻസർ മൂല്യം VR റോബോട്ട് ഭിത്തിയിൽ നിന്ന് 50 മില്ലിമീറ്ററിൽ (മില്ലീമീറ്റർ) കൂടുതലല്ലെന്ന് റിപ്പോർട്ട് ചെയ്യുമ്പോൾ, പ്രോജക്റ്റിൽ തിരിയാനോ നിർത്താനോ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്നു.
ഈ പാഠത്തിന്റെ ബാക്കി ഭാഗം തുടരാൻ അടുത്തത് ബട്ടൺ തിരഞ്ഞെടുക്കുക.