Skip to main content

പാഠം 3: ഡിസ്കുകൾ എടുക്കാൻ റിപ്പോർട്ട് ചെയ്ത സെൻസർ ഫീഡ്‌ബാക്ക് ഉപയോഗിക്കുന്നു

പാഠം 2 ലെ അതേ വെല്ലുവിളി പരിഹരിക്കാൻ ഈ പാഠം റിപ്പോർട്ട് ചെയ്ത സെൻസർ ഫീഡ്‌ബാക്ക് ഉപയോഗിക്കും. വിആർ റോബോട്ട് ആദ്യത്തെ നീല ഡിസ്ക് എടുത്ത് നീല ഗോളിലേക്ക് നീക്കും.

  • VEXcode VR-ൽ ഒരു പുതിയ പ്രോജക്റ്റ് ആരംഭിച്ച് പ്രോജക്റ്റിന് എന്ന് പേരിടുക Unit8Lesson3.

    VEXcode VR ടൂൾബാറിന്റെ മധ്യഭാഗത്തുള്ള പ്രോജക്റ്റ് നെയിം ബോക്സ്, 'പ്ലേഗ്രൗണ്ട് തിരഞ്ഞെടുക്കുക' ബട്ടണിന്റെ ഇടതുവശത്ത് ചുവന്ന ബോക്സ് ഉപയോഗിച്ച് ഹൈലൈറ്റ് ചെയ്തിരിക്കുന്നു. പ്രോജക്റ്റിന്റെ പേര് യൂണിറ്റ് 8 പാഠം 3 എന്നാണ്.
  • വർക്ക്‌സ്‌പെയ്‌സിലേക്ക് നാല് കമന്റ് ബ്ലോക്കുകൾ വലിച്ചിടുക. VR റോബോട്ട് ആദ്യത്തെ ഡിസ്കിലേക്ക് ഡ്രൈവ് ചെയ്യുന്നതിനും, അത് എടുക്കുന്നതിനും, നീല ഗോളിലേക്ക് തിരികെ കൊണ്ടുവരുന്നതിനും ആവശ്യമായ ഓരോ ഘട്ടത്തിനും അഭിപ്രായങ്ങൾ ചേർക്കുക.

    ആരംഭിച്ചപ്പോൾ ബ്ലോക്കിൽ നാല് കമന്റ് ബ്ലോക്കുകൾ ഘടിപ്പിച്ചിരിക്കുന്ന ഒരു പുതിയ VEXcode VR പ്രോജക്റ്റ്. അഭിപ്രായങ്ങൾ ഈ ക്രമത്തിൽ വായിക്കുന്നു: 1. ആദ്യത്തെ നീല ഡിസ്കിലേക്ക് ഡ്രൈവ് ചെയ്യുക; 2. ആദ്യത്തെ നീല ഡിസ്ക് എടുക്കുക; 3. നീല ലക്ഷ്യത്തിലേക്ക് ഡ്രൈവ് ചെയ്യുക; 4. നീല ഗോളിൽ നീല ഡിസ്ക് ഇടുക.
  • ആദ്യ കമന്റിന് താഴെയുള്ള വർക്ക്‌സ്‌പെയ്‌സിലേക്ക് [Repeat until] ബ്ലോക്ക് വലിച്ചിടുക.

    അതേ VEXcode VR പ്രോജക്റ്റ്, ആദ്യ കമന്റിന് ശേഷം "Repete until" ബ്ലോക്ക് ചേർത്തിരിക്കുന്നു. ബ്ലോക്കിന്റെ പാരാമീറ്റർ ശൂന്യമാകുന്നതുവരെ ആവർത്തിക്കുക.

നിങ്ങളുടെ അറിവിലേക്കായി

[Repeat until] ബ്ലോക്ക് ബൂളിയൻ റിപ്പോർട്ടർ ബ്ലോക്കുകൾ സ്വീകരിക്കുന്ന ഒരു C ബ്ലോക്കാണ്. [Repeat until] ബ്ലോക്ക് ഓരോ ലൂപ്പിന്റെയും തുടക്കത്തിൽ ബൂളിയൻ അവസ്ഥ മാത്രമേ പരിശോധിക്കൂ. ബൂളിയൻ അവസ്ഥ FALSE ആയി റിപ്പോർട്ട് ചെയ്താൽ, ഉള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. ബൂളിയൻ അവസ്ഥ TRUE ആയി റിപ്പോർട്ട് ചെയ്താൽ, ഉള്ളിലെ ബ്ലോക്കുകൾ ഒഴിവാക്കപ്പെടും.

