Робот техникасы және бағдарламалау

Тақырып бойынша 11 материал табылды

Робот техникасы және бағдарламалау

Материал туралы қысқаша түсінік
Робот техникасы және бағдарламалау
Материалдың қысқаша нұсқасы

1-2-сабақ. 12әжірибелік сабақ

Scratch 2.0 көмегімен Lego Mindstorms EV3 роботын бағдарламалау

Осы сабақта біз Lego Mindstorms EV3-ті бағдарламалау үшін Scratch 2.0-ды қалай орнатып, баптау керек екенін үйренетін боламыз.

SD-картаны дайындау

Ары қарай бір нәрсе бастамас бұрын тиісті SD-картаны тауып, ол жерден барлық артық бөлімдерді өшіріп, оны тазарту керек. Ол картаның көлемі кемінде 2Гб болуы тиіс, бірақ 32Гб-тан аспағаны жөн (SDXC-карталарды EV3 модулі қабылдамайды). Картадағы файлдық жүйе FAT32 болуы керек. leJOS жасаушылары картаны SD Card Formatter бағдарламасымен тазартуды ұсынады. Себебі сіз жаңа ғана сатып алған картаны қолдануды шешсеңіз, онда жасырын бөлімдер болып, олар EV3-пен жұмыс істеу кезінде қиындық тудыруы мүмкін. Алайда, егер сіздің SD-картаңыз 4Гб-тан аз болса, онда бағдарлама автоматты түрде FAT файлдық жүйесін таңдайды, оны бапталымнан өзгертуге де болмайды, сол себепті, SD Card Formatter бағдарламасымен тазартқаннан кейін осындай карталарды FAT32 форматына өзге бір әдіспен сақтаңыз.

leJOS EV3 компоненттерін компьютерге орнату

leJOS – кішкентай виртуалды Java-машина, ол 2013 жылы Lego Mindstorms EV3 жүйесімен жұмыс істеу үшін бейімделген болатын. http://www.lejos.org/ev3.php

Windows басқаруындағы компьютерлер үшін жасаушылар дистрибутив дайындады, онда SD-картаны дайындауға арналған утилита, құжаттама және мысалдар бар.

Сонымен, leJOS EV3-ті компьютерге орнатайық:

  1. Ресми сайттан leJOS EV3-тің соңғы нұсқасын жүктеңіз.

  2. Жүктелген дистрибутивты өз компьютеріңізде қосыңыз. Сізбен сәлемдесуді көресіз. «Next»-ті басыңыз.

  1. Осы кезеңде JDK (Java Development Kit)-ті қолданасыз. Java 7 немесе 8-ді қолдану ұсынылады. Алайда, Java 8-ді қолдану үшін сізге ықшамды Java профилін жасау керек болады, сондықтан, Java 7-ні қолданған жеңілірек болады, сол себепті де біз осылай істейміз. Егер сізде JDK орнатылмаған болса, «Download JDK» батырмасына басыңыз да, Oracle сайтына көшкеннен кейін тиісті JDK-ді жүктеңіз және компьютерге орнатыңыз. «Next» батырмасын басыңыз.



  1. Келесі кезеңде орнату жолын таңдай аласыз немесе өзгертусіз қалдырсаңыз да болады. «Next»-ті басыңыз.

  2. Келесі кезеңде орнатылатын компоненттердің тізімін көресіз. Барлық компоненттерді орнату керек. «Next»-ті басыңыз.

  1. Келесі кезеңде сіз таңдалған компоненттерді орнатуда балама жолдарды таңдай аласыз. Бұл жерде барлығын үйреншікті қалпы бойынша қалдырып, «Next»-ті басыңыз.

  2. Келесі кезеңде «Пуск» мәзірінде папка атауы таңдалады. «Next»-ті басыңыз.

  3. Соңғы кезеңінде «Install»-ды басыңыз.

  4. Егер сіздің компьютеріңізде leJOS EV3-тің алдыңғы нұсқасы орнатылған болса, онда сіз ескертуді көресіз, суретті қараңыз. Компьютерден алдыңғы нұсқасын кетіру үшін «OK»-ты басыңыз.

  1. Орнатып болған соң соңғы терезені көресіз. Бұл жерде мастерден шығу кезінде SD-картасына дайындық утилитасын қосу үшін «Launch EV3SDCard utility» қанатшасын қоюға болады.

leJOS EV3 SD-картасын құру

