Сипаттама
Бұл сенсор оның және ең жақын қатты заттың арасындағы қашықтықты хабарлайды (50мм - 1м диапазон). Ол ультрадыбыстық толқындардың объектіден секіріп, сенсорға оралуына кететін уақытты пайдаланып қашықтықты есептейді.
Қашықтық сенсоры қалай жұмыс істейді: қашықтықты тыңдау
Қашықтық сенсоры дыбысты өлшеу үшін сонар құрылғыларымен бірдей принциптерді пайдаланады. Ол сенсордың бір жағындағы эмитенті бар ультрадыбыстың кішкентай импульсін жібереді, содан кейін сенсордың екінші жағындағы қабылдағышқа кері әсер ететін дыбысты есту үшін қанша уақыт қажет. Датчик дыбыс импульсінің айналмалы сапарға қанша уақыт кеткеніне негізделген қашықтықты есептейді. Содан кейін қашықтық сенсоры робот миына ең жақын нысанның қаншалықты қашықтықта екенін айту үшін дыбыс жылдамдығына негізделген есептеу жасайды.
Егер беті қисық қабырға немесе шар тәрізді тегіс болмаса, ультрадыбыстық толқын барлық бөліктерден бірдей немесе бір уақытта серпілмейді. Толқынның анықталатын мөлшерін кері шағылыстыруға жеткілікті үлкен ең жақын бет объектінің анықталған қашықтығын анықтайды.
Қашықтық сенсорының жалпы қолданылуы:
Бұл сенсор оның алдында нысанның бар-жоғын анықтай алады.
Бұл сенсор объекті мен оның арасындағы қашықтықты өлшей алады.
- Робот бұл сенсорды нысаннан белгілі бір қашықтықты жүргізу үшін пайдалана алады. Қашықтық 160 мм-ден төмен болғанша робот жүріп келе жатқанда қашықтық мәнінің өзгеруін көру үшін төмендегі анимацияны қараңыз.
- Робот бұл сенсорды объектіге қол тигізбестен апару үшін пайдалана алады. Жүргізуді үйлестіру үшін қашықтық сенсорларын пайдаланатын екі роботты көру үшін осы анимацияны қараңыз.
- Бұл сенсор беретін мәндерді роботтың объектіге немесе бетінен жақын немесе алыс болуына байланысты жылдамдығын реттеу үшін пайдалануға болады. Роботтың қабырғаға дейінгі қашықтыққа қарай реттелуін көру үшін осы анимацияны қараңыз.
Жарыс роботында қашықтық сенсорын қолдану
- Робот дұрыс жерде болған кезде әрекеттер тізбегін бастау үшін қашықтық сенсорын пайдалана алады. Мысалы, робот қабырғадан 150 мм қашықтықта екенін анықтағанша алға қарай жүре алады, содан кейін 90 градусқа бұрылып, нысанды баллдық аймаққа жібере алады.
- Қашықтық сенсорын объект ауқымда анықталған кезде ойын бөлігін алу сияқты робот әрекеттерін іске қосу үшін пайдалануға болады.
- Робот қашықтық сенсорын нысанға немесе бетке ол белгілі бір қашықтықта болғанша, оған тимей-ақ жүргізу үшін пайдалана алады. Бұл робот ойын бөліктерін қағып кетпейтініне көз жеткізу үшін пайдаланылуы мүмкін.
- Робот белгілі бір қашықтыққа жеткенше нысаннан немесе бетінен алыстау үшін қашықтық сенсорын пайдалана алады. Бұл алаңда басқа роботтармен соқтығысуды болдырмау үшін пайдаланылуы мүмкін.
VEXcode IQ жүйесінде қашықтық сенсорын пайдалану
Қашықтық сенсорын VEXcode IQ жүйесінде құрылғы ретінде қосу
Қашықтық сенсорын VEXcode IQ жүйесінде кодтау үшін алдымен қашықтық сенсорын конфигурациялау керек. VEXcode IQ жүйесінде сенсорды конфигурациялау туралы қосымша ақпарат алу үшін осы мақаланы қараңыз.
Сенсор конфигурацияланғаннан кейін жобаңызда пайдалануға болатын Құралдар жинағында пәрмендер пайда болады.
Блоктардағы қашықтық сенсорын кодтау
<Object found> блогы шартты ақиқат немесе жалған деп хабарлайтын логикалық репортер блогы болып табылады. <Object found> блогы сияқты логикалық блоктар басқа блоктар үшін алтыбұрышты (алты жақты) кірістері бар блоктардың ішіне орналасады.
<Object found> логикалық блок сенсор нысанды анықтаса, «шын», ал сенсор анықтамаса, «жалған» деп хабарлайды. Логикалық блоктар туралы қосымша ақпарат алу үшін Анықтама немесе Блок пішіндері мен мағынасы мақаласына кіріңіз.
Бұл мысалда <Object found> блогы Қашықтық сенсоры нысанды анықтағанша роботты алға жылжыту үшін [Күту] блогымен бірге пайдаланылады. Сенсор нысанды анықтаған кезде, робот жоғарыдағы суретте көрсетілгендей қозғалысты тоқтатады.
(Distance from) блогы қашықтық сенсорынан ең жақын нысанның қашықтығын хабарлайды. Ол24 мм-ден 1000 мм-ге дейін немесе 1 дюйм мен 40 дюймге дейінгі диапазонды хабарлайды. (Distance from) блогы дөңгелек кеңістіктері бар блоктардың ішінде пайдаланылатын репортер блогы болып табылады.
Бұл мысалда (Distance from) блогы Ми экранында қашықтық сенсоры мен нысан арасындағы қашықтықты көрсету үшін [Print] блогымен бірге пайдаланылады. (Ашықтығы) блогы {Wait until} блоктың ішіндегі <Less than> блогының ішінде де көрсетіледі. Бұл роботты Қашықтық сенсоры 50 миллиметрден аз қашықтықтағы нысанды анықтағанша жүргізеді, содан кейін қозғалысты тоқтатады. Бұл жоғарыдағы бірінші бейнеде көрсетілген.
Python тіліндегі қашықтық сенсорын кодтау
Ескертпе:Python тілінде VEX IQ (1-буын) қашықтық сенсорын кодтау үшін ол VEX IQ (2-ші буын) миына қосылуы керек. VEX IQ (1-буын) миы Python тілін қолдамайды.
қашықтық_7.is_object_detected()
distance.is_object_detected пәрмені нысан анықталса, «шын» және нысан анықталмаса, «жалған» деп хабарлайды.
Ескертпе:Пәрменде пайда болатын қашықтық сенсорының атауы конфигурацияда берілген атқа сәйкес келеді.
drivetrain.drive(FORWARD) |
| Бұл мысалда емес шарты барWhile циклі Қашықтық сенсоры нысанды анықтағанша роботты алға жылжыту үшін distance.is_object_detected пәрменімен пайдаланылады. Сенсор нысанды анықтаған кезде, робот жоғарыдағы Python кодында көрсетілгендей көлік жүргізуді тоқтатады. |
қашықтық_7.дистанция(мм)
қашықтық.дистанция пәрмені қашықтық сенсорынан ең жақын нысанның қашықтығын хабарлайды. Ол24 мм-ден 1000 мм-ге дейін немесе 1 дюйм мен 40 дюймге дейінгі диапазонды хабарлайды.
drivetrain.drive(FORWARD) |
|
Бұл мысалда While циклі емес шарты бар remote.is_object_detected пәрменімен роботты қашықтық сенсоры нысанды анықтағанша алға жылжыту үшін пайдаланылады. Сенсор нысанды анықтаған кезде, робот қозғалысты тоқтатады. Бұл мысалда Ми экранында Қашықтық сенсоры мен нысан арасындағы қашықтықты көрсету үшін қашықтық.қашықтық пәрмені brain.screen.print пәрменімен бірге пайдаланылады. қашықтық.дистанция пәрмені емес шартымен While циклінің ішінде де көрсетіледі. Бұл роботты Қашықтық сенсоры 50 миллиметрден аз қашықтықтағы нысанды анықтағанша жүргізеді, содан кейін қозғалысты тоқтатады. Бұл жоғарыдағы бірінші бейнеде көрсетілген. |