ടൂൾബോക്സിൽ നിന്ന് ഒരു VEXcode VR Repeat Until ബ്ലോക്ക്.
  • ഡിസ്ക് മൂവർ പ്ലേഗ്രൗണ്ട്ൽ VR റോബോട്ട് ഒരു നിറമുള്ള ഡിസ്ക് കണ്ടെത്തുമ്പോൾ <Eye Sensor near object> ബ്ലോക്ക് TRUE എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു. ഈ ബ്ലോക്ക് പ്രോജക്റ്റിലേക്ക് വലിച്ചിടുക.

    റിപ്പീറ്റ് അൺടിൽ ബ്ലോക്കിന്റെ പാരാമീറ്ററിലേക്ക് ഒരു ഐ സെൻസർ നിയർ ഒബ്‌ജക്റ്റ് ചേർത്തിട്ടുള്ള അതേ VEXcode VR പ്രോജക്റ്റ്. പ്രോജക്റ്റിന്റെ ആരംഭം ഇപ്പോൾ 'When started' എന്ന് വായിക്കുന്നു, ആദ്യത്തെ നീല ഡിസ്കിലേക്ക് ഡ്രൈവ് കമന്റ് ചെയ്യുക, തുടർന്ന് 'Front Eye' ഒബ്ജക്റ്റിനടുത്താകുന്നതുവരെ ആവർത്തിക്കുക'.
  • ഡിസ്ക് മൂവർ പ്ലേഗ്രൗണ്ട് ലെ ഡിസ്കുകൾ പ്ലേഗ്രൗണ്ടിന്റെ തറയിലാണ്, ഫ്രണ്ട് ഐ സെൻസറിന് അവ കണ്ടെത്താൻ കഴിയില്ല. ഇക്കാരണത്താൽ, <Eye Sensor near object> ബ്ലോക്ക് 'DownEye' ആയി സജ്ജമാക്കുക.

    അതേ VEXcode VR പ്രോജക്റ്റ്, നിയർ ഒബ്ജക്റ്റ് ബ്ലോക്കിലെ ഐ സെൻസറിന്റെ പാരാമീറ്റർ തുറന്ന്, ഡൗൺ ഐ തിരഞ്ഞെടുത്തു. 'Repeet until' ബ്ലോക്ക് ഇപ്പോൾ 'കണ്ണ് താഴേക്ക് വരുന്നതുവരെ ആവർത്തിക്കുക' എന്ന് കാണിക്കുന്നു.
  • VR റോബോട്ട് ഒരു വസ്തുവിനെ കണ്ടെത്താത്തപ്പോൾ [Repeat until] ബ്ലോക്കിന്റെ ഉള്ളിലുള്ള ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. ഡിസ്കുകളിൽ ഒന്നിൽ എത്താൻ, ഡിസ്ക് കണ്ടെത്തുന്നതുവരെ VR റോബോട്ട് മുന്നോട്ട് പോകേണ്ടതുണ്ട്.

    നീല ഗോൾ ആരംഭ സ്ഥാനത്ത് VR റോബോട്ടും അതിനു മുന്നിൽ നീല ഡിസ്കും ഉള്ള ഡിസ്ക് മൂവ് പ്ലേഗ്രൗണ്ട്.
  • [Repeat until] ബ്ലോക്കിലേക്ക് ഒരു [Drive] ബ്ലോക്ക് വലിച്ചിടുക.

    മുമ്പത്തെ അതേ VEXcode VR പ്രോജക്റ്റ്, Repeat until ബ്ലോക്കിന്റെ C യിൽ ഒരു ഡ്രൈവ് ബ്ലോക്ക് ചേർത്തിരിക്കുന്നു. പ്രോജക്റ്റ് ഇപ്പോൾ ആരംഭിക്കുന്നത് 'When started' ബ്ലോക്കും ആദ്യത്തെ നീല ഡിസ്കിലേക്കുള്ള ഡ്രൈവിലേക്കുള്ള ഒരു കമന്റുമാണ്. തുടർന്ന് അത് "Repete until Down Eye detects object, drive forward" എന്ന് വായിക്കുന്നു.
  • ഒരു ഡിസ്ക് കണ്ടെത്തുമ്പോൾ, അത് എടുക്കാൻ VR റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തേണ്ടതുണ്ട്. ഒരു [സ്റ്റോപ്പ് ഡ്രൈവിംഗ്] ബ്ലോക്ക് വലിച്ചിട്ട് [Repeat until] ബ്ലോക്കിന് താഴെ വയ്ക്കുക.

    റിപ്പീറ്റ് അൺടിൽ ബ്ലോക്കിനും രണ്ടാമത്തെ കമന്റിനും ഇടയിൽ ഒരു സ്റ്റോപ്പ് ഡ്രൈവിംഗ് ബ്ലോക്ക് ചേർത്തിട്ടുള്ള അതേ VEXcode VR പ്രോജക്റ്റ്.
  • ഇനി, രണ്ടാമത്തെ കമന്റിന് താഴെ ഒരു [Energize Electromagnet] ബ്ലോക്ക് സ്ഥാപിച്ച്, ഇലക്ട്രോമാഗ്നറ്റ് ഉള്ള ഡിസ്ക് എടുക്കാൻ VR റോബോട്ടിനോട് നിർദ്ദേശിക്കുക.

    രണ്ടാമത്തെ കമന്റിന് താഴെയായി Energize Electromagnet ബ്ലോക്ക് ചേർത്തിരിക്കുന്ന അതേ VEXcode VR പ്രോജക്റ്റ്. പ്രോജക്റ്റ് ഇപ്പോൾ വായിക്കുന്നത് 'When started, Drive to the First blue disk; Down eye discover object വരെ മുന്നോട്ട് ഡ്രൈവിംഗ് ആവർത്തിക്കുക, തുടർന്ന് ഡ്രൈവിംഗ് നിർത്തുക' എന്നാണ്. പിന്നെ ആദ്യത്തെ നീല ഡിസ്ക് എടുക്കുക, കാന്തം ഊർജ്ജസ്വലമാക്കുക..
  • ഡിസ്ക് മൂവർ പ്ലേഗ്രൗണ്ട് തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക.
  • ഡൗൺ ഐ സെൻസർ ആദ്യത്തെ നീല ഡിസ്ക് കണ്ടെത്തുന്നതുവരെ വിആർ റോബോട്ട് മുന്നോട്ട് ഓടുന്നു, ഡ്രൈവിംഗ് നിർത്തുന്നു, ഡിസ്ക് എടുക്കാൻ ഇലക്ട്രോമാഗ്നറ്റിനെ ഊർജ്ജസ്വലമാക്കുന്നു.

    റോബോട്ടിന്റെ ഇലക്ട്രോമാഗ്നറ്റിൽ ആദ്യത്തെ നീല ഡിസ്ക് ഘടിപ്പിച്ചിരിക്കുന്ന ഡിസ്ക് മൂവർ പ്ലേഗ്രൗണ്ടിലെ വിആർ റോബോട്ട്.
  • ഈ പ്രോജക്റ്റിൽ [Repeat until] ബ്ലോക്ക് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് ശ്രദ്ധിക്കുക.
    • VR റോബോട്ടിലെ ഡൗൺ ഐ സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തിക്കഴിഞ്ഞാൽ, പ്രോജക്റ്റ് [Repeat until] ബ്ലോക്കിന് താഴെയുള്ള സ്റ്റാക്കിലെ അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നു.
    • ഈ പ്രോജക്റ്റിൽ, വിആർ റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തി ഇലക്ട്രോമാഗ്നറ്റിനെ ഊർജ്ജസ്വലമാക്കി എന്നാണ് ഇതിനർത്ഥം.
