Файл: Ультрадыбысты датчик.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 55

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ультрадыбыстық датчик


Ультрадыбыстық датчиктің басты мақсаты-оның алдындағы заттарға дейінгі қашықтықты анықтау. Бұл үшін датчик жоғары жиілікті дыбыстық толқынды (ультрадыбыс) жібереді, объектіден шағылысқан кері толқынды ұстайды және ультрадыбыстық импульсті қайтару уақытын өлшеп, жоғары дәлдікпен затқа дейінгі қашықтықты есептейді.



Сурет 1

Ультрадыбыстық датчик сантиметрмен немесе дюйммен өлшенген қашықтықты бере алады. Датчиктің өлшеу диапазоны сантиметрде 0 - ден 255 см-ге дейін, дюймде 0-ден 100 дюйм-ге дейін тең. Датчик заттарды 3 см-ден (1,5 дюйм) кем қашықтықта анықтай алмайды. Сондай-ақ ол жұмсақ, матадан жасалған және аз көлемді объектілерге дейінгі қашықтықты тұрақты түрде өлшемейді. Сантиметр мен дюймдердегі қашықтықты өлшеу режимдерінен басқа, датчиктың арнайы "болу/тыңдау" режимі бар. Бұл режимде датчик ультрадыбыстық импульстер жібермейді,бірақ басқа ультрадыбыстық датчиктың импульстерін анықтай алады.

Small-robot-45544 нұсқауы бойынша жиналған роботтың ультрадыбыстық датчигі қозғалыс барысында алда бекітілген. Оны EV3 Модулінің "3" портына қосамыз және ультрадыбыстық датчикті қолданудың практикалық мысалдарын талдауға кірісеміз.

Тапсырма №1: тік сызықты қозғалатын роботты қабырғаға немесе кедергілерге дейін 15 см қашықтықта тоқтататын бағдарлама жазу.

Тапсырманы шешу үшін бізге таныс қызғылт сары палитрада орналасқан "Күту" бағдарламалық блогын қолданамыз, оны "Ультрадыбыстық датчик" - "Салыстыру" - "Сантиметрдегі қашықтық" режиміне ауыстырамыз (сурет. 2).



Сурет__2_Шешімі_:__Алға_тіксызықты_қозғалысты_бастау_(_Сурет__3_поз._1)'>Сурет 2

Шешімі:

  1. Алға тіксызықты қозғалысты бастау (Сурет 3 поз. 1)

  2. Ультрадыбыстық датчиктің мәні 15 см кем болмайынша күтіңіз. (Сурет 3 поз. 2)

  3. Алға қозғалысты тоқтату (Сурет 3 поз. 3)




Сурет 3

Тапсырма2: кедергіден 15 см қашықтықты ұстап тұратын робот үшін бағдарлама жазу.

Шешімі: 

Роботтың қозғалысы келесідей болады:

  • ультрадыбыстық датчиктің көрсеткіші 15 см артық болғанда, робот кедергіге жақындауға тырыса отырып, алға жылжиды;

  • ультрадыбыстық датчиктің көрсеткішінің мәні 15 см-ден аз болса, робот кедергіден алыстауға тырысып, артқа қарай қозғалады.

Біз талаптарға байланысты орындалатын блоктарды таңдауды ұйымдастыру үшін қызғылт сары палитраның"Ауыстырып-қосқыш"__бағдарламалық_блогы'> "Ауыстырып-қосқыш" бағдарламалық блогы жауап беретінін білеміз. "Ауыстырып-қосқыш" блогы үшін "Ультрадыбыстық датчик" - "Салыстыру" - "Сантиметрдегі қашықтық" режимін орнатамыз (сурет 4 поз.1). "Ауыстырып-қосқыш" блогының "Салыстыру түрі" параметрін "артық"=2 мәніне орнатамыз, ал "Шекті мәнді" 15-ке тең деп анықтаймыз (сурет. 4 поз. 2). "Ауыстырып-қосқыш" бағдарламалық блогының мұндай параметрлері бағдарламаның келесі тәртібіне әкеледі: ультрадыбыстық датчиктің көрсеткіші 15 см-ден көп болғанда жоғарғы контейнерге орналастырылған бағдарламалық блоктар орындалады (сурет 4 поз. 3), әйтпесе төменгі контейнерге орналастырылған бағдарламалық блоктар орындалады(сурет 4 поз. 4).



Сурет 4

Бұл контейнерлерге алға және артқа жылжуды қамтитын бағдарламалық блоктарды орналастырамыз. "Қосқыш" бағдарламалық блогы бірнеше рет орындалуы үшін, оны "Цикл" бағдарламалық блогының ішіне қоямыз (сурет 5).



Сурет 5

Алынған бағдарламаны роботқа жүктеңіз және оны орындау үшін іске қосыңыз. Егер роботтың алдында кедергі болмаса, ол алға жүреді. Қолыңызды ультрадыбыстық датчикке жақындатып, алыстатып көріңіз. Робот қалай жүреді?.

Робот-полиция


Ультрадыбыстық датчиктің жұмыс істеу принципі жылжымалы автомобильдердің жылдамдығын өлшеу үшін қолданылатын радарға өте ұқсас. Радар автомобиль жылдамдығын қалай біледі? Ол қозғалыстағы объектіге дейінгі қашықтықты өлшейді, белгіленген аз уақытты күтеді және өлшеуді қайталайды. Қашықтықтың айырмашылығы – автомобильдің жүріп өткен жолы. Жүріп өтілген жолды екі өлшем арасындағы уақытқа бөле отырып, өлшеу объектісі(яғни, автомобиль) қозғалатын жылдамдықты табуға болады.





Сурет 6

