Skip to main content

പാഠം 3: ചുവപ്പ് നിറം കണ്ടെത്തുമ്പോൾ

ചുവപ്പ് നിറം കണ്ടെത്തിയാൽ എന്തുചെയ്യണമെന്ന് വിആർ റോബോട്ടിനോട് പറയാൻ കമാൻഡുകളൊന്നുമില്ല. ചുവന്ന ബോർഡർ ഒഴിവാക്കാൻ, ഈ വീഡിയോയിലെന്നപോലെ, ചുവപ്പ് നിറം തിരിച്ചറിഞ്ഞുകഴിഞ്ഞാൽ VR റോബോട്ട് പിന്നിലേക്ക് തിരിഞ്ഞുനോക്കണം.

വീഡിയോ ഫയൽ
  • ഡൗൺ ഐ സെൻസർ ചുവന്ന ബോർഡർ കണ്ടെത്തുമ്പോൾ എന്ത് സംഭവിക്കണമെന്ന് സൂചിപ്പിക്കുന്നതിന്whileലൂപ്പിന്റെ അവസാനം ഒരു കമന്റ് ചേർക്കുക. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെ ആയിരിക്കണം:

    def main():
    	# ചുവന്ന ബോർഡർ കണ്ടെത്താത്ത സമയത്ത് കെട്ടിടം തിരയുക
    	down_eye.detect(RED) അല്ലാത്തപ്പോൾ:
    		# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
    		
    		if front_distance.found_object():
    			# Distance Sensor
    			drivetrain.drive(FORWARD) വഴി ക്രാഷ് കാസിൽ കണ്ടെത്തി
    		
    		else:
    			# Distance Sensor
    			drivetrain.turn(RIGHT) ഉപയോഗിച്ച് ഒരു കാസിൽ കണ്ടെത്താൻ തിരിയുക
    			
    		wait(5, MSEC)
    		
    	# ചുവന്ന ബോർഡർ കണ്ടെത്തുമ്പോൾ പിന്നിലേക്ക് തിരിയുക
  • VR റോബോട്ടിനെ റിവേഴ്‌സ് ചെയ്യാനും ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം തിരിച്ചറിഞ്ഞാൽ തിരിക്കാനും അനുവദിക്കുന്നതിന് കമന്റിന് താഴെ drive_forഉം turn_for ഉം കമാൻഡുകൾ ചേർക്കുക.

    def main():
    	# ചുവന്ന ബോർഡർ കണ്ടെത്താത്ത സമയത്ത് കെട്ടിടം തിരയുക
    	down_eye.detect(RED) അല്ലാത്തപ്പോൾ:
    		# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
    		
    		if front_distance.found_object():
    			# Distance Sensor
    			drivetrain.drive(FORWARD) വഴി ക്രാഷ് കാസിൽ കണ്ടെത്തി
    		
    		else:
    			# Distance Sensor
    			drivetrain.turn(RIGHT) ഉപയോഗിച്ച് ഒരു കാസിൽ കണ്ടെത്താൻ തിരിയുക
    			
    		wait(5, MSEC)
    		
    	# ചുവന്ന ബോർഡർ കണ്ടെത്തിയപ്പോൾ പിന്നിലേക്ക് തിരിയുക
    	drivetrain.drive_for(REVERSE, 300, MM)
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
  • ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങൾ ഉദ്ദേശിച്ചതുപോലെയാണോ VR റോബോട്ട് പ്രവർത്തിക്കുന്നത്?
  • ഈ പ്രോജക്റ്റ് നടപ്പിലാക്കുമ്പോൾ, രണ്ട് നിബന്ധനകൾ പരിശോധിക്കുന്നു. ആദ്യത്തേത്, ലൂപ്പിനിടയിലും ലൂപ്പിനിടയിലും ഉള്ളിൽ ചുവപ്പ് നിറം കണ്ടെത്തുന്ന ഡൗൺ ഐ സെൻസറിന്റെ അവസ്ഥയാണ്. ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം കാണുന്നില്ലെങ്കിൽ, പ്രോജക്റ്റ് ഫ്ലോ കണ്ടെത്തുന്ന ഒരു വസ്തുവിന്റെ അടുത്ത അവസ്ഥയിലേക്ക് മാത്രം അവസ്ഥയിലേക്ക് നീങ്ങുമെന്ന് ശ്രദ്ധിക്കുക. ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തിയാൽ, പ്രോജക്റ്റ് ഫ്ലോ if else സ്റ്റേറ്റ്മെന്റ് ഒഴിവാക്കി റിവേഴ്സിലും ടേണിംഗിലും ഡ്രൈവിംഗിലേക്ക് നീങ്ങുന്നു.
    ഈ പാഠത്തിലെ പൈത്തൺ പ്രോജക്റ്റ് കോഡ്, വശത്ത് പ്രോജക്റ്റിന്റെ ഒഴുക്ക് കാണിക്കുന്ന ഒരു ഡയഗ്രം. ഇത് വായിക്കുന്നു: ആദ്യം കണ്ടീഷൻ പരിശോധിച്ചു: ഡൗൺ ഐ സെൻസർ ഓറഞ്ച് നിറത്തിൽ ചുവപ്പ് കണ്ടെത്തുന്നു, ഇത് ലൂപ്പിന്റെ ആരംഭത്തെ പ്രതിനിധീകരിക്കുന്നു. ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തുമ്പോൾ ഒരു റെഡ് ആരോ ലൂപ്പ് ഉണ്ട്, അത് ട്രൂ എന്ന് റിപ്പോർട്ട് ചെയ്യുകയും പ്രോജക്റ്റ് ആവർത്തിച്ചുള്ള ലുക്കിൽ നിന്ന് പുറത്തുകടക്കുകയും ചെയ്യും. റിപ്പോർട്ട് തെറ്റാണെങ്കിൽ, കോഡ് if then സ്റ്റേറ്റ്മെന്റിലേക്ക് നീങ്ങുകയും ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തുന്നതുവരെ ആവർത്തിക്കുകയും ചെയ്യും.
 
  • പരിശോധിക്കുന്ന രണ്ടാമത്തെ അവസ്ഥif elseസ്റ്റേറ്റ്മെന്റാണ്. ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം കണ്ടെത്തുന്നില്ലെങ്കിലും, ഡിസ്റ്റൻസ് സെൻസറിന്റെ അവസ്ഥ പരിശോധിക്കുന്നതിനായി പ്രോജക്റ്റ്വേളയിൽലൂപ്പിൽ തുടരും. ഡിസ്റ്റൻസ് സെൻസറിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിച്ച് വിആർ റോബോട്ട് മുന്നോട്ട് വാഹനമോടിക്കണോ വലത്തേക്ക് തിരിയണോ എന്ന് തീരുമാനിക്കും. ഈ പാഠത്തിലെ പൈത്തൺ പ്രോജക്റ്റ് കോഡ്, വശത്ത് പ്രോജക്റ്റിന്റെ ഒഴുക്ക് കാണിക്കുന്ന ഒരു ഡയഗ്രം. ഇത് "രണ്ടാമത്തെ അവസ്ഥ പരിശോധിച്ചു: ദൂര സെൻസർ വസ്തുവിനെ കണ്ടെത്തുന്നു" എന്ന് വായിക്കുന്നു. രണ്ടാമത്തെ അവസ്ഥ പരിശോധിച്ചാൽ എന്ത് സംഭവിക്കുമെന്ന് ഇത് കാണിക്കുന്നു, അത് ശരിയാണെന്ന് റിപ്പോർട്ട് ചെയ്താൽ, VR റോബോട്ട് മുന്നോട്ട് പോകും, ​​രണ്ടാമത്തെ അവസ്ഥ തെറ്റാണെന്ന് റിപ്പോർട്ട് ചെയ്താൽ, VR റോബോട്ട് വലത്തേക്ക് തിരിയും.
  • എന്നിരുന്നാലും, ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം തിരിച്ചറിഞ്ഞുകഴിഞ്ഞാൽ, വിആർ റോബോട്ട് പിന്നിലേക്ക് ഡ്രൈവ് ചെയ്യും, തിരിയും, തുടർന്ന് നിർത്തും, കാരണം അവിടെയാണ് പ്രോജക്റ്റ് ഫ്ലോ അവസാനിക്കുന്നത്. പെരുമാറ്റങ്ങൾ വീണ്ടും ആവർത്തിക്കാൻ ഒരു ലൂപ്പും ഉപയോഗിക്കുന്നില്ല.

    ഡൈനാമിക് കാസിൽ ക്രാഷ്ഡ് കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, ചില കോട്ടകൾ മറിഞ്ഞുവീഴുന്നത് കാണിക്കുന്നു, VR റോബോട്ട് ചുവന്ന ബോർഡർ കടന്നതിനുശേഷം പിന്നിലേക്ക് തിരിഞ്ഞു, അങ്ങനെ അത് വീണ്ടും കളിസ്ഥലത്തിന്റെ മധ്യഭാഗത്തേക്ക് അഭിമുഖീകരിക്കുന്നു.