leJOS EV3 компоненттерін компьютерге орнатқаннан кейін «Launch EV3SDCard utility» орнатылған қанатшасы бар «Finish» батырмасын басыңыз немесе утилитаны қолмен қосыңыз, ол үшін bin папкасында (leJOS EV3-ті орнатқан) орналасқан ev3sdcard.bat файлын қосыңыз (негізінен ол «C:\Program Files\leJOS EV3\bin»).

Жоғарғы алаңда өз картаңыздың дискісінің әрпін таңдау керек болады, менде ол дискі I:. Төменгі алаңда leJOS бейнесімен файл көрсетіледі және қалыпты жағдайда сізде дұрыс жол жазылуы тиіс. Бұл файлды leJOS EV3 (менде ол «C:\Program Files\leJOS EV3») компоненттері орнатылған папкадан табуға болады. Ең төменгі алаңда Java орындау ортасынан Oracle http://www.oracle.com/technetwork/java/embedded/downloads/javase/javaseemeddedev3-1982511.html сайтынан жүктеу қажет файлды таңдауға болады (егер Java 8 ықшамды профилін құруды жоспарламаған болсаңыз, Java 8 SDK емес, келесіні таңдағаныңызға көз жеткізіңіз: Java 7 JRE). Жүктеу үшін, тіркелу қажет болады.

Барлық алаңдар толтырылған кезде «Create» батырмасын басыңыз, SD-картаға қажетті файлдар көшірілген кезде мынадай хабарламаны көресіз:

«OK»-ты басыңыз, кейін бағдарлама терезесін жауып, қауіпсіз түрде картаны компьютерден шығарыңыз. Содан соң, сөндірілген EV3 модуліне ортаңғы батырмаға басып қосыңыз. Сіз leJOS EV3 логотипін, тазалау үдерісін және SD-карта бейнесінің орнатылуын көресіз. Ол шамамен 8 минутқа жалғасады. Осы үдеріс соңында EV3 модулі қайта жүктеледі де, сіз leJOS EV3 мәзірін көресіз.

Алдағы уақытта leJOS EV3 SD-картасы кіріктірілген EV3 модулін қосқанда leJOS EV3 жүктелуі басталады, ал SD-картасыз стандартты ПО LEGO жүктеледі.





Компьютерге ev3-scratch-helper-app қосымшасын орнату

Келесіні қадамда ev3-scratch-helper-app көмекші-қосымшасын компьютеріңізге орнату, ол Scratch пен EV3 модулінің әрекеттесуін мүмкін етеді. Оны екі әдіспен орнатуға болады:

  1. Егер сіздің компьютеріңізде git орнатылған болса, онда сіз консольде «git clone https://github.com/koen-dejonghe/ev3-scratch-helper-app.git» командасын орындап, жоба көшірмесін жасай аласыз. Осы әдісті қолданған дұрысырақ, бірақ, егер сіз git дегеннің не екенін білмесеңіз, онда екінші әдісті қолдануға болады.

  2. zip-архивті жобамен бірге жүктеп, ашыңыз.

zip-архив ішіндегі ev3-scratch-helper-app-master папкасын C дискісіне сақтау қажет:

«scratch» орнату папкасында «ev3-helper-app.s2e» файлын таба аласыз. Қосымшасы бар папкада бапталымдарымен бірге «application.properties» файлын табасыз. Қажет болса, бапталымдарды өзгертіңіз.

Өзгертуден кейін «application.properties» файлындағы «server.port» сипатының мәні «ev3-helper-app.s2e» файлындағы «extensionPort» ауыспалысына тең екеніне көз жеткізіңіз.

ev3-scratch-helper-app қосымшасын іске келтіру

Scratch 2 редакторын іске келтірудің алдында ev3-scratch-helper-app қосымшасы қосулы болуы тиіс. Оны іске қосу үшін келесіні жасаңыз:

    1. Консоль терезесін қосыңыз, ағымдағы терезені ev3-scratch-helper-app қосымшасы орнатылған папкаға ауыстырыңыз. Менде ол папка «C:\ev3-scratch-helper-app», сол себепті «cd C:\ev3-scratch-helper-app» командасын енгіздім.

    2. «gradlew.bat bootRun» командасын орындаңыз. Бірінші орындаған кезде компьютеріңізге керекті кітапханалар жүктеліп, орнатылатын болады, сондықтан компьютеріңізде Интернет бар екеніне көз жеткізіңіз. Алғашқы іске қосу ұзақ уақыт алады, шыдамды болыңыз.

