വിവരണം
ഈ സെൻസർ അതിനും ഏറ്റവും അടുത്തുള്ള ഖര വസ്തുവിനും ഇടയിലുള്ള ദൂരം (50mm - 1m പരിധി) റിപ്പോർട്ട് ചെയ്യുന്നു. അൾട്രാസോണിക് തരംഗങ്ങൾ ഒരു വസ്തുവിൽ നിന്ന് ബൗൺസ് ചെയ്ത് സെൻസറിലേക്ക് തിരികെ എത്താൻ എടുക്കുന്ന സമയം ഉപയോഗിച്ചാണ് ഇത് ദൂരം കണക്കാക്കുന്നത്.
ദൂര സെൻസർ എങ്ങനെ പ്രവർത്തിക്കുന്നു: ദൂരം കേൾക്കൽ
ശബ്ദം അളക്കാൻ സോണാർ ഉപകരണങ്ങളുടെ അതേ തത്വങ്ങളാണ് ഡിസ്റ്റൻസ് സെൻസറും ഉപയോഗിക്കുന്നത്. ഇത് സെൻസറിന്റെ ഒരു വശത്ത് അതിന്റെ എമിറ്റർ ഉപയോഗിച്ച് ഒരു ചെറിയ അൾട്രാസൗണ്ട് പൾസ് അയയ്ക്കുന്നു, തുടർന്ന് സെൻസറിന്റെ മറുവശത്തുള്ള റിസീവറിൽ നിന്ന് ശബ്ദം പ്രതിഫലിക്കാൻ എത്ര സമയമെടുക്കുമെന്ന് കണക്കാക്കുന്നു. ശബ്ദ പൾസ് റൗണ്ട് ട്രിപ്പ് നടത്താൻ എത്ര സമയമെടുത്തു എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ് സെൻസർ ദൂരം കണക്കാക്കുന്നത്. റോബോട്ട് തലച്ചോറിനോട് ഏറ്റവും അടുത്തുള്ള വസ്തു എത്ര ദൂരെയാണെന്ന് പറയുന്നതിനായി, ശബ്ദത്തിന്റെ വേഗതയെ അടിസ്ഥാനമാക്കി ദൂര സെൻസർ ഒരു കണക്കുകൂട്ടൽ നടത്തുന്നു.
പ്രതലം ഒരു വളഞ്ഞ ഭിത്തി പോലെയോ പന്ത് പോലെയോ പരന്നതല്ലെങ്കിൽ, അൾട്രാസോണിക് തരംഗം എല്ലാ ഭാഗങ്ങളിൽ നിന്നും തുല്യമായി അല്ലെങ്കിൽ ഒരേ സമയം ബൗൺസ് ചെയ്യില്ല. തരംഗത്തിന്റെ ഒരു നിശ്ചിത അളവ് പ്രതിഫലിപ്പിക്കാൻ കഴിയുന്നത്ര വലിപ്പമുള്ള ഏറ്റവും അടുത്തുള്ള ഉപരിതലമാണ് വസ്തുവിന്റെ കണ്ടെത്തിയ ദൂരം നിർണ്ണയിക്കുന്നത്.
ദൂര സെൻസറിന്റെ പൊതുവായ ഉപയോഗങ്ങൾ:
ഈ സെൻസറിന് മുന്നിൽ ഒരു വസ്തു ഉണ്ടോ എന്ന് കണ്ടെത്താൻ കഴിയും.
ഈ സെൻസറിന് ഒരു വസ്തുവും വസ്തുവും തമ്മിലുള്ള ദൂരം അളക്കാൻ കഴിയും.
- ഒരു വസ്തുവിൽ നിന്ന് ഒരു നിശ്ചിത ദൂരം ഓടിക്കാൻ ഒരു റോബോട്ടിന് ഈ സെൻസർ ഉപയോഗിക്കാൻ കഴിയും. 160 മില്ലിമീറ്ററിൽ താഴെ ദൂരം വരെ റോബോട്ട് ഓടുമ്പോൾ ദൂര മൂല്യം മാറുന്നത് കാണാൻ താഴെയുള്ള ആനിമേഷൻ കാണുക.
- ഒരു റോബോട്ടിന് ഈ സെൻസർ ഉപയോഗിച്ച് ഒരു വസ്തുവിനെ തൊടാതെ തന്നെ അതിലേക്ക് ഓടിക്കാൻ കഴിയും. ഡ്രൈവിംഗ് ഏകോപിപ്പിക്കുന്നതിന് ഡിസ്റ്റൻസ് സെൻസറുകൾ ഉപയോഗിക്കുന്ന രണ്ട് റോബോട്ടുകൾ കാണാൻ ഈ ആനിമേഷൻ കാണുക.
- ഈ സെൻസർ നൽകുന്ന മൂല്യങ്ങൾ ഉപയോഗിച്ച്, ഒരു വസ്തുവിനോ ഉപരിതലത്തിനോ അടുത്താണോ അകലെയാണോ എന്നതിനെ ആശ്രയിച്ച് റോബോട്ടിന്റെ വേഗത ക്രമീകരിക്കാൻ കഴിയും. ഒരു റോബോട്ട് ഒരു ഭിത്തിയിലേക്കുള്ള ദൂരത്തിനനുസരിച്ച് ക്രമീകരിക്കുന്നത് കാണാൻ ഈ ആനിമേഷൻ കാണുക.
ഒരു മത്സര റോബോട്ടിൽ ദൂര സെൻസറിന്റെ ഉപയോഗങ്ങൾ
- ശരിയായ സ്ഥലത്ത് എത്തുമ്പോൾ, റോബോട്ടിന് ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് പെരുമാറ്റങ്ങളുടെ ഒരു ശ്രേണി ആരംഭിക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, ഒരു ഭിത്തിയിൽ നിന്ന് 150 മില്ലീമീറ്റർ അകലെയാണെന്ന് കണ്ടെത്തുന്നതുവരെ റോബോട്ടിന് മുന്നോട്ട് ഓടിക്കാൻ കഴിയും, തുടർന്ന് 90 ഡിഗ്രി തിരിഞ്ഞ് ഒരു വസ്തുവിനെ സ്കോറിംഗ് സോണിലേക്ക് വിടാം.
- ഒരു വസ്തു പരിധിക്കുള്ളിൽ കണ്ടെത്തുമ്പോൾ, ഒരു ഗെയിം പീസ് എടുക്കുന്നത് പോലുള്ള റോബോട്ട് പ്രവർത്തനങ്ങൾ ട്രിഗർ ചെയ്യാൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിക്കാം.
- ഒരു വസ്തുവിനെയോ ഉപരിതലത്തെയോ സ്പർശിക്കാതെ തന്നെ, ഒരു പ്രത്യേക ദൂരത്തിനുള്ളിൽ എത്തുന്നതുവരെ, അതിലേക്ക് സഞ്ചരിക്കാൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് റോബോട്ടിന് കഴിയും. റോബോട്ട് ഗെയിം പീസുകളിൽ തട്ടി വീഴുന്നില്ലെന്ന് ഉറപ്പാക്കാൻ ഇത് ഉപയോഗിക്കാം.
- ഒരു റോബോട്ടിന് ഒരു വസ്തുവിൽ നിന്നോ ഉപരിതലത്തിൽ നിന്നോ ഒരു നിശ്ചിത ദൂരം എത്തുന്നതുവരെ ദൂരേക്ക് ഓടിക്കാൻ ദൂര സെൻസർ ഉപയോഗിക്കാൻ കഴിയും. മൈതാനത്ത് മറ്റ് റോബോട്ടുകളുമായുള്ള കൂട്ടിയിടികൾ ഒഴിവാക്കാൻ ഇത് ഉപയോഗിക്കാം.
VEXcode IQ-ൽ ദൂര സെൻസർ ഉപയോഗിക്കുന്നു
VEXcode IQ-ൽ ഒരു ഉപകരണമായി ദൂര സെൻസർ ചേർക്കുന്നു.
VEXcode IQ-യിൽ ഡിസ്റ്റൻസ് സെൻസർ കോഡ് ചെയ്യുന്നതിന്, നിങ്ങൾ ആദ്യം ഡിസ്റ്റൻസ് സെൻസർ കോൺഫിഗർ ചെയ്യണം. VEXcode IQ-യിൽ ഒരു സെൻസർ കോൺഫിഗർ ചെയ്യുന്നതിനെക്കുറിച്ച് കൂടുതലറിയാൻ ഈ ലേഖനം കാണുക.
സെൻസർ കോൺഫിഗർ ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങളുടെ പ്രോജക്റ്റിൽ ഉപയോഗിക്കാൻ കഴിയുന്ന കമാൻഡുകൾ ടൂൾബോക്സിൽ ദൃശ്യമാകും.
ബ്ലോക്കുകളിലെ ദൂര സെൻസർ കോഡ് ചെയ്യുന്നു
<Object found> ബ്ലോക്ക് എന്നത് ഒരു ബൂളിയൻ റിപ്പോർട്ടർ ബ്ലോക്കാണ്, അത് ഒരു അവസ്ഥയെ ശരിയോ തെറ്റോ ആയി റിപ്പോർട്ട് ചെയ്യുന്നു. <Object found> ബ്ലോക്ക് പോലുള്ള ബൂളിയൻ ബ്ലോക്കുകൾ മറ്റ് ബ്ലോക്കുകൾക്കായി ഷഡ്ഭുജ (ആറ്-വശങ്ങളുള്ള) ഇൻപുട്ടുകൾ ഉപയോഗിച്ച് ബ്ലോക്കുകൾക്കുള്ളിൽ യോജിക്കുന്നു.
സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തിയാൽ <Object found> ബൂളിയൻ ബ്ലോക്ക് 'true' എന്നും സെൻസർ കണ്ടെത്തിയില്ലെങ്കിൽ 'false' എന്നും റിപ്പോർട്ട് ചെയ്യുന്നു. ബൂളിയൻ ബ്ലോക്കുകളെക്കുറിച്ച് കൂടുതലറിയാൻ ഹെൽപ്പ് അല്ലെങ്കിൽ ബ്ലോക്ക് ഷേപ്പുകളും അർത്ഥവും എന്ന ലേഖനം സന്ദർശിക്കുക.
ഈ ഉദാഹരണത്തിൽ, ഡിസ്റ്റൻസ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നതുവരെ റോബോട്ട് മുന്നോട്ട് ഓടിക്കാൻ <Object found> ബ്ലോക്ക് ഒരു [Wait until] ബ്ലോക്കിനൊപ്പം ഉപയോഗിക്കുന്നു. സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുമ്പോൾ, മുകളിലുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തും.
(Distance from) ബ്ലോക്ക് ഡിസ്റ്റൻസ് സെൻസറിൽ നിന്ന് ഏറ്റവും അടുത്തുള്ള വസ്തുവിലേക്കുള്ള ദൂരം റിപ്പോർട്ട് ചെയ്യുന്നു. ഇത്24mm മുതൽ 1000mm വരെ അല്ലെങ്കിൽ 1 ഇഞ്ച് മുതൽ 40 ഇഞ്ച് വരെ പരിധി റിപ്പോർട്ട് ചെയ്യുന്നു. (ദൂരം) ബ്ലോക്ക് എന്നത് വൃത്താകൃതിയിലുള്ള ഇടങ്ങളുള്ള ബ്ലോക്കുകൾക്കുള്ളിൽ ഉപയോഗിക്കുന്ന ഒരു റിപ്പോർട്ടർ ബ്ലോക്കാണ്.
ഈ ഉദാഹരണത്തിൽ, ഡിസ്റ്റൻസ് സെൻസറും ഒരു വസ്തുവും തമ്മിലുള്ള ദൂരം ബ്രെയിൻ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുന്നതിന് (ഡിസ്റ്റൻസ് ഫ്രം) ബ്ലോക്ക് ഒരു [പ്രിന്റ്] ബ്ലോക്കിനൊപ്പം ഉപയോഗിക്കുന്നു. {Wait until} ബ്ലോക്കിനുള്ളിലെ <Less than> ബ്ലോക്കിനുള്ളിലും (ദൂരം) ബ്ലോക്കും കാണിച്ചിരിക്കുന്നു. ഇത് 50 മില്ലിമീറ്ററിൽ താഴെ അകലെയുള്ള ഒരു വസ്തുവിനെ ഡിസ്റ്റൻസ് സെൻസർ കണ്ടെത്തുന്നതുവരെ റോബോട്ട് ഓടിക്കാൻ ഇടയാക്കും, തുടർന്ന് ഡ്രൈവിംഗ് നിർത്തും. മുകളിലുള്ള ആദ്യ വീഡിയോയിൽ ഇത് കാണിച്ചിരിക്കുന്നു.
പൈത്തണിൽ ദൂര സെൻസർ കോഡ് ചെയ്യുന്നു
കുറിപ്പ്:പൈത്തണിൽ ഒരു VEX IQ (ഒന്നാം തലമുറ) ദൂര സെൻസർ കോഡ് ചെയ്യുന്നതിന്, അത് ഒരു VEX IQ (രണ്ടാം തലമുറ) തലച്ചോറുമായി ബന്ധിപ്പിച്ചിരിക്കണം. VEX IQ (ഒന്നാം തലമുറ) ബ്രെയിൻ പൈത്തണിനെ പിന്തുണയ്ക്കുന്നില്ല.
distance_7.is_object_detected() എന്നത്
ഒരു വസ്തു കണ്ടെത്തിയാൽ 'true' എന്നും ഒരു വസ്തു കണ്ടെത്തിയില്ലെങ്കിൽ 'false' എന്നും distance.is_object_detected കമാൻഡ് റിപ്പോർട്ട് ചെയ്യുന്നു.
കുറിപ്പ്:കമാൻഡിൽ ദൃശ്യമാകുന്ന ഡിസ്റ്റൻസ് സെൻസറിന്റെ പേര് അത് കോൺഫിഗറേഷനിൽ നൽകിയിരിക്കുന്ന പേരിന് സമാനമാണ്.
drivetrain.drive(FORWARD) |
| ഈ ഉദാഹരണത്തിൽ, distance.is_object_detected കമാൻഡിനൊപ്പം not കണ്ടീഷനുള്ള ഒരുWhile ലൂപ്പ് ഉപയോഗിച്ച് Distance സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നതുവരെ റോബോട്ട് മുന്നോട്ട് നയിക്കാൻ സഹായിക്കുന്നു. സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുമ്പോൾ, മുകളിലുള്ള പൈത്തൺ കോഡിൽ കാണിച്ചിരിക്കുന്നതുപോലെ റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തും. |
ദൂരം_7.ദൂരം(എംഎം)
distance.distance കമാൻഡ് ഡിസ്റ്റൻസ് സെൻസറിൽ നിന്ന് ഏറ്റവും അടുത്തുള്ള വസ്തുവിന്റെ ദൂരം റിപ്പോർട്ട് ചെയ്യുന്നു. ഇത്24mm മുതൽ 1000mm വരെ അല്ലെങ്കിൽ 1 ഇഞ്ച് മുതൽ 40 ഇഞ്ച് വരെ ശ്രേണി റിപ്പോർട്ട് ചെയ്യുന്നു.
drivetrain.drive(FORWARD) |
|
ഈ ഉദാഹരണത്തിൽ, distance.is_object_detected കമാൻഡിനൊപ്പം not കണ്ടീഷനുള്ള ഒരു While ലൂപ്പ് ഉപയോഗിച്ച് Distance Sensor ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നതുവരെ റോബോട്ട് മുന്നോട്ട് നയിക്കാൻ സഹായിക്കുന്നു. സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുമ്പോൾ, റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തും. ഈ ഉദാഹരണത്തിൽ, ഡിസ്റ്റൻസ് സെൻസറും ഒരു വസ്തുവും തമ്മിലുള്ള ദൂരം ബ്രെയിൻ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുന്നതിന് distance.distance കമാൻഡ് ഒരു brain.screen.print കമാൻഡിനൊപ്പം ഉപയോഗിക്കുന്നു. distance.distance കമാൻഡ് ഒരു While ലൂപ്പിനുള്ളിൽ അല്ല അവസ്ഥയിൽ കാണിച്ചിരിക്കുന്നു. ഇത് 50 മില്ലിമീറ്ററിൽ താഴെ അകലെയുള്ള ഒരു വസ്തുവിനെ ഡിസ്റ്റൻസ് സെൻസർ കണ്ടെത്തുന്നതുവരെ റോബോട്ട് ഓടിക്കാൻ ഇടയാക്കും, തുടർന്ന് ഡ്രൈവിംഗ് നിർത്തും. മുകളിലുള്ള ആദ്യ വീഡിയോയിൽ ഇത് കാണിച്ചിരിക്കുന്നു. |