ലൂപ്പ് ഉള്ളപ്പോൾ അനന്തമായ ചേർക്കുന്നു.

  • ഒരു ലൂപ്പിൽ സ്വഭാവങ്ങൾ ആവർത്തിക്കുന്നതിന് അനന്തമായ ഉംലൂപ്പും ആവശ്യമാണ്. പ്രോജക്റ്റിന്റെ മുകളിൽ while ലൂപ്പ് ഡ്രാഗ് ചെയ്യുക അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുക, തുടർന്ന് ഒരു ഇൻഫിനിറ്റ് ലൂപ്പ് സൃഷ്ടിക്കാൻ കൺഡിഷൻ True ആയി സജ്ജമാക്കുക. പിന്നെ, ഇൻഫിനിറ്റ് whileലൂപ്പിനുള്ളിൽ മുമ്പത്തെ കോഡ് പകർത്തി ഒട്ടിക്കുക. കമാൻഡുകൾ ശരിയായ തലക്കെട്ടുകൾക്ക് കീഴിൽ ശരിയായി ഇൻഡന്റ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക, അല്ലാത്തപക്ഷം പ്രോജക്റ്റ് പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിച്ചേക്കില്ല. നിങ്ങളുടെ പ്രോജക്റ്റ് ഇപ്പോൾ ഇതുപോലെ ആയിരിക്കണം:

    def main():
    
    	while True:
    		# ചുവന്ന ബോർഡർ കണ്ടെത്താത്ത സമയത്ത് കെട്ടിടം തിരയുക
    		while not down_eye.detect(RED):
    			# ഡിസ്റ്റൻസ് സെൻസർ ഒരു കാസിൽ കണ്ടെത്തുന്നുണ്ടോ?
    		
    			if front_distance.found_object():
    				# Distance Sensor
    				drivetrain.drive(FORWARD) വഴി ക്രാഷ് കാസിൽ കണ്ടെത്തി
    		
    			else:
    				# Distance Sensor
    				drivetrain.turn(RIGHT) ഉപയോഗിച്ച് ഒരു കാസിൽ കണ്ടെത്താൻ തിരിയുക
    			
    			wait(5, MSEC)
    		
    		# ചുവന്ന ബോർഡർ കണ്ടെത്തിയപ്പോൾ പിന്നിലേക്ക് തിരിയുക
    		drivetrain.drive_for(REVERSE, 300, MM)
    		drivetrain.turn_for(RIGHT, 90, DEGREES)
    
  • ഡൈനാമിക് കാസിൽ ക്രാഷർ പ്ലേഗ്രൗണ്ട്തുറന്നിട്ടില്ലെങ്കിൽ അത് തുറന്ന് പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങൾ ഉദ്ദേശിച്ചതുപോലെ വിആർ റോബോട്ട് പ്രവർത്തിക്കുന്നുണ്ടോ? 
  • ഈ പ്രോജക്റ്റ് പ്രവർത്തിപ്പിക്കുമ്പോൾ, VR റോബോട്ട് കണ്ടെത്തിയ ഒരു കോട്ടയിലേക്ക് ഓടിക്കുകയും കോട്ടകളൊന്നും റിപ്പോർട്ട് ചെയ്തിട്ടില്ലെങ്കിൽ വലത്തേക്ക് തിരിയുകയും ചെയ്യും. ഡൗൺ ഐ സെൻസർ ചുവപ്പ് നിറം തിരിച്ചറിഞ്ഞുകഴിഞ്ഞാൽ, വിആർ റോബോട്ട് പിന്നിലേക്ക് നീങ്ങി, തിരിഞ്ഞ് മറ്റൊരു കോട്ടയിലേക്ക് നീങ്ങുന്നത് തുടരുന്നു.

    ഡൈനാമിക് കാസിൽ ക്രാഷർ കളിസ്ഥലത്തിന്റെ മുകളിൽ നിന്ന് താഴേക്കുള്ള കാഴ്ച, വിആർ റോബോട്ട് കളിസ്ഥലത്തെ ഒന്നിലധികം കോട്ടകൾക്ക് മുകളിലൂടെ മറിഞ്ഞുവീണുവെന്നും ഇപ്പോൾ അവസാനത്തെ നിൽക്കുന്ന കോട്ടയിലേക്ക് നീങ്ങുകയാണെന്നും കാണിക്കുന്നു.

ചോദ്യങ്ങൾ

പാഠ ക്വിസ് ആക്‌സസ് ചെയ്യുന്നതിന് താഴെയുള്ള ലിങ്ക് തിരഞ്ഞെടുക്കുക.

ഗൂഗിൾ ഡോക് / .ഡോക്സ് / .പിഡിഎഫ്