Barcha ev3 sensorlari to'g'ri nomga ega. Ikki yoki undan ortiq EV3 g'ishtlarini ulash

An'anaga ko'ra, robotlar platformada qurilgan Lego Mindstorms EV3, LabVIEW grafik muhiti yordamida dasturlashtirilgan. Bunday holda, dasturlar EV3 boshqaruvchisida ishlaydi va robot avtonom ishlaydi. Bu erda men robotni boshqarishning muqobil usuli - kompyuterda ishlaydigan .NET platformasidan foydalanish haqida gapiraman.

Ammo dasturlash bilan shug'ullanishdan oldin, bu foydali bo'lishi mumkin bo'lgan ba'zi holatlarni ko'rib chiqaylik:

  • Robotni noutbukdan masofadan boshqarishni talab qiladi (masalan, tugmalarni bosish orqali)
  • EV3 kontrolleridan ma'lumotlarni yig'ish va uni tashqi tizimda qayta ishlash talab qilinadi (masalan, IoT tizimlari uchun)
  • Boshqaruv algoritmini .NET da yozish va uni EV3 kontrolleriga ulangan kompyuterdan ishga tushirishni xohlagan boshqa holatlar.

.NET uchun LEGO MINDSTORMS EV3 API

EV3 boshqaruvchisi ketma-ket portga buyruqlar yuborish orqali tashqi tizimdan boshqariladi. Buyruq formatining o'zi Communication Developer Kitda tasvirlangan.

Ammo bu protokolni qo'lda amalga oshirish zerikarli. Shuning uchun, siz Brian Peek diqqat bilan yozgan tayyor .NET o'ramidan foydalanishingiz mumkin. Ushbu kutubxonaning manba kodi Github-da joylashgan va foydalanishga tayyor paketni Nuget-da topish mumkin.

EV3 Controllerga ulanish

Brick klassi EV3 boshqaruvchisi bilan aloqa qilish uchun ishlatiladi. Ushbu ob'ektni yaratishda siz ICommunication interfeysining amalga oshirilishini konstruktorga topshirishingiz kerak - bu EV3 kontrolleriga qanday ulanishni tavsiflovchi ob'ekt. UsbCommunication, BluetoothCommunication va NetworkCommunication (WiFi ulanishi) ilovalari mavjud.

Eng mashhur ulanish usuli Bluetooth orqali. Keling, ushbu ulanish usulini batafsil ko'rib chiqaylik.

Biz Bluetooth orqali kontrollerga dasturiy ravishda ulanishimizdan oldin, boshqaruvchi operatsion tizim sozlamalari yordamida kompyuterga ulangan bo'lishi kerak.

Tekshirish moslamasi ulangandan so'ng, Bluetooth sozlamalariga o'ting va MAQOMOTI portlari yorlig'ini tanlang. Biz nazoratchimizni topamiz, bizga kerak chiquvchi port. Biz uni BluetoothCommunication obyektini yaratishda aniqlaymiz.

Tekshirish moslamasiga ulanish uchun kod quyidagicha ko'rinadi:

Ommaviy async Task Connect(ICommunication communication) ( var aloqa = yangi BluetoothCommunication("COM9"); var g'isht = _brick = yangi Brick(aloqa); _brick.ConnectAsync(); ni kuting)

Majburiy emas, siz kontrollerga ulanish vaqti tugashini belgilashingiz mumkin:

Await _brick.ConnectAsync(TimeSpan.FromSeconds(5));

Qurilmaga USB yoki WiFi orqali ulanish xuddi shu tarzda amalga oshiriladi, bundan tashqari UsbCommunication va NetworkCommunication ob'ektlari ishlatiladi.

Tekshirgichda bajariladigan barcha keyingi harakatlar Brick ob'ekti orqali amalga oshiriladi.

Keling, dvigatellarni aylantiramiz

EV3 kontrolleridagi buyruqlarni bajarish uchun biz Brick obyektining DirectCommand xususiyatiga kiramiz. Birinchidan, dvigatellarni ishga tushirishga harakat qilaylik.

Faraz qilaylik, bizning motorimiz kontrollerning A portiga ulangan, keyin bu motorni 50% quvvatda ishga tushirish quyidagicha ko'rinadi:

_brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50) ni kuting;