Қосымша іске қосылғаннан кейін, консольде шамамен келесідей хабарлама көрсетіледі:

Алдағы уақытта іске қосу үшін қолайлы болу мақсатында таңбаша (ярлык) жасауға болады, мысалы, жұмыс үстелінде. «C:\ev3-scratch-helper-app» папкасына арналған таңбаша сипаттары мынадай:

ev3-scratch-helper-app қосымшасын іске қосқанда желідегі бірінші қолжетімді EV3 модуліне қосылады. Егер бір де бір модуль табылмаса, онда қосымша сондай модульдің пайда болғанын күтеді.



EV3 бағдарламалық блоктарын Scratch 2 офлайн редакторына қосу

Іске қосқан кезде автоматты түрде жаңа бос жоба құрылады. Енді осы жоба үшін EV3 блоктарын импорттау керек, ол үшін «Shift» батырмасын басып тұрып, мәзірден «Файл – HTTP эксперименттік кеңейтімді импорттауды» басыңыз да, ev3-helper-app.s2e файлын таңдаңыз. Бұл үдерісті әр жаңа жоба үшін бір реттен жасап тұру қажет.

Осыдан кейін «Скриптілер» белгісін ашып, «Өзге блоктарға» басыңыз да, осы жерде блоктардың пайда болғанына көз жеткізіңіз. Блоктардың бар-жоғын тексеруді шама келгенше бұрын сақталған жобаны ашқаннан кейін өткізіп тұру керек. «EV3HelperApp» атауының оң жағындағы жасыл дөңгелек v3-scratch-helper-app қосымшасының орындалып жатқандығын білдіреді. Егер дөңгелек қызыл болса, онда ол v3-scratch-helper-app қосымшасының орындалып жатпағандығын және оны қосу керектігін білдіреді.



























EV3 модулін компьютерге қосу

EV3 модулін компьютерге екі әдіспен қосуға болады: Bluetooth немесе WiFi арқылы.

WiFi арқылы қосу үшін USB WiFi адаптер болуы тиіс. leJOS EV3 модулі Atheros ATH9K және Realtex 8192cu чипсеттары бар адаптерлерді қабылдайды. EV3 модулін әзірлеушілер NetGear WNA1100 және EDIMAX EW-7811Un адаптерлерімен тексерістен өткізген, бірақ аталған чипсеттердің бірімен жұмыс істейтін болса, басқа адаптерлерді де қолдануға болады.

Bluetooth арқылы қосу үшін алдымен EV3 модулі мен компьютерді бір-біріне қосу қажет, кейін Bluetooth (PAN) жеке желісін құру керек.

EV3 модулін компьютерге қосуды «EV3 модулі – компьютер» жұбына арнап бір рет орындау керек:

  1. leJOS EV3 басты мәзірінің EV3 модулінде мәзірдің «Bluetooth» тармағын тауып, EV3 модулінің орталық батырмасын басып ішіне кіріңіз. Егер «Visibility on» жазуын көрсеңіз, онда барлығы дұрыс: модуль көрінетіндігі қосулы. Егер «Visibility off» жазуын көрсеңіз, онда мәзірден «Visibility» тармағын (көздің суреті бар) тауып, көрінетіндігін қосу үшін EV3 модулінің орталық батырмасына екі рет басыңыз (жазу «Visibility on»-ға ауысу керек).

  2. К омпьютерде «Басқару панелі – Жабдықтар және дауыс – Құрылғы және принтерлер» ашыңыз. Компьютеріңізге қосулы құрылғылардың тізімін көресіз.

  3. Компьютер Bluetooth-і қосулы екендігіне көз жеткізіңіз де, жоғарыдағы «Құрылғы қосу» батырмасына басыңыз. Диалогтік терезе пайда болады, ол жерде біраз уақыттан кейін EV3 модулі пайда болуы тиіс. Соның үстінен басыңыз, содан соң, «Әрі қарай»-ға басыңыз.

  1. Келесі қадамда қалай қосуға болатынының нұсқаларын көресіз. Екінші нұсқаға басып, 1234 PIN-кодын енгізіңіз.

