Просмотр содержимого документа
«Жанасу датчигі сабақ жоспары»
Жанасу датчигі Кіріспе:
Lego mindstorms EV3 конструкторының құрамына әр түрлі датчиктер кіреді. Датчиктердің басты міндеті-EV3 модуліне сыртқы ортадан ақпарат беру, ал программисттің міндеті - Робот моторларына қажетті командаларды бере отырып, осы ақпаратты алуға және өңдеуге үйрену.
1. Бірінші датчик – жанасу датчигін үйренеміз
Датчиктерді EV3 модуліне қосу үшін сандармен белгіленген порттар "1", "2","3" және "4" пайдаланылады. Осылайша, бір EV3 модуліне бір уақытта төрт түрлі датчиктерді қосуға болады. Барлық порттар бір-біріне балама және датчиктерді кез-келген портқа қосуға болады, ең бастысы - бағдарламада тиісті датчиктер үшін порт нөмірін көрсеткен кезде мұқият болыңыз.
Сур. 1
Біз зерттейтін бірінші датчик – жанасу датчигі (Сур. 2).
Сур. 2
Бұл датчик, шын мәнінде, екі күйде болуы мүмкін арнайы батырманы білдіреді: "Басу" (Сур. 3, пункт 1) немесе "Босату " (Сур. 3, пункт. 2). Сондай-ақ, "Басу" күйіне біртіндеп өту, содан кейін "Босату" "Шерту" (Сур. 3, пункт. 3) деп аталады және тәуелсіз оқиға ретінде бағдарламамен өңделуі мүмкін..
Сур. 3
2. Қызғылт сары палитра-операторларды басқару
Датчиктерден ақпарат алу және бағдарламада осы ақпаратқа жауап беру үшін бізге қандай құралдар ұсынады? "Операторларды басқару" деп аталатын қызғылт сары палитрада орналасқан бағдарламалық блоктармен танысайық". (Сур. 4)
Сур. 4
Қызғылт сары палитраның бағдарламалық блоктарының аздығына қарамастан өте маңызды! Осы блоктардың көмегімен біз көптеген оқиғалар мен жағдайларды өңдей аламыз және осы блоктарсыз болуы мүмкін практикалық бағдарламаны ұсыну қиын.
Қызғылт сары палитраның ең бірінші блогымен біз таныспыз: ол "Бастау" деп аталады. Роботтар үшін барлық бағдарламалар одан басталады.
Екінші бағдарламалық блок "Күту" деп аталады. Бұл блок бағдарламаны қандай да бір шартты орындауды немесе қандай да бір оқиғаның басталуын күтуге мәжбүрлейді. Осы блокта орнатылған шарт орындалғанша, бағдарлама келесі бағдарламалық блоктарды орындауға өтпеді! Егер "Күту" блогын орындау алдында қандай да бір моторлар қосылса, онда олар белгіленген жылдамдықпен айналуды жалғастырады.
Үшінші бағдарламалық блок "Цикл" деп аталады. Бұл блок блоктың параметрлерінде берілген циклді аяқтау шарты орындалғанша, оның ішіне салынған бағдарламалық блоктарды бірнеше рет орындайды.
Келесі бағдарламалық блок "Ауыстырып қосқыш" деп аталады. Ол Берілген шарттарға байланысты өз контейнерлерінің біріне салынған бағдарламалық блоктардың бір тізбегін орындау үшін қызмет етеді.
Соңғы бағдарламалық блок "Циклді үзу" деп аталады. Оның мақсаты-берілген циклді орындауды мерзімінен бұрын тоқтату.
"Күту", "Цикл" және "Ауыстырыпқосқыш" бағдарламалық блоктары көптеген режимдер мен тиісті параметрлерге ие..
3. Қызғылт сары палитра, "Күту" бағдарламалық блогы
Практикалық тапсырмаларды орындамас бұрын, суретте көрсетілгендей, біздің роботымызға жанасу датчигін бекітейік. Сур.5 көрсетілгендей оны EV3 Модулінің "1" портына кабельмен қосамыз.
Сур. 5
Тапсырма №1: батырманы "Шерту" арқылы роботтың қозғалысын іске қосатын бағдарлама жазу керек.
Шешімі:
Тапсырманың шарты бізге мүмкін шешім береді: қозғалысты бастамас бұрын жанасу датчигінің батырмасын "басу-жіберуді" күту керек. "Күту" бағдарламалық блогын аламыз, бағдарламалық блок режимін "жанасу датчигі" - "салыстыру" өзгертеміз (Сур. 6).
Сур. 6
"Күту" бағдарламалық блогы өзінің көрінісін өзгерткенін көруге болады! Бағдарламада белгіленген жұмыс режимін көзбен бағалауға көмектесетін, құм сағаттарының жанында жанасу датчигінің бейнесі пайда болды (Сур. 7, пункт 1). "Күй" бағдарламалық блогын баптау "Күту" блогының орындалуын тоқтататын датчиктің қажетті күйін анықтайды (Сур. 7, пункт 2). "Күй" параметрлері келесі мәндерді қабылдай алады: "0" - "Жіберу", "1" -"Басу", "2" - "Шерту". Тапсырманы орындау үшін, "Шерту" күйін таңдаңыз. "Өлшенген мән" шығысы (Сур. 7, пункт 3) қажет болған жағдайда өңдеу үшін датчиктің соңғы күйін басқа бағдарламалық блокқа беруге мүмкіндік береді.
Сур. 7
Осылайша: күту блогын баптаған кезде, біздің бағдарламаның орындалуы басылғанға дейін тоқтатылады-сенсор түймесі басылғанға дейін. Тек "Шертуден" кейін орындау келесі бағдарламалық блокқа жіберіледі. (Сур. 8)
Сур. 8
Тапсырма №2: кедергіге тап болған роботты тоқтататын бағдарлама жазу керек.
Жанасу датчигінен біздің робот кедергіге тап болғанын бізге сигнал беретін шағын бампер жинайық. Төменде LEGO mindstorms EV3 конструкторынан жинақтауға арналған егжей-тегжейлі нұсқаулар берілген. Сіз эксперимент жасай аласыз және өз дизайн нұсқасыңызды ойлап таба аласыз.
Lego mindstorms EV3 home
Lego mindstorms EV3 education
Алынған элементті біздің роботтың алдыңғы арқалығына бекітеміз және EV3 Модулінің "1" портымен жанасу датчиктерін жалғаймыз.
Lego mindstorms EV3 Home
Lego mindstorms EV3 Education
Конструкция дайын! Бағдарламаны құруға кірісеміз. Тапсырма шарты бойынша: робот кедергі келтіргенге дейін алға жылжуы тиіс. Бұл жағдайда жанасу датчигі басылады! Орындауүшін тағы да "Күту" бағдарламалық блогын қолданамыз.
Шешімі:
Алға тік сызықты қозғалысты бастау (Сур. 9 поз. 1).
Келесі тапсырманы шешу үшін бізге "Цикл" палитрасы бағдарламалық блогы қажет болады.
Тарсырма №3: роботты алға жылжытуға, кедергіге барғанда - артқа қарай шығуға, 90 градусқа оңға бұруға және келесі кедергіге дейін алға жылжуды жалғастыруға мәжбүр ететін бағдарлама жазу қажет.
Кеңес: қозғалу - кету - бұрылу бағдарламасын жазып, сынап көріңіз, содан кейін осы блоктарды "Цикл" бағдарламалық блогының ішіне қойыңыз.
Өздік тапсырмалар:
Робот қозғалысының келесі алгоритмін құрыңыз: жанасу датчигі басылғанға дейін робот алға жүреді, басылған кезде дыбыс ойнайды және тоқтайды.
Робот қозғалысының келесі алгоритмін құрыңыз: робот белгілі бір кедергіге тап болғанша баяу жылдамдықпен тура жүреді, сосын тоқтап, 2 секунд күтеді, 1800-қа бұрылып, кедергіге соғылғанша тура жүреді, файл дыбысын шығарып, тоқтайды.
Робот қозғалысының келесі алгоритмін құрыңыз: баяу жылдамдықта жанасу датчигі басылғанға дейін айналады. Датчик басылғанда робот бағытын кері өзгертіп, жоғары жылдамдықта қайта жанасу датчигі басылғанға дейін айналады.
Робот қозғалысының келесі алгоритмін құрыңыз: робот жанасу датчигі басылғанға дейін қозғалыссыз тұрады, датчик басылған кезде дыбыс шығарады және алға 5 секунд жүреді.