Dvigatelni boshqarishning boshqa usullari mavjud. Masalan, StepMotorAtPowerAsync() va StepMotorAtSpeedAsync() usullari yordamida dvigatelni belgilangan burchakka aylantirishingiz mumkin. Bir nechta usullar mavjud, ular dvigatellarni yoqish rejimlarida - vaqt, tezlik, quvvat va boshqalar bo'yicha o'zgarishlar.

Majburiy to'xtatish StopMotorAsync() usuli yordamida amalga oshiriladi:

_brick.DirectCommand.StopMotorAsync(OutputPort.A, rost) ni kuting;

Ikkinchi parametr tormozdan foydalanishni ko'rsatadi. Agar siz uni noto'g'ri qilib qo'ysangiz, vosita to'xtab qoladi.

Sensorlardan qiymatlarni o'qish

EV3 kontrolleri sensorlarni ulash uchun to'rtta portga ega. Bunga qo'shimcha ravishda, motorlarda o'rnatilgan enkoderlar ham mavjud bo'lib, bu ularni sensor sifatida ishlatishga imkon beradi. Natijada, bizda qiymatlarni o'qish mumkin bo'lgan 8 ta port mavjud.

Qiymatlarni o'qish uchun portlarga Brick ob'ektining Portlar xususiyati orqali kirish mumkin. Portlar - bu kontrollerda mavjud bo'lgan portlar to'plami. Shuning uchun, ma'lum bir port bilan ishlash uchun uni tanlashingiz kerak. InputPort.One ... InputPort.Four - sensor portlari va InputPort.A ... InputPort.D - vosita kodlovchilari.

Var port1 = _brick.Ports;

EV3 dagi sensorlar turli rejimlarda ishlashi mumkin. Masalan, EV3 Color Sensor atrof-muhit yorug'ligini o'lchash, aks ettirilgan yorug'likni o'lchash yoki rangni aniqlash uchun ishlatilishi mumkin. Shuning uchun, sensorga uni qanday ishlatishni aniq "aytib berish" uchun biz uning rejimini o'rnatishimiz kerak:

Brick.Ports.SetMode(ColorMode.Reflective);

Endi sensor ulangan va uning ish rejimi o'rnatilgan bo'lsa, siz undan ma'lumotlarni o'qishingiz mumkin. Siz "xom" ma'lumotlarni, qayta ishlangan qiymatni va foiz qiymatini olishingiz mumkin.

Float si = _brick.Ports.SIValue; int raw = _brick.Ports.RawValue; bayt foiz = _brick.Ports.PercentValue;

SIValue xususiyati qayta ishlangan ma'lumotlarni qaytaradi. Bularning barchasi qaysi sensordan va qaysi rejimda ishlatilishiga bog'liq. Masalan, aks ettirilgan yorug'likni o'lchashda biz aks ettirilgan yorug'likning intensivligiga (qora / oq) qarab 0 dan 100 gacha qiymatlarni olamiz.

RawValue xususiyati ADC dan olingan xom qiymatni qaytaradi. Ba'zan uni keyingi qayta ishlash va foydalanish uchun ishlatish qulayroqdir. Aytgancha, EV3 ishlab chiqish muhitida "xom" qiymatlarni olish ham mumkin - buning uchun siz ko'k paneldagi blokdan foydalanishingiz kerak.

Agar siz foydalanayotgan sensor qiymatlarni foizlarda olishni kutsa, siz PercentValue xususiyatidan ham foydalanishingiz mumkin.

Buyruqlarni to'plamlarda bajarish

Aytaylik, bizda ikkita g'ildirakli robot arava bor va biz uni joyiga qo'ymoqchimiz. Bunday holda, ikkita g'ildirak teskari yo'nalishda aylanishi kerak. Agar biz DirectCommand-dan foydalansak va ikkita buyruqni ketma-ket boshqaruvchiga yuborsak, ularning bajarilishi orasida biroz vaqt o'tishi mumkin:

_brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50) ni kuting; kutish _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

Ushbu misolda biz A motorini 50 tezlikda aylantirish buyrug'ini yuboramiz, bu buyruqni muvaffaqiyatli yuborganimizdan so'ng, B portiga ulangan motor bilan ham xuddi shunday takrorlaymiz. Muammo shundaki, buyruqlarni yuborish bir zumda sodir bo'lmaydi, shuning uchun motorlar turli vaqtlarda aylana boshlashi mumkin - buyruq B portiga, motor A uchun uzatilayotganda allaqachon aylana boshlaydi.