EV3 модулі мен компьютер бір-біріне қосылғаннан кейін Bluetooth (PAN) жеке желісін жасауға болады (PAN желісіне қосылуды сізге EV3 модулін әр қосқан сайын орындап тұру қажет болады):

    1. «Басқару панелі – Желі және Интернет – Желілерді және жалпы қолжетімділікті басқару орталығын» ашып, терезенің сол жақ панеліндегі «Адаптер параметрлерін өзгертуді» басыңыз.

    2. Осы жерден қызыл белгісі бар «Bluetooth желілік қосылу» дегенді көресіз. Соны таңдау үшін оған бір рет басыңыз.

    3. «Bluetooth желілік құрылғыларын қарау» батырмасын басыңыз.

    4. Біраз уақыт өткеннен кейін көтерілген терезеден бір немесе бірнеше рұқсат нүктелерін көресіз. Осы жерден соны таңдау үшін біздің құрылғымыз «EV3»-ке басыңыз, содан соң, мәзірден «Келесі арқылы қосу – Рұқсат нүктесі» тармағына басыңыз.

Scratch 2 редакторында EV3 роботын бағдарламалау

Scratch редакторы және ev3-scratch-helper-app кеңейтімі арқылы EV3 роботтарын бағдарламалау кезінде мына нәрсені есте сақтау қажет: моторлар мен датчиктерді қолданар алдында оларды «Моторды портқа қосу» және «Датчикті портқа қосу» блоктарының көмегімен қосу керек (блоктардың ағылшын тілді нұсқасын қолданған кезде «Connect a motor to port» және «Connect a sensor to port»). Датчиктер «Барлық порттарды жабу» блогының көмегімен өшеді (ағылшын нұсқасында «Close all ports»).

Консольдегі хабарламаларға қарамай-ақ, ev3-scratch-helper-app қосымшасында не болып жатқанын қадағалауға болады.

Барлығын дұрыс баптағанымызды тексеру үшін ең қарапайым арба, мысалы, стандартты жетекті платформа құрыңыз да, оған Scratch 2-де ең қарапайым бағдарлама жазыңыз. Мысалдарды «doc» және «scratch\en\demos» папкаларынан көре аласыз, олар ev3-scratch-helper-app. бағдарламасын орнату папкасында орналасқан.

Алдында қашықтық датчигі орнатылған арбаға арналған ең қарапайым бағдарлама мысалы. Ол келесідей амалмен жұмыс істейді:

  1. Алдымен спрайт «Старт» (сол жақ жоғарыдағы үлкен үшбұрыш) сұр түсті, ол роботтың дайын еместігін білдіреді. Моторлардың жылдамдығы null, 1-датчиктің ара қашықтығы да null екенін көресіз. Сұр үшбұрышқа басу керек.

  1. Үшбұрышқа басқаннан кейін моторлар мен қашықтық датчиктері іске қосылады, үшбұрыш жасыл түске айналады. Көріп тұрғаныңыздай, моторлар жылдамдығы мен қашықтық датчигі енді null-дың орнына мағыналы мәндерді көрсетеді.

Енді пернетактадағы бос орын пернесін басса, алдында 50 см қашықтықта кедергі пайда болғанға дейін робот алға қарай жүретін болады. Кедергіні анықтаған кезде робот тоқтайды.

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

3-4-сабақ.

Бірнеше EV3 блоктарын бір жүйеге қосу

Кейде робот жасау кезінде бірнеше EV3 блоктарын бір жүйеге қосуға немесе бір жобада бірнеше платформаларды пайдалануға тура келеді, мысалы, EV3 және Arduino. Осылайша, әр платформаның мықты жақтарын пайдаланып, орындалатын тапсырмаларды параллельдеуге болады.

EV3-ті өзара қосудың бірнеше жолы бар:

  1. Блоктарды Bluetooth арқылы қосу;

  2. Шлейфті қосу;

  3. Мотор – басу сенсоры;

  4. Опто-жұп;

  5. Мотор-жұп.

EV3 блоктарын Bluetooth арқылы қосу

Bluetooth LEGO Mindstorms EV3-ке дербес компьютерге, өзге LEGO Mindstorms EV3-ке, смартфон мен басқа да Bluetooth-құрылғыларға қосылуға мүмкіндік береді. Bluetooth арнасы арқылы байланысу алыстығы – 25 м-ге дейін.