Роботтың іс-қимыл реттілігі келесідей болады:

  • робот қозғалатын объектінің бақылау аймағында пайда болуын күтеді;

  • объектіге дейінгі қашықтықты өлшейді;

  • 1 секунд уақыт күтеді;

  • объектіге дейінгі қашықтықты қайта өлшейді;

  • өткен қашықтықты табады және оны шекті мәнмен салыстырады;

  • нәтижені экранға шығарады және жылдамдық артқан жағдайда дабыл береді.

Біздің робот-полиция үшін бағдарлама жасауды бастаймыз.

  1. "Күту" бағдарламалық блогының көмегімен роботтың бақылау аймағында объектінің пайда болуын күтеміз (сурет 7 поз. 1). Объектіге дейінгі қашықтықты "Математика" бағдарламалық блогына жібереміз (сурет 7 поз. 4).

  2. "Күту" бағдарламалық блогының көмегімен 1 секунд күтеміз.

  3. Екінші рет ультрадыбыстық датчиктің мәнін түсіреміз (сурет 7 поз. 3), алынған мәнді "Математика" бағдарламалық блогына жібереміз (сурет 7 поз. 4).

  4. "Математика" бағдарламалық блогында өлшеу объектісі 1 секундта өткен қашықтықты табамыз. Алынған мәнді "Салыстыру" бағдарламалық блогына береміз (сурет 7 поз. 5) және экранға шығарамыз (сурет 7 поз. 6).

  5. "Салыстыру" бағдарламалық блогының көмегімен (сурет 7 поз. 5) өткен қашықтықты 10-ға тең шекті мәнмен салыстырамыз. Екі сандарды салыстыру нәтижесі логикалық қорытынды болып табылады. Логикалық қорытынды екі мәннің бірін қабылдай алады: "Иә" немесе "жоқ". Бұл шешімді біз "Ауыстырып қосқыш" бағдарламалық блогына береміз (сурет 7 поз. 7), оны алдын ала логикалық мәндерді қабылдауға баптап аламыз. Назар аударыңыз: логикалық мәндерді беретін деректер шиналары жасыл түске боялған, сандық мәндерді беретін деректер шиналары сары түсті.

  6. "Ауыстырып-қосқыш" бағдарламалық блогының көмегімен біз объектінің жылдамдығына байланысты бағдарламаның орындалуының екі тармағын ұйымдастырамыз. Егер объект 1 секунд ішінде роботқа 10 см-ден артық жақындап қалса, онда оның жақындауын сыни деп есептейміз және дабыл белгісін береміз (сурет 7 поз. 8). Әйтпесе, объект баяу қозғалады деп есептейміз, бұл жағдайда робот EV3 Модулінің жасыл түсті пернелерін қосады және " Okay" сөзін айтады.

  7. Бағдарлама соңында тағы да "Күту" бағдарламалық блогын қолданамыз (сурет 7 поз. 10) және EV3 Модулінің экранында ақпаратты оқып үлгеру үшін бағдарламаны аяқтауды 5 секундқа тежейміз.




Сурет 7 

Бағдарламаны роботқа жүктеңіз, роботты оның алдында 60 сантиметр қашықтықта басқа заттар болмайтындай етіп орналастырыңыз, бағдарламаны орындау үшін іске қосыңыз. Роботқа қарай ойыншық автомобильді немесе көлемді затты жылжытыңыз, Робот реакциясын қадағалаңыз. Бағдарламаның шекті мәндерін өзгертуге тырысыңыз. Роботтың іс-қимылы қалай өзгереді?
Ультрадыбыстық датчик - "Қатысуы/Тыңдау" режимі

Жоғарыда айтылғандай, бұл режимде ультрадыбыстық датчик басқа ультрадыбыстық датчиктің сәулеленуін анықтай алады. Анықтаудың нәтижесі логикалық мән болып табылады: егер ультрадыбыстық сәуле табылса "Иә" мәні, ештеңе табылмаса "Жоқ" мәні орнатылады. Бұл режимді, мысалы, Шпион-Роботтар жарыстарында қолдануға болады (режимнің сипаттамасы оны пайдалану үшін кем дегенде екі робот қажет екенін көрсетеді).

Тапсырма3: ультрадыбыстық датчигі бар басқа роботты анықтайтын бағдарлама жазыңыз.
Өздік тапсырмалар:

  1. Тік сызықты қозғалатын роботты қабырғаға немесе кедергілерге дейін 15 см қашықтықта тоқтататын бағдарлама жазу

  2. Кедергіден 15 см қашықтықты ұстап тұратын робот үшін бағдарлама жазу.

  3. Робот қозғалысының келесі алгоритмін құрыңыз: робот өз жолында 10 см қашықтықта кедергі пайда болғанға дейін жүреді, сосын дыбыс шығарып, солға бұрылады және келесі кедергіге дейін қозғалады.

  4. Робот қозғалысының келесі алгоритмін құрыңыз: егер кедергіге дейінгі арақашықтық 10 см-ден көп болса, робот алға жүреді. Егер кедергіге дейінгі арақашықтық 10 см-ден кем болса – дыбыс шығарады, белгілі бір градусқа бұрылып, тура 5 сек жүреді және тоқтайды.

  5. Робот тура жүреді, кедергіге 10 см қалғанда тоқтап, экранға «10см» деп шығарады, 1 секунд күтеді. 90 градусқа бұрылып, кедергіге 20 см қалғанша тура жүреді, тоқтап, экранға «20 см» деп шығарады.

  6. Робот бір орында қозғалыссыз тұрады. Егер датчиктің алдына қандай да бір зат жақындаса, сигнал жасайды. Осы әрекетті 3 рет қайталайды.