Dvigatellarni bir vaqtning o'zida aylantirish biz uchun juda muhim bo'lsa, biz buyruqlarni boshqaruvchiga "to'plam" da yuborishimiz mumkin. Bunday holda, DirectCommand o'rniga BatchCommand xususiyatidan foydalanishingiz kerak:

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); kuting _brick.BatchCommand.SendCommandAsync();

Endi bir vaqtning o'zida ikkita buyruq tayyorlanadi, shundan so'ng ular bitta paketda kontrollerga yuboriladi. Ushbu buyruqlarni olgan boshqaruvchi motorlarni bir vaqtning o'zida aylantira boshlaydi.

Yana nima qila olasiz

Aylanadigan motorlar va sensor qiymatlarini o'qishdan tashqari, siz EV3 boshqaruvchisida bir qator boshqa amallarni bajarishingiz mumkin. Men ularning har biri haqida batafsil to'xtalmayman, faqat nima qilish mumkinligi ro'yxatini sanab o'taman:

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync() va boshqalar - EV3 kontrollerning o'rnatilgan ekranini manipulyatsiya qilish
  • PlayToneAsync() va PlaySoundAsync() - tovushlarni ijro etish uchun o'rnatilgan dinamikdan foydalaning
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (SystemCommand-dan) - fayllar bilan ishlash

Xulosa

Mindstorms EV3 robotlarini boshqarish uchun .NET dan foydalanish “turli olamlardagi” texnologiyalar birgalikda qanday ishlashini yaxshi ko‘rsatib beradi. .NET uchun EV3 API-ni o'rganish natijasida EV3 robotini kompyuterdan boshqarish imkonini beruvchi kichik dastur yaratildi. Afsuski, NXT uchun shunga o'xshash ilovalar mavjud, ammo EV3 ularni chetlab o'tdi. Shu bilan birga, ular robot futboli kabi boshqariladigan robot musobaqalarida foydalidir.

Ilovani quyidagi havoladan yuklab olish va oʻrnatish mumkin:

Agar siz, biz kabi, standart EV3 sensorlarining imkoniyatlariga ega bo'lmasangiz, robotlaringizda sensorlar uchun 4 ta port yetarli emas yoki siz robotingizga ba'zi ekzotik tashqi qurilmalarni ulamoqchi bo'lsangiz - bu maqola siz uchun. Ishoning, EV3 uchun uy qurilishi sensori ko'rinadiganidan osonroqdir. Eksperiment uchun eski radiodan "tovush balandligi tugmasi" yoki tuproq namligi sensori sifatida gul idishidagi erga yopishtirilgan bir nechta mixlar juda mos keladi.

Ajablanarlisi shundaki, har bir EV3 sensor porti asosan NXT va uchinchi tomon sensorlari bilan muvofiqligi uchun bir qancha turli protokollarni yashiradi. Keling, EV3 kabeli qanday ishlashini ko'rib chiqaylik


Bu g'alati, lekin qizil sim tuproqli (GND), yashil sim 4,3V quvvat manbaining ortiqcha qismidir. Moviy sim I2C avtobusi uchun SDA va UART protokoli uchun TX hisoblanadi. Bundan tashqari, ko'k sim EV3 uchun analog-raqamli konvertorning kirishidir. Sariq sim I2C avtobusi uchun SCL va UART protokoli uchun RX hisoblanadi. Oq sim NXT sensorlari uchun analog-raqamli konvertorning kirishidir. Qora - raqamli kirish, NXT bilan mos keladigan sensorlar uchun - bu GND-ni takrorlaydi. Oson emas, shunday emasmi? Keling, tartibda boraylik.

EV3 analog kirish

Har bir sensor portida analog-raqamli konvertor kanali mavjud. U sensorli sensor (tugma), aks ettirilgan yorug'lik va atrof-muhit yorug'ligi rejimida NXT yorug'lik sensori va rang sensori, NXT tovush sensori va NXT termometri kabi sensorlar uchun ishlatiladi.