Бір LEGO Mindstorms EV3-ке 7 блокқа дейін қосуға болады. Басты EV3 блок әрбір EV3 бағынушыға хабарлама жолдауға және қабылдауға мүмкіндік береді. EV3 бағынушылары тек басты EV3 блогына хабарлама жолдай алады, бірақ өзара жолдай алмайды.

Екі немесе одан да көп EV3 блоктарын қосу үшін келесі әрекеттерді орындау керек:

  1. Бапталымдарды ашу;

  2. Bluetooth-ді таңдаңыз да, орталық батырмаға басыңыз;

  3. Bluetooth-дің көріну жалаушасын қоямыз;

  4. Bluetooth белгісінің жоғары сол жақта көрініп тұрғанын тексеріңіз;

  5. Жоғарыда аталған рәсімді EV3 блоктарының санына қарай жасаңыз;

  6. Қосу (Connection) қойындысына кіріңіз;

  7. Іздеу (Search) батырмасын басыңыз;

  8. Өзіңіз қосқыңыз келетін (немесе өзіңіз қосылғыңыз келетін) EV3-ті қосыңыз да, орталық батырмаға басыңыз;

  9. Қолжетімділік кілті арқылы бірінші және екінші блокты өзара қосамыз.


Егер барлығы дұрыс жасалса, онда жоғарғы сол жақ бұрышта "<>" белгісі пайда болады, егер саны екіден көп болса, өзге EV3 блоктарының қосылуы соған ұқсас түрде орындалады. Егер сіз LEGO EV3 сөндіріп тастасаңыз, онда байланыс үзіліп, сізге барлық тармақтарды қайталау қажет болады.

Маңызды: әр блок үшін өз бағдарламасы жазылу керек.

Бағдарлама мысалы:

Бірінші блок: жанасу датчигін басқан кезде бірінші EV3 блогі мәтінді 3 секундқа кешіктіріп екінші блокқа жеткізеді (басты блок).

Екінші блок бірінші блоктан мәтінді күтеді, оны қабылдаған бойда 10 секунд ішінде экранға сөзді (біздің мысалымызда ол "Hello" сөзі) шығарады (бағынушы блок).

Кемшіліктері: тек екі блокты ғана қосуға болады. Олимпиада кезінде блоктар қосылғанда жаңылысып кетуі мүмкін.

Шлейфті қосу

Шлейфпен қосу режімі екі не одан да көп LEGO EV3 блоктарын қосу үшін пайдаланылады.

Аталған режім:

  • бірден көп LEGO Mindstorms EV3-терді қосуға арналған;

  • көптеген датчик, моторлар мен өзге де құрылғыларды қосу үшін пайдаланылады;

  • бірнеше LEGO Mindstorms EV3 (4-ке дейін) арасында байланыс орнатуға мүмкіндік береді, соның арқасында біз 16-ға дейін сыртқы порт пен дәл сонша ішкі порт аламыз;

  • басты LEGO Mindstorms EV3-тің бүкіл тізбегін басқаруға мүмкіндік береді;

  • белсенді Wi-Fi немесе Bluetooth қосылысы кезінде жұмыс істей алмайды.

Шлейфпен қосу режімін қосу үшін бапталымдар терезесіне өтіп, қанатша қоямыз.

Осы режім таңдалған кезде кез-келген моторға біз іске қосылған EV3 блогын және қажетті датчиктерді таңдай аламыз.

Кемшілігі: бұзылыс пен жаңылыс өте көп кездеседі. Белсенді Wi-Fi немесе Bluetooth қосылысы кезінде жұмыс істей алмайды, барлық EV3 блоктарында оларды алдын-ала сөндіру керек.

Мотор – басу сенсоры

Кемшіліктері: өте сенімсіз, пәрмендерді кері беруге мүмкіндік жоқ.

Опто-жұп

Е кі не одан да көп блоктарды екі жарық датчигі арқылы қосу мүмкіндігі. Датчиктер бір-біріне бағытталып, 1-2 см қашықтықта жарық өткізбейтін тығыз корпуспен жабылуы тиіс.



















Датчик жұмысының режімі:



Жұмыс істеу қағидаты:



Мотор-жұп

Беріліс әдісі – мотор қалпының градустық өзгертуі. Мотор-жұп басқаруды немесе ақпаратты бір блоктан келесісіне және керісінше беруге және бірнеше блокты қосуға мүмкіндік береді.

Жұмыс істеу қағидаты: мотордың айналмалы бөліктері ортақ білікпен байланысқан.









5-6-сабақтар