റിപ്പീറ്റ് അൺടിൽ ബ്ലോക്കോടുകൂടിയ പ്രോജക്റ്റ് ഫ്ലോയുടെ ഒരു ഡയഗ്രം, VR റോബോട്ട് മുന്നോട്ട് ഡ്രൈവ് ചെയ്തുകൊണ്ട് ആരംഭിക്കുമെന്നും ഡൗൺ ഐ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നതുവരെ മുന്നോട്ട് ഡ്രൈവ് ചെയ്യുന്നത് തുടരുമെന്നും ബൂളിയൻ പാരാമീറ്റർ ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യുമെന്നും കാണിക്കുന്നു. തുടർന്ന് പ്രോജക്റ്റ് ഡ്രൈവിംഗ് നിർത്തി ഇലക്ട്രോമാഗ്നറ്റിനെ ഊർജ്ജസ്വലമാക്കുന്നതിലേക്ക് നീങ്ങുന്നു.

സ്വിച്ച് ബ്ലോക്കുകൾ ഉപയോഗിക്കുന്നു 

താഴെയുള്ള ചിത്രം സ്വിച്ച് ബ്ലോക്കുകൾ ഉപയോഗിച്ചുള്ള ഈ പാഠത്തിന്റെ വർക്ക്ഫ്ലോ ഗ്രാഫിക് പ്രദർശിപ്പിക്കുന്നു. മുകളിലുള്ള ഗ്രാഫിക്കുമായി ഈ ഗ്രാഫിക് താരതമ്യം ചെയ്യുന്നത് നിങ്ങൾ പഠിക്കുന്ന പുതിയ സ്വിച്ച് പൈത്തൺ കമാൻഡുകളുടെ വർക്ക്ഫ്ലോ നന്നായി മനസ്സിലാക്കാൻ സഹായിക്കും. 

സ്വിച്ച് ബ്ലോക്കുകൾ ഉപയോഗിച്ച് അതേ പ്രോജക്റ്റിനായുള്ള പ്രോജക്റ്റ് ഫ്ലോയുടെ ഒരു ഡയഗ്രം. VR റോബോട്ട് മുന്നോട്ട് ഓടിച്ചുകൊണ്ട് ആരംഭിക്കും, ഡൗൺ ഐ ഒരു വസ്തുവിനെ കണ്ടെത്തുകയും ആ ബൂളിയൻ പാരാമീറ്റർ ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്യുകയും ചെയ്യുന്നതുവരെ മുന്നോട്ട് ഓടുന്നത് തുടരും. തുടർന്ന് പ്രോജക്റ്റ് ഡ്രൈവിംഗ് നിർത്തി ഇലക്ട്രോമാഗ്നറ്റിനെ ഊർജ്ജസ്വലമാക്കുന്നതിലേക്ക് നീങ്ങുന്നു.

ഈ പാഠത്തിന്റെ ബാക്കി ഭാഗം തുടരാൻ അടുത്തത് ബട്ടൺ തിരഞ്ഞെടുക്കുക.