Diagramma bo'yicha ulangan 910 Ohm qarshilik nazoratchiga ushbu portni analog kirish rejimiga o'tkazish kerakligini aytadi. Ushbu rejimda siz har qanday analog sensorni EV3 ga ulashingiz mumkin, masalan, Arduino-dan. Bunday sensor bilan almashinuv kursi soniyada bir necha ming so'rovga yetishi mumkin, bu sensorning eng tezkor turi.

Nur sensori

Termometr

Tuproq namligi sensori

Siz shuningdek ulanishingiz mumkin: mikrofon, tugma, IR masofa o'lchagich va boshqa ko'plab umumiy sensorlar. Sensor uchun 4,3V quvvat yetarli bo'lmasa, uni EV3 kontroller tomonida joylashgan USB portidan 5V bilan quvvatlantirishingiz mumkin.

Yuqorida aytib o'tilgan "ovoz balandligi tugmasi" (shuningdek, o'zgaruvchan qarshilik yoki potansiyometr sifatida ham tanilgan) analog sensorning ajoyib namunasidir - uni quyidagicha ulash mumkin:

Standart LEGO dasturlash muhitida bunday sensordan qiymatlarni o'qish uchun siz ko'k RAW blokidan foydalanishingiz kerak

I2C protokoli

Bu raqamli protokol; masalan, NXT ultratovush sensori va ko'plab Hitechnic sensorlari, masalan, IR Seeker yoki Color Sensor V2, unda ishlaydi. Boshqa platformalar uchun, masalan, Arduino uchun, juda ko'p i2c sensorlari mavjud, siz ularni ham ulashingiz mumkin. Sxema quyidagicha:

82 ohm qarshilik LEGO guruhi tomonidan tavsiya etiladi, ammo turli manbalarda 43 ohm yoki undan kam bo'lganligi aytiladi. Aslida, biz bu qarshiliklardan butunlay voz kechishga harakat qildik va hech bo'lmaganda "stolda" hamma narsa ishlaydi. Har xil turdagi shovqinlar sharoitida ishlaydigan haqiqiy robotda SCL va SDA liniyalari yuqoridagi diagrammada ko'rsatilganidek, qarshilik orqali quvvat manbaiga ulangan bo'lishi kerak. EV3-dagi i2c ish tezligi juda past, taxminan 10 000 kbps, shuning uchun hamma uchun sevimli Hitechnic Color Sensor V2 juda sekin :)

Afsuski, LEGO-dan standart EV3-G uchun i2c sensori bilan ikki tomonlama aloqa uchun to'liq huquqli blok mavjud emas, ammo RobotC, LeJOS yoki EV3 Basic kabi uchinchi tomon dasturlash muhitlaridan foydalangan holda deyarli har qanday i2c sensorlari bilan o'zaro aloqada bo'lishingiz mumkin. .