Lego блогы мен ARDUINO (Lego – master, Arduino - slave) платасын қосу

EV3 блогы мен Arduino платасын I2C арқылы байланыстыратын адаптер бар. Сондай-ақ, сіз өз адаптеріңізді оп-оңай дайындай аласыз (өз сымыңызды бүлдіретініңіз рас): стандартты EV3 қара сымының бір ұшын кесіңіз де, қара оқшаулағышты шешіңіз. SDA және SCL – олар сары және көк сымдар, жер – қара және қызыл, VCC – жасыл.

Arduino-ға қосылу

Тиісті түстер төмендегідей қосылады:

Көк ARDUINO аналог порты (мысалы А4 порты)

Сары ARDUINO аналог порты (Мысалы А5 порты)

Жасыл VIN

Қызыл GND

Жасыл-Сары және Жасыл-Қызыл сымдарды бірінен соң бірін 82К Омдық резистор арқылы қосамыз.

1 байттық ақпаратты жіберу/қабылдау үшін Ардуино-ға арналған скетч:

#include <Wire.h>

#define SLAVE_ADDRESS 0x04 // 0х маскасы бойынша слейф мекен-жайын жариялаймыз **

void setup()

{

Serial.begin(9600); // Шығыс үшін сериялық портты дайындаймыз.

Wire.begin(SLAVE_ADDRESS);

Wire.onReceive(receiveData);

Wire.onRequest(sendData);

Serial.println("Ready!"); // Мекен-жай дайын болғанда және жіберу мен қабылдау функциясы көрсетілген соң порт мониторында жазу пайда болады

}

int val, flag = 0; // деректерді қабылдау кезіндегі flag бақылау айнымалысы және val мәні қабылданған деректер

void loop()

{

if(flag == 1)

{

Serial.print(val); // Легодан қабылданған деректерді порт мониторында көрсету

flag = 0;

}

}

void receiveData(int byteCount) // Легодан дерек қабылдау рәсімі

{

while(Wire.available() > 0) көлемі 1 байттан артық болса, әр ұяшыққа 1 байт деректен толтыру циклін жазу қажет болады.

{

val = Wire.read();

flag = 1;

}

}

void sendData() //Деректерді жөнелту рәсімі

{

Wire.write(0x45); // Жай жақшаларда

// // көлемі 1 байттан үлкен болған жағдайда массивті 1 циклде бір байттан жөнелту керек

}

EV3 шебер ретінде

Dexter Industries EV3 (Dexter.ev3b) блоктарын жүктеп, оларды Lego Mindstorms EV3 бағдарламалық жасақтамасына импорттаңыз (Құралдар -> Блок импорттау шебері). Arduino-мен өзара әрекеттестік үшін Dexter Industries I2C блогын пайдаланыңыз.

Lego-ға арналған бағдарламаға сілтеме:

https://github.com/DexterInd/EV3_Dexter_Industries_Sensors.git

Бір байтты оқу үшін қосылған «Read 1 Byte» режімі бар блоктар ретін құрыңыз. «Addr» жолағында слейв мекен-жайын көрсетіңіз, ол дәл Arduino-ға арналған (біздің жағдайымызда 0x04) скетчтегідей болады, кейін EV3 экранында Arduino-дан келген мәліметтерді көру үшін бағдарламаны қосыңыз.

Бір байтты жіберу үшін блок режімін «Write 1 Byte»-ке ауыстырыңыз да, Arduino-ға жібергіңіз келетін байтты енгізіңіз. Бағдарламаны іске қосқан кезде EV3 мәліметтерді Arduino-ға жібереді, Arduino оларды сериялық порт терминалында көрсететін болады.

Кейде, аналогтік мәліметтерді Arduino-ға түсіріп, оларды EV3-ке жіберген өте пайдалы. Егер осылай істегіңіз келсе, онда Arduino-ға тиісті скетчті жазыңыз, ал EV3-бағдарламасында режім блогынан «Analog Read Block» таңдаңыз. Кейін, сіз деректерді есептейтін пин нөмірін көрсетіңіз де, бағдарламаны іске қосыңыз. Осыдан кейін EV3-ке аналог деректер келетін болады.

Ардуиноға арналған скетч мысалы:

#include <Wire.h>

#define SLAVE_ADDRESS 0x04

void setup()

{

Serial.begin(9600); // start serial for output

Wire.begin(SLAVE_ADDRESS);

Wire.onReceive(receiveData);

Wire.onRequest(sendData);

Serial.println("Ready!");

}

int pin,st,val=0,flag=0,index=0;

char buf[8];

byte b[2];

void loop()

{

if(flag==1)

{

flag=0;

Serial.println(pin);

val=analogRead(pin);

b[0]=val/256;

b[1]=val%256;

}

}


void receiveData(int byteCount)

{

while(Wire.available()>0)

{

pin=Wire.read();

flag=1;

}

}


// callback for sending data

void sendData()

{

Wire.write(b,2);

}



Маңызды ескертпе!

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

































7-8-сабақтар

EV3-ті басқаруға арналған мобильді бағдарламаны әзірлеу

Сабақтың мақсаты: App Inventor ортасында EV3-ті басқаруға арналған мобильді қосымша әзірлеу.

Құрылымды жинау

Роботты 4.1-суретте көрсетілгендей жинаңыз. Егер роботыңыздың түрі басқаша болса, уайымдамаңыз, тек екі қозғалтқыштың роботтың қарама-қарсы бетінде (B және C порттарына бекітіңіз) орналасқанына көз жеткізіңіз. Роботтардың мұндай базасы дифференциалды платформа деп аталады. Себебі, робот мінез-құлқын қозғалтқыш жылдамдығына сәйкес оңайлықпен реттеп отыруға болады. Мысалы, екі қозғалтқыш бірдей жылдамдықпен қозғалғанда робот алға жылжиды; оң қозғалтқышқа қарағанда сол қозғалтқыш сәл ақырын қозғалса, оңға бұрылады.

4.1-сурет Роботқа арналған екі дөңгелекті база

Бұл роботқа датчик керек емес. EV3-ті қосыңыз да, оны Android телефонымен байланыстырыңыз (қалыптағы кілті: 1234). EV3-тің қосғанын экранның жоғары сол жақ бұрышындағы Bluetooth белгісі арқылы тексеруге болады.



Дизайны

Компоненттерді қосып, 4.2-суретте көрсетілгендей орналастырыңыз.

4.2-сурет. Қосымша дизайны

Осы жағдайда қосу үшін Lego EV3-тің жұптық Bluetooth-құрылғысын таңдау үшін Listpicker қолданылады. Disconnect батырмасы Bluetooth бен Lego EV3 байланысын ажыратуға арналған.

Сондай-ақ роботты алға, артқа қарай жылжыту үшін, оңға, солға бұрып, тоқтату үшін бес батырма қолданылады.





Көлденең орналасу (орналасу). Көлденеңінен туралау – орталық, тігінен туралау – жоғары. Биіктігі – автоматты түрде, ені – экран бойынша. «Көлденең орналасу» ішіне «ListPicker1», «Disconnect» батырмасы орнатылады. Bluetooth қосылысын көрсету үшін тағы бір «Көлденең орналасу» орнатылады.

ListPicker1 (Қолданушы интерфейсі – Тізімнен таңдау). Қаріп өлшемі «15», биіктігі мен ені – экран бойынша, мәтін - «Connect».

Button_Disconnect (Қолданушы интерфейсі Батырма). Қаріп өлшемі «20», биіктігі «50 пиксель», ені – экран бойынша, мәтін – «Disconnect».

Connection Status (Қолданушы интерфейсі Жазба). Қаріп өлшемі «13», биіктігі мен ені – экран бойынша, мәтін – «Connection Status».

Тігінен орналасу (Орналасу). Көлденеңінен туралау – орталық, тігінен туралау – жоғары. Биіктігі – автоматты түрде, ені – экран бойынша. «Тігінен орналасу» ішіне «Forward» және «Backward» батырмалары, «Left», «Stop», «Right» батырмалары үшін «Көлденең орналасу» орналастырылады.

Button_Forward (Қолданушы интерфейсі – Батырма). Қаріп өлшемі «20», биіктігі «50 пиксель», ені – экран бойынша, мәтін – «Forward».

Button_Backward (Қолданушы интерфейсі – Батырма). Қаріп өлшемі «20», биіктігі «50 пиксель», ені – экран бойынша, мәтін – «Backward».

Button_Left (Қолданушы интерфейсі – Батырма). Қаріп өлшемі «20», биіктігі «50 пиксель», ені – экран бойынша, мәтін – «Left».