EV3 ning i2c protokoli yordamida ishlash qobiliyati bir nechta sensorlarni bitta portga ulash uchun qiziqarli imkoniyatni ochadi. I2C protokoli bitta avtobusga 127 tagacha tobe qurilmalarni ulash imkonini beradi. Tasavvur qila olasizmi? Har bir EV3 porti uchun 127 ta sensor :) Bundan tashqari, ko'pincha i2c datchiklari to'plami bitta qurilmada birlashtiriladi, masalan, quyidagi fotosuratda 10 ta 1 datchik (kompas, giroskop, akselerometr, barometr va boshqalarni o'z ichiga oladi) mavjud.

UART

Deyarli barcha standart EV3 bo'lmagan sensorlar, sensorli sensordan tashqari, UART protokoli yordamida ishlaydi va shuning uchun ular bir xil konnektorlarga ega bo'lsa-da, sensorida UART o'rnatilmagan NXT kontrolleri bilan mos kelmaydi. portlar. Diagrammaga qarang, bu avvalgi holatlarga qaraganda biroz sodda:

UART sensorlari avtomatik ravishda EV3 bilan ishlash tezligiga mos keladi. Dastlab 2400 kbit / s tezlikda ulanadi, ular ish rejimlari va valyuta kurslari bo'yicha kelishib olishadi, keyin esa oshirilgan tezlikka o'tishadi. Turli sensorlar uchun odatiy almashinuv kurslari 38400 va 115200 kbit / s ni tashkil qiladi.
LEGO o'zining UART sensorlarida ancha murakkab protokolni amalga oshirdi, shuning uchun dastlab ushbu platforma uchun mo'ljallanmagan, ammo unga mos keladigan uchinchi tomon sensorlari yo'q. Shunga qaramay, ushbu protokol "uy qurilishi" ni ulash uchun juda qulaydir.
mikrokontrollerlar asosidagi sensorlar.
Arduino uchun mashhur LeJOS ishlab chiqaruvchisi Lawrie Griffits tomonidan yozilgan EV3UARTEmulation nomli ajoyib kutubxona mavjud bo'lib, u ushbu kengashni UART-LEGO-ga mos sensor sifatida ko'rsatishga imkon beradi. Uning LeJOS News blogida ushbu kutubxona yordamida gaz sensorlari, IMU sensori va raqamli kompasni ulashning ko'plab misollari mavjud.

Quyida videoda uy qurilishi sensoridan foydalanish misoli keltirilgan. Bizda asl LEGO masofa datchiklari yetarli emas, shuning uchun biz robotda uy qurilishi sensoridan foydalanamiz:


Robotning vazifasi yashil hujayradan boshlash, labirintdan (qizil hujayra) chiqish yo'lini topish va boshi berk ko'chaga kirmasdan, eng qisqa yo'l bilan boshlang'ich nuqtaga qaytishdir.

Ekran rejimini tanlang

Rejim tanlash
Bloklangan matn maydoni
Kirishlar
Ko‘rib chiqish tugmasi

Rejim selektori yordamida ko'rmoqchi bo'lgan matn yoki grafik turini tanlang. Tartibni tanlagandan so'ng siz kirish qiymatlarini tanlashingiz mumkin. Mavjud kirishlar rejimga qarab farqlanadi. Tartiblar va kirishlar quyida tavsiflanadi.

Displey bloki EV3 ekranida nimani ko'rsatishini oldindan ko'rish uchun Ko'rib chiqish tugmasini bosishingiz mumkin. Blok uchun kirish qiymatlarini tanlashda siz ko'rinishni ochiq qoldirishingiz mumkin.

Ekran koordinatalari

Ekran blokining ko'p rejimlari elementning joylashishini aniqlash uchun X va Y koordinatalaridan foydalanadi. Koordinatalar EV3 Brick ekranidagi piksellar o'rnini aniqlaydi. Lavozim (0, 0) quyidagi rasmda ko'rsatilganidek, ekranning yuqori chap burchagida joylashgan.

Ekran o'lchamlari: kengligi 178 piksel va balandligi 128 piksel. X koordinata qiymatlari diapazoni ekranning chap tomonidagi 0 dan o'ngdagi 177 gacha. Y koordinata qiymatlari diapazoni tepada 0 dan pastda 127 gacha.

Maslahatlar va fokuslar

To'g'ri ekran koordinatalarini topishga yordam berish uchun Ekran blokining yuqori chap burchagidagi Ko'rib chiqish tugmasidan foydalanishingiz mumkin.

Matn - piksel

Matn - Piksel rejimi EV3 Brick ekranining istalgan joyida matnni ko'rsatish imkonini beradi.

Oynani tiklash

Reset Window rejimi EV3 Brick ekranini dastur ishlayotgan vaqtda ko'rsatilgan standart ma'lumot ekraniga qaytaradi. Ushbu ekranda dastur nomi va boshqa fikr-mulohazalar ko'rsatiladi. EV3 Brick-da dasturni ishga tushirganingizda, ushbu ekran dasturning birinchi Ekran bloki ishga tushishidan oldin paydo bo'ladi.

Ko'rsatilgan elementlarning ko'rinishini ta'minlash

EV3 dasturi tugagach, EV3 Brick ekrani tozalanadi va EV3 Brick menyusi ekraniga qaytadi. Dastur tomonidan ko'rsatilgan har qanday matn yoki grafik o'chiriladi. Agar, masalan, sizning dasturingizda bitta "Ekran" bloki bo'lsa va boshqa hech narsa bo'lmasa, dastur tugagandan so'ng ekran shu qadar tez o'chiriladiki, siz "Ekran" blokining natijalarini ko'rmaysiz.

Agar dastur tugallangandan keyin ekran ko'rinib turishini istasangiz, quyidagi misollarda ko'rsatilganidek, dastur darhol tugashining oldini olish uchun dastur oxiriga blok qo'shishingiz kerak.

Bir nechta elementlarni ko'rsatish

Agar siz bir vaqtning o'zida bir nechta matn yoki grafik elementlarni ekranda ko'rsatishni istasangiz, elementlar orasidagi EV3 Brick ekranini tozalamaslik muhim. Ekran blokining har bir rejimida Clear Screen kiritish mavjud. Agar ekranni tozalash rost boʻlsa, element koʻrsatilishidan oldin butun ekran tozalanadi. Bu shuni anglatadiki, bir nechta elementlarni ko'rsatish uchun birinchisidan tashqari har bir ekran bloki uchun Clear Screen ni False ga o'rnatishingiz kerak.

Raqamlarni ko'rsatish

Dasturingizda raqamli qiymatni ko'rsatish uchun ma'lumotlar shinasini Matnni ko'rsatish blokining Matn kiritishiga ulang. Raqamli ma'lumotlar shinasi ma'lumotlar shinasi turini o'zgartirish yordamida avtomatik ravishda matnga aylantiriladi (bo'limga qarang

Taqdimotning individual slaydlar bo'yicha tavsifi:

1 slayd

Slayd tavsifi:

2 slayd

Slayd tavsifi:

EV3 Brick interfeysi EV3 Brick robotlaringizni quvvatlaydigan boshqaruv markazidir. Ekran, Brick boshqaruv tugmalari va to'rtta asosiy oynani o'z ichiga olgan EV3 Brick interfeysi yordamida siz ajoyib turli xil noyob EV3 Brick xususiyatlariga kirishingiz mumkin. Bular dasturni ishga tushirish va to'xtatish kabi oddiy funktsiyalar yoki dasturning o'zini yozish kabi murakkab bo'lishi mumkin.

3 slayd

Slayd tavsifi:

Interfeys: EV3 menyusi 4 qismdan iborat menyuga ega: Oxirgi dasturlar Fayl navigatsiyasi Brick ilovalari Brick sozlamalari

4 slayd

Slayd tavsifi:

Oxirgi dasturlar Ish stoli kompyuteringizdan yaqinda yuklab olingan dasturlarni ishga tushiring. Dasturlarni yuklab olish va ishga tushirishni boshlamaguningizcha, bu oyna bo'sh qoladi. Ushbu oynada siz yaqinda ishga tushirilgan dasturlar ko'rsatiladi. Sukut bo'yicha tanlangan ro'yxatning yuqori qismidagi dastur oxirgi marta ishga tushirilgan dastur hisoblanadi.

5 slayd

Slayd tavsifi:

Fayl menejeri Mikrokompyuter xotirasida, shuningdek xotira kartasida saqlangan barcha fayllarga kirish va boshqarish. Ushbu oynadan siz EV3 Brick-dagi barcha fayllarga, shu jumladan SD-kartada saqlangan fayllarga kirasiz va ularni boshqarasiz. Fayllar loyiha papkalarida tashkil etilgan bo'lib, ularda haqiqiy dastur fayllariga qo'shimcha ravishda har bir loyihada ishlatiladigan tovushlar va tasvirlar ham mavjud. Fayllarni navigator yordamida ko'chirish yoki o'chirish mumkin. Modul dasturlash muhiti va modul ma'lumotlar jurnali ilovalari yordamida yaratilgan dasturlar BrkProg_SAVE va BrkDL_SAVE papkalarida alohida saqlanadi.

6 slayd

Slayd tavsifi:

EV3 Control Box Applications da 4 ta oldindan oʻrnatilgan ilovalar mavjud: A. Port View. B. Dvigatelni boshqarish. B. IQ nazorati. D. Modul dasturlash muhiti.

7 slayd

Slayd tavsifi:

A. Port View Port View ilovasining birinchi oynasida siz qaysi portlarda sensorlar yoki motorlar ulanganligini tezda ko'rishingiz mumkin. Ishg'ol qilingan portlardan biriga o'tish uchun EV3 Brick boshqaruv tugmalaridan foydalaning va siz sensor yoki dvigateldan joriy ko'rsatkichlarni ko'rasiz. Bir nechta sensorlar va motorlarni o'rnating va turli xil sozlamalar bilan tajriba qiling. O'rnatilgan motorlar va sensorlar uchun joriy sozlamalarni ko'rish yoki o'zgartirish uchun markaziy tugmani bosing. Modulning asosiy dastur oynasiga qaytish uchun “Orqaga” tugmasini bosing.

8 slayd

Slayd tavsifi:

B. Dvigatelni boshqarish To'rtta chiqish portidan biriga ulangan har qanday motorning oldinga yoki teskari harakatini boshqaring. Ikki xil rejim mavjud. Bitta rejimda siz A portiga (yuqoriga va pastga tugmalari yordamida) va D portiga (chap va o'ng tugmalar yordamida) ulangan motorlarni boshqarishingiz mumkin bo'ladi. Boshqa rejimda siz B portiga (yuqoriga va pastga tugmalari yordamida) va C portiga (chap va o'ng tugmalar yordamida) ulangan motorlarni boshqarasiz. Ushbu ikki rejim o'rtasida almashish markaziy tugma yordamida amalga oshiriladi. Modulning asosiy dastur oynasiga qaytish uchun “Orqaga” tugmasini bosing.