Button_Right (Қолданушы интерфейсі – Батырма). Қаріп өлшемі «20», биіктігі «50 пиксель», ені – экран бойынша, мәтін – «Right».

Button_Stop (Қолданушы интерфейсі – Батырма). Қаріп өлшемі «20», биіктігі «50 пиксель», ені – экран бойынша, мәтін – «Stop».

Жасырын компоненттер:

Notifier (Қолданушы интерфейсі Хабарлаушы). Хабарлама мәтінінің ұзындығы Ұзын.

Ev3Motor1 (LEGO® MINDSTORMS®). BluetoothClient1-ге BluetoothClient-ті орнатыңыз, мотор портын «В» деп белгілеңіз.

Ev3Motor2 (LEGO® MINDSTORMS®). BluetoothClient1-ге BluetoothClient-ті орнатыңыз, мотор портын «С» деп белгілеңіз.

BluetoothClient1 (Арналар). Тұрған бапталымдар қалады.



Блоктар: 1-қадам: Қосу

EV3-ті телефонға қосу үшін «ListPickerConnect.ПередВыбором» блогында «BluetoothClient1.АдресаИИмена» орнату керек. EV3-тің қосылған блоктары тізім түрінде көрсетіледі.

Қосылған блоктар көрініп тұру үшін «Connection_Status» түсі мен «Connected» мәтінін белгілейміз.



2-қадам: «Алға» және «Артқа» батырмалары

когдаКнопка.Щелчок блогында EV3 моторын шақырып, дөңгелектердің айналу жылдамдығын белгілейміз. Алға жылжу үшін оң және сол моторларға «100», артқа жүрі үшін «-100» деп белгілейміз.



3-қадам: Солға / оңға бұрылу және тоқтау

Button_Left және Button_Right – жұмыс қағидаттары бірдей, бірақ бұл жолы сол жақ моторды -50 (солға бұрылу) және оң жақ моторды 100 деп белгіледік. Оң жақ мотор үшін дәл солай.

Button_Stop, роботты тоқтату үшін моторларға «0» мәнін белгілейсіз.



4-қадам. Сөндіру

Button_Disconnect басылып тұрғанда (Button_Disconnect.Click оқиғасы), біз келесі байланысты күте отырып, BluetoothClient-ті EV3 кірпішінен ажыратуды сұраймыз.



Жүктеу
bolisu
Бөлісу
ЖИ арқылы жасау
Файл форматы:
docx
08.12.2018
1053
Жүктеу
ЖИ арқылы жасау
Бұл материалды қолданушы жариялаған. Ustaz Tilegi ақпаратты жеткізуші ғана болып табылады. Жарияланған материалдың мазмұны мен авторлық құқық толықтай автордың жауапкершілігінде. Егер материал авторлық құқықты бұзады немесе сайттан алынуы тиіс деп есептесеңіз,
шағым қалдыра аласыз
Қазақстандағы ең үлкен материалдар базасынан іздеу
Сіз үшін 400 000 ұстаздардың еңбегі мен тәжірибесін біріктіріп, ең үлкен материалдар базасын жасадық. Төменде керек материалды іздеп, жүктеп алып сабағыңызға қолдана аласыз
Материал жариялап, аттестацияға 100% жарамды сертификатты тегін алыңыз!
Ustaz tilegi журналы министірліктің тізіміне енген. Qr коды мен тіркеу номері беріледі. Материал жариялаған соң сертификат тегін бірден беріледі.
Оқу-ағарту министірлігінің ресми жауабы
Сайтқа 5 материал жариялап, тегін АЛҒЫС ХАТ алыңыз!
Қазақстан Республикасының білім беру жүйесін дамытуға қосқан жеке үлесі үшін және де Республика деңгейінде «Ustaz tilegi» Республикалық ғылыми – әдістемелік журналының желілік басылымына өз авторлық материалыңызбен бөлісіп, белсенді болғаныңыз үшін алғыс білдіреміз!
Сайтқа 25 материал жариялап, тегін ҚҰРМЕТ ГРОМАТАСЫН алыңыз!
Тәуелсіз Қазақстанның білім беру жүйесін дамытуға және білім беру сапасын арттыру мақсатында Республика деңгейінде «Ustaz tilegi» Республикалық ғылыми – әдістемелік журналының желілік басылымына өз авторлық жұмысын жариялағаны үшін марапатталасыз!
Министірлікпен келісілген курстар тізімі