Slayd 9

Slayd tavsifi:

IR boshqaruvi masofadan boshqarish pulti sifatida masofaviy infraqizil mayoq va qabul qiluvchi sifatida infraqizil sensordan foydalangan holda to'rtta chiqish portlaridan biriga ulangan har qanday motorning oldinga yoki teskari harakatini boshqaring (infraqizil sensor EV3 Brick-dagi 4-portga ulangan bo'lishi kerak) . Ikki xil rejim mavjud. Bitta rejimda siz masofaviy infraqizil mayoqda 1 va 2-kanallardan foydalanasiz. 1-kanalda siz B portiga (masofaviy infraqizil mayoqning 1 va 2 tugmalari yordamida) va C portiga (masofaviy IQ mayoqning 3 va 4 tugmalari yordamida) ulangan motorlarni boshqarishingiz mumkin bo'ladi. 2-kanalda siz A portiga (1 va 2 tugmalar yordamida) va D portiga (3 va 4 tugmalar yordamida) ulangan motorlarni boshqarishingiz mumkin. Boshqa rejimda siz motorlarni xuddi shu tarzda boshqarishingiz mumkin, buning o'rniga masofaviy infraqizil mayoqdagi 3 va 4-kanallardan foydalaning. Ushbu ikki rejim o'rtasida almashish markaziy tugma yordamida amalga oshiriladi. Modulning asosiy dastur oynasiga qaytish uchun “Orqaga” tugmasini bosing.

10 slayd

Slayd tavsifi:

Brick dasturlash muhiti EV3 Brick o'rnatilgan dasturiy ta'minot bilan birga keladi. Ilova kompyuteringizda o'rnatilgan dasturiy ta'minotga o'xshaydi. Ushbu ko'rsatmalarda siz boshlashingiz kerak bo'lgan asosiy ma'lumotlar mavjud.

11 slayd

Slayd tavsifi:

EV3 Brick Settings Ushbu oyna EV3 Brick-dagi turli umumiy sozlamalarni ko'rish va sozlash imkonini beradi.

12 slayd

Slayd tavsifi:

Ovoz balandligini sozlash EV3-dagi Sozlamalar yorlig'ida Ovoz balandligini oshirish yoki kamaytirishingiz mumkin.

Slayd 13

USB ulanishi

LEGO Mindstorms EV3 kompyuterga yoki boshqa EV3 ga USB ulanishi orqali ulanishi mumkin. Bu holda ulanish tezligi va barqarorligi har qanday boshqa usullardan, shu jumladan Bluetooth-dan yaxshiroqdir.

LEGO Mindstorms EV3 ikkita USB portiga ega.

LEGO EV3 va boshqa LEGO EV3 bloklari o'rtasidagi aloqa zanjirli rejimda.

Daisy zanjir rejimi ikki yoki undan ortiq LEGO EV3 bloklarini ulash uchun ishlatiladi.

Ushbu rejim:

  • bir nechta LEGO Mindstorms EV3 ni ulash uchun mo'ljallangan;
  • ko'proq sensorlar, motorlar va boshqa qurilmalarni ulash uchun xizmat qiladi;
  • bir nechta LEGO Mindstorms EV3 (4 tagacha) o'rtasida aloqa o'rnatishga imkon beradi, bu bizga 16 tagacha tashqi port va bir xil miqdordagi ichki portlarni beradi;
  • asosiy LEGO Mindstorms EV3 dan butun zanjirni boshqarish imkonini beradi;
  • Wi-Fi yoki Bluetooth faol bo'lganda ishlamaydi.

Daisy zanjirli ulanish rejimini yoqish uchun loyiha sozlamalari oynasiga o'ting va katakchani belgilang.

Ushbu rejim tanlanganda, har qanday dvigatel uchun biz ishlatiladigan EV3 blokini va kerakli sensorlarni tanlashimiz mumkin.

Jadvalda EV3 bloklaridan foydalanish variantlari ko'rsatilgan:

Harakat

O'rta dvigatel

Katta motor

Rulda boshqarish

Mustaqil boshqaruv

Giroskopik

Infraqizil

Ultrasonik

Dvigatelning aylanishi

Haroratlar

Energiya hisoblagichi

Ovoz

Bluetooth orqali ulanish

Bluetooth LEGO Mindstorms EV3 ga shaxsiy kompyuter, boshqa LEGO Mindstorms EV3, smartfonlar va boshqa Bluetooth qurilmalariga ulanish imkonini beradi. Bluetooth orqali aloqa diapazoni 25 m gacha.

Bitta LEGO Mindstorms EV3 ga 7 tagacha blokni ulashingiz mumkin. EV3 Master Brick har bir EV3 Slave-ga xabar yuborish va qabul qilish imkonini beradi. EV3 Slaves xabarlarni bir-biriga emas, faqat EV3 Master Brick-ga yuborishi mumkin.

Bluetooth orqali EV3 ulanish ketma-ketligi

Ikki yoki undan ortiq EV3 bloklarini Bluetooth orqali bir-biriga ulash uchun siz quyidagi amallarni bajarishingiz kerak:

1. Yorliq oching Sozlamalar.

2. tanlang Bluetooth va markaziy tugmani bosing.

3. Biz qo'ydik Belgilash katagi ko'rinish Bluetooth.

4. Bluetooth belgisi ("<") виден на верхней левой стороне.

5. Yuqoridagi tartibni kerakli miqdordagi EV3 Bricks uchun bajaring.

6. Ulanish yorlig'iga o'ting:

7. Qidiruv tugmasini bosing:

8. Ulanmoqchi bo'lgan (yoki ulanmoqchi bo'lgan) EV3 ni tanlang va markaziy tugmani bosing.

9. Birinchi va ikkinchi bloklarni kirish kaliti bilan bog'laymiz.

Agar siz hamma narsani to'g'ri qilsangiz, yuqori chap burchakda " belgisi paydo bo'ladi<>", agar ikkitadan ortiq bo'lsa, boshqa EV3 bloklarini xuddi shu tarzda ulang.

Agar siz LEGO EV3-ni o'chirib qo'ysangiz, aloqa uzilib qoladi va barcha amallarni takrorlashingiz kerak bo'ladi.

Muhim: har bir blokda o'z dasturi yozilgan bo'lishi kerak.

Misol dastur:

Birinchi blok: Sensorli sensor bosilganda, birinchi EV3 bloki matnni 3 soniya kechikish bilan ikkinchi Blokka uzatadi (Asosiy blok).

2-blok uchun dastur namunasi:

Ikkinchi blok birinchi blokdan matnni qabul qilishni kutadi va uni qabul qilgandan so'ng u 10 soniya davomida so'zni (bizning misolimizda "Salom" so'zini) ko'rsatadi (qul blok).

Wi-Fi orqali ulaning

Wi-Fi Dongle-ni EV3-dagi USB portiga ulash orqali uzoqroq aloqa qilish mumkin.

Wi-Fi-dan foydalanish uchun USB ulagichi (Wi-Fi adapteri (Netgear N150 Wireless Adapter (WNA1100)) yordamida EV3 blokiga maxsus modul o'rnatishingiz kerak yoki siz Wi-Fi Dongle-ni ulashingiz mumkin.