LEGO Mindstorms Education EV3 - Recenzija dizajnera. Pročitajte najnovije vijesti iz svijeta Lego – EduCube. LEGO Mindstorms EV3. Toy Skynet. Početna Kako dodati dodatne lego ev3 module

Ako imate pitanja koja biste željeli znati o novom dizajneru (kako nešto konkretno funkcionira, provesti eksperiment sa senzorima ili motorima) - pišite nam - isprobat ćemo vaše prijedloge. Na ovaj način možete naučiti mnogo više o EV3 čak i prije nego što krene u prodaju.

Sada sve počinje pregledom softver EV3 blok (EV3 firmver).

Jedna od karakteristika nove jedinice je da je potrebno dosta vremena da se uključi i isključi. Vremenski, proces je uporediv sa uključivanjem mobitel ili kućni ruter, tj. 20-30 sekundi. Nakon uključivanja, pojavljuje se sljedeći meni:


Kao što vidite, u poređenju sa NXT blokom, dosta se promenilo: poboljšan je kvalitet fontova, grafički elementi su više nacrtani, a interfejs prozora je poboljšan. Prije svega, to je zbog činjenice da se veličina ekrana sada povećala - postala je 178 x 128 piksela, umjesto 100 x 64, kao kod NXT bloka. Na osnovu prisustva prozorskog interfejsa sa integrisanim dugmadima i trakama za pomeranje, može se pretpostaviti da uređaji poput eksternog Touchpad sada će čak imati više smisla.


Iz prvog prozora moguće je pozvati programe učitane u blok, kao i programe kreirane direktno na bloku. One. da biste pokrenuli program sada morate izvršiti manje klikova nego na blok NXT.

Navigacija kroz učitane programe, kao i do drugog i narednih ekrana (stavki menija), vrši se pomoću kontrolnih tipki, kojih je sada 4.


Drugi ekran - omogućava vam navigaciju kroz objekte sistema datoteka na bloku. Sistem podataka sada podržava tradicionalnu hijerarhiju: datoteke i direktorije.


Treći ekran sadrži podmeni - aplikacije koje vam omogućavaju da izvršite različite radnje s blokom:


IN trenutna verzija Postoje četiri softverska bloka takvih aplikacija:

  • Pogledajte senzore
  • Kontrola motora
  • Daljinski upravljač
  • Programiranje na bloku
Četvrti ekran je konfiguracija. Osim toga osnovna podešavanja: nivo zvuka, tajmer neaktivnosti, uključivanje BlueTootha i WiFi-a, omogućava vam da saznate informacije o softveru uređaja:



Odabir određene stavke menija/aplikacije se dešava sa srednjim dugmetom na tastaturi. A da biste izašli iz bilo koje stavke menija ili aplikacije, potrebno je da pritisnete dugme „Izlaz“, koje se sada nalazi odvojeno od glavnih tastera - na levoj strani ispod ekrana.

Sada biste se trebali vratiti na treći ekran i započeti upoznavanje sa aplikacijama. Dakle, aplikacija "Prikaz senzora" (Port View).

Za razliku od sličnog načina rada na bloku NXT, sada možete vidjeti informacije o svih 8 uređaja povezanih na blok odjednom. Štoviše, deklarirana funkcionalnost automatskog otkrivanja senzora omogućava vam da ne naznačite ručno koji senzor je gdje povezan.

Informacije sa enkodera motora su prikazane na vrhu, informacije sa senzora su prikazane na dnu. U sredini ekrana - informacije o određeni uređaj(V određena luka), koji se može odabrati pritiskom na kontrolne tipke na tastaturi. Informacije uključuju grafički prikaz senzora, njegovo ime i trenutna očitanja:

Senzor na dodir:


Žiro senzor:


Senzor boje u načinu rada reflektirane svjetlosti:


Ultrazvučni senzor udaljenosti:

Ovdje, inače, možete vidjeti da senzor sada tvrdi da može mjeriti udaljenosti sa tačnošću od milimetara, a minimalna izmjerena udaljenost je sada 3 cm.

Informacije iz lijevog motornog enkodera.


Sljedeća primjena je kontrola motora. U suštini, omogućava vam da koristite dugmad za rotaciju motora. Pomoću centralnog dugmeta morate odabrati koje motore želite rotirati. Zatim koristite par dugmadi gore i dolje ili lijevo i desno da rotirate određene motore.


Treću aplikaciju nije bilo moguće isprobati, jer standardna isporuka obrazovne verzije EV3 kompleta ne uključuje infracrveni senzor udaljenosti i infracrveni far. Ali očigledno, na ovom ekranu možete konfigurisati koji će motori biti kontrolisani preko infracrvenog fara.


Naravno, najviše zanimljiva aplikacija je programiranje na bloku. Značajno je redizajniran: program sada može sadržavati do 16 programskih elemenata (blokova), a kreirani programi se mogu sačuvati i, naravno, ponovo otvoriti za modifikaciju.


Kada se otvori aplikacija za pisanje programa, prikazuje se prazna petlja izvršavanja (izvršit će se samo jedna iteracija) i prijedlog za umetanje prvog bloka. Možete umetnuti blok pomoću dugmeta "Gore".


U prozoru za odabir bloka koji se pojavi, dostupno je 17 blokova (6 blokova akcija i 11 blokova čekanja) plus akcija brisanja trenutnog bloka.



Redoslijed odabira i redoslijed blokova određuje programer. To ne znači da nakon svakog akcionog bloka mora postojati blok čekanja, kao što je ranije bio slučaj sa NXT blokom.

Odabrani blok u programu izgleda ovako:


Ponašanje bloka može se odrediti pritiskom na središnju tipku. Za ovaj blok, na primjer, možete promijeniti kut i smjer rotacije robota ili potpuno zaustaviti motore (na primjer, nakon prethodnog bloka čekanja).


Pomicanjem “kursora” lijevo ili desno možete umetnuti još jedan blok:


Na primjer, blok čekanja događaja na senzoru udaljenosti:


I promijenite njegovo ponašanje (događaj će se dogoditi ako udaljenost postane veća od 60 cm):


Blokovi se mogu umetnuti između postojećih blokova ili čak na početku programa.


Evo još primjera blokova čekanja:

Blok vremena čekanja (možete podesiti tačno koliko dugo čekati):


Ili blok za čekanje događaja od žiroskopskog senzora (možete podesiti kut rotacije senzora).


Opet treba napomenuti da funkcija automatskog otkrivanja senzora pojednostavljuje proces programiranja na jedinici. Više nema potrebe da se pridržavate pravila da određeni senzori moraju biti povezani na određene portove.

Ako se program mora izvršiti nekoliko puta, broj iteracija kontrolne petlje se može promijeniti:


Program se pokreće odabirom prvog bloka:


Kada pokrenete program, na ekranu će se prikazati sljedeće:


Program se može sačuvati, a možete odrediti naziv datoteke za kasniju pretragu:



Slova se biraju pomoću tastature (zdravo, touchpad!)

Ako pokušate zatvoriti nespremljeni program, prikazat će se sljedeća ne baš jasna poruka i čuti će se neugodan zvuk:


Kasnije možete otvoriti kreirani program i izvršiti izmjene u njemu.


Naravno, otvaraju se samo programi kreirani na bloku.

U zaključku, želio bih pokazati kako izgleda isključivanje bloka:


USB veza

LEGO Mindstorms EV3 se može povezati na PC ili drugi EV3 putem USB veze. Brzina i stabilnost veze u ovom slučaju su bolji nego kod bilo koje druge metode, uključujući Bluetooth.

LEGO Mindstorms EV3 ima dva USB porta.

Komunikacija između LEGO EV3 i drugih LEGO EV3 blokova u lančanom načinu rada.

Daisy chain mode se koristi za povezivanje dva ili više LEGO EV3 blokova.

Ovaj način rada:

  • dizajniran za povezivanje više od jednog LEGO Mindstorms EV3;
  • služi za povezivanje više senzori, motori i drugi uređaji;
  • omogućava komunikaciju između nekoliko LEGO Mindstorms EV3 (do 4), što nam daje do 16 eksternih portova i isti broj internih portova;
  • omogućava kontrolu cijelog lanca iz glavnog LEGO Mindstorms EV3;
  • ne može raditi kada je aktivan Wi-Fi veza ili Bluetooth.

Da biste omogućili način povezivanja u nizu, idite na prozor postavki projekta i označite polje.

Kada je odabran ovaj način rada, tada za bilo koji motor možemo odabrati EV3 blok koji će se koristiti i potrebne senzore.

Tabela prikazuje opcije za korištenje EV3 blokova:

Akcija

Srednji motor

Veliki motor

Upravljanje

Nezavisno upravljanje

Žiroskopski

Infracrveni

Ultrasonic

Motorna rotacija

Temperature

Brojilo energije

Zvuk

Povezivanje putem Bluetooth-a

Bluetooth omogućava LEGO Mindstorms EV3 povezivanje sa računarom, drugim LEGO Mindstorms EV3, pametnim telefonima i drugim Bluetooth uređajima. Domet komunikacije preko Bluetooth-a je do 25 m.

Možete povezati do 7 blokova na jedan LEGO Mindstorms EV3. EV3 Master Brick vam omogućava da šaljete i primate poruke svakom EV3 Slave-u. EV3 Slave-ovi mogu slati poruke samo na EV3 Master Brick, ne jedni drugima.

EV3 sekvenca povezivanja putem Bluetooth-a

Da biste povezali dva ili više EV3 blokova jedan s drugim putem Bluetootha, potrebno je izvršiti sljedeće korake:

1. Otvorite karticu Postavke.

2. Odaberite bluetooth i pritisnite centralno dugme.

3. Stavili smo Polje za potvrdu vidljivost Bluetooth.

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

5. Uradite gornju proceduru za potreban broj EV3 kockica.

6. Idite na karticu Veza:

7. Kliknite na dugme Traži:

8. Odaberite EV3 na koji želite da se povežete (ili na koji želite da se povežete) i pritisnite centralno dugme.

9. Prvi i drugi blok povezujemo pristupnim ključem.

Ako sve uradite kako treba, u gornjem levom uglu će se pojaviti ikona "<>", povežite ostale EV3 blokove na isti način ako ih ima više od dva.

Ako isključite LEGO EV3, veza će se izgubiti i morat ćete ponoviti sve korake.

Važno: svaki blok mora imati napisan vlastiti program.

Primjer programa:

Prvi blok: Kada se pritisne senzor dodira, prvi EV3 blok prenosi tekst drugom bloku sa odgodom od 3 sekunde (glavni blok).

Primjer programa za blok 2:

Drugi blok čeka da primi tekst iz prvog bloka, a kada ga primi, prikazat će riječ (u našem primjeru riječ "Hello") 10 sekundi (slave blok).

Povežite se putem Wi-Fi mreže

Komunikacija većeg dometa je moguća povezivanjem Wi-Fi ključa na USB port na EV3.

Da biste koristili Wi-Fi, trebate instalirati poseban modul na EV3 blok pomoću USB konektora (Wi-Fi adapter (Netgear N150 Wireless Adapter (WNA1100)) ili možete spojiti Wi-Fi Dongle.

Ako vam, kao i nama, nedostaju mogućnosti standardnih EV3 senzora, 4 porta za senzore u vašim robotima nisu dovoljna ili želite da povežete neke egzotične periferije na svog robota - ovaj članak je za vas. Vjerujte mi, domaći senzor za EV3 je lakši nego što se čini. „Dugmad za jačinu zvuka“ sa starog radija ili nekoliko eksera zabodenih u zemlju u saksiji za cvijeće kao senzor vlažnosti tla savršeni su za eksperiment.

Iznenađujuće, svaki EV3 senzorski port skriva brojne različite protokole, uglavnom za kompatibilnost sa NXT i senzorima trećih strana. Pogledajmo kako EV3 kabl radi


Čudno, ali crvena žica je uzemljena (GND), zelena žica je plus napajanja od 4,3V. Plava žica je i SDA za I2C sabirnicu i TX za UART protokol. Osim toga, plava žica je ulaz za analogno-digitalni pretvarač za EV3. Žuta žica je i SCL za I2C sabirnicu i RX za UART protokol. Bijela žica je ulaz analogno-digitalnog pretvarača za NXT senzore. Crno - digitalni ulaz, za senzore kompatibilne sa NXT - duplira GND. Nije lako, zar ne? Idemo redom.

EV3 analogni ulaz

Svaki port senzora ima kanal analogno-digitalnog pretvarača. Koristi se za senzore kao što su senzor dodira (dugme), senzor svjetla NXT i senzor boje u načinu reflektiranog svjetla i ambijentalnog svjetla, senzor zvuka NXT i termometar NXT.

Otpor od 910 Ohma, spojen prema dijagramu, govori kontroleru da se ovaj port mora prebaciti na analogni ulazni mod. U ovom modu možete spojiti bilo koji analogni senzor na EV3, na primjer iz Arduina. Tečaj s takvim senzorom može doseći nekoliko hiljada anketa u sekundi; ovo je najbrži tip senzora.

Svetlosni senzor

Termometar

Senzor vlage u zemljištu

Također možete spojiti: mikrofon, dugme, IR daljinomjer i mnoge druge uobičajene senzore. Ako napajanje od 4,3V nije dovoljno za senzor, možete ga napajati sa 5V iz USB porta koji se nalazi sa strane EV3 kontrolera.

Gore spomenuto „dugme za jačinu zvuka“ (također poznato kao varijabilni otpornik ili potenciometar) je odličan primjer analognog senzora - može se spojiti na sljedeći način:

Da biste očitali vrijednosti s takvog senzora u standardnom LEGO programskom okruženju, morate koristiti plavi RAW blok

I2C protokol

Ovo je digitalni protokol; na primjer, ultrazvučni senzor NXT i mnogi Hitechnic senzori, kao što su IR Seeker ili Color Sensor V2, rade na njemu. Za druge platforme, na primjer za Arduino, postoji puno i2c senzora, možete ih i povezati. Shema je sljedeća:

LEGO Group preporučuje otpor od 82 oma, ali različiti izvori spominju 43 oma ili manje. Zapravo, pokušali smo potpuno napustiti te otpore i sve funkcionira, barem “na stolu”. U stvarnom robotu koji radi u uvjetima različitih vrsta smetnji, SCL i SDA linije bi i dalje trebale biti spojene na napajanje preko otpornika, kao što je prikazano na dijagramu iznad. I2c radna brzina u EV3 je prilično niska, otprilike 10.000 kbps, zbog čega je svima omiljeni Hitechnic Color Sensor V2 tako spor :)

Nažalost, za standardni EV3-G iz LEGO-a ne postoji punopravni blok za dvosmjernu komunikaciju sa i2c senzorom, ali korištenjem programskih okruženja treće strane kao što su RobotC, LeJOS ili EV3 Basic možete komunicirati sa gotovo svim i2c senzorima .

Sposobnost EV3 da radi pomoću i2c protokola otvara zanimljivu mogućnost za povezivanje više senzora na jedan port. I2C protokol vam omogućava da povežete do 127 slave uređaja na jednu magistralu. Možete li zamisliti? 127 senzora za svaki EV3 port :) Štaviše, često se gomila i2c senzora kombinuje u jednom uređaju, na primjer na slici ispod je senzor 10 u 1 (sadrži kompas, žiroskop, akcelerometar, barometar itd.)

UART

Gotovo svi standardni ne-EV3 senzori, osim senzora dodira, rade po UART protokolu i zbog toga nisu kompatibilni sa NXT kontrolerom, koji, iako ima iste konektore, nema UART implementiran na senzoru luke. Pogledajte dijagram, malo je jednostavniji nego u prethodnim slučajevima:

UART senzori automatski usklađuju brzinu svog rada sa EV3. U početku se povezuju brzinom od 2400 kbit/s, dogovaraju se o režimima rada i kursevima, a zatim prelaze na povećanu brzinu. Tipični kursevi za različite senzore su 38400 i 115200 kbit/s.
LEGO je implementirao prilično kompliciran protokol u svoje UART senzore, tako da ne postoje senzori treće strane koji nisu izvorno namijenjeni ovoj platformi, ali su kompatibilni s njom. Ipak, ovaj protokol je vrlo zgodan za povezivanje "domaćeg"
senzori bazirani na mikrokontrolerima.
Postoji divna biblioteka za Arduino pod nazivom EV3UARTEmulation, koju je napisao poznati LeJOS programer Lawrie Griffiths, koja omogućava ovoj ploči da se pretvara da je UART-LEGO kompatibilan senzor. Njegov blog LeJOS News ima mnogo primjera povezivanja plinskih senzora, IMU senzora i digitalnog kompasa pomoću ove biblioteke.

Ispod u videu je primjer korištenja domaćeg senzora. Nemamo dovoljno originalnih LEGO senzora udaljenosti, pa koristimo domaći na robotu:


Zadatak robota je da krene od zelene ćelije, pronađe izlaz iz lavirinta (crvene ćelije) i vrati se do početne tačke najkraćim putem, bez zalaska u ćorsokak.

Članak opisuje iskustvo korištenja Lego Mindstorms EV3 konstruktora za kreiranje prototipa robota s naknadnim softverom i ručnim upravljanjem pomoću Meta jezika kontrole robota (RCML).

  • Sastavljanje prototipa robota zasnovanog na Lego Mindstorms EV3
  • Brza instalacija i konfiguracija RCML-a za Windows
  • Softversko upravljanje robotom bazirano na EV3 kontroleru
  • Ručna kontrola perifernih uređaja robota pomoću tastature i gamepada
Gledajući malo unapred, dodaću da za implementaciju kontrole nad Lego robotom pomoću tastature, morate kreirati program koji sadrži samo 3 reda programskog koda. Više detalja o tome kako to učiniti piše ispod reza.

1. Za početak, napravljen je prototip robota iz Lego Mindstorms EV3 konstruktora, koji će se koristiti za programiranje i ručno pilotiranje.

Opis prototipa robota

Robot ima dizajn sličan šasiji automobila. Dva motora montirana na ram imaju jednu zajedničku os rotacije koja je preko mjenjača povezana sa stražnjim kotačima. Menjač pretvara obrtni moment povećanjem ugaone brzine zadnje osovine. Upravljač je sastavljen na bazi konusnog zupčanika.



2. Sljedeći korak je priprema RCML-a za rad sa Lego Mindstorms EV3 konstruktorom.

Trebali biste preuzeti arhive s izvršnim datotekama i datotekama biblioteke i .

Preuzete arhive moraju biti raspakirane u direktorij s proizvoljnim imenom, ali bi trebalo izbjegavati Ruska slova u naslovu.

Sadržaj direktorija nakon raspakivanja arhive u njega



Zatim morate kreirati konfiguracijsku datoteku config.ini, koja se mora nalaziti u istom direktoriju. Da biste implementirali mogućnost upravljanja EV3 kontrolerom pomoću tastature i gamepada, morate povezati module lego_ev3, tipkovnicu i gamepad.

Popis konfiguracijske datoteke config.ini za RCML

Modul = lego_ev3 modul = modul tastature = gamepad


Zatim morate upariti EV3 kontroler i adapter.

Upute za uparivanje EV3 kontrolera i Bluetooth adaptera

Uputstva sadrže primjer uparivanja Lego Ev3 kontrolera i računara koji radi pod operativnim sistemom Windows 7.

1. Morate otići na odjeljak postavki Ev3 kontrolera, a zatim na stavku menija “Bluetooth”.

2. Provjerite jesu li konfiguracijski parametri ispravno postavljeni. Polje za potvrdu treba označiti pored stavki „Vidljivost“, „Bluetooth“.

3. Morate otići na “Control Panel”, zatim “Devices and Printers”, a zatim “Bluetooth Devices”.

4. Morate kliknuti na dugme “Dodaj uređaj”. Otvoriće se prozor za odabir dostupnih Bluetooth uređaja.

5. Odaberite “EV3” uređaj i kliknite na dugme “Next”.

6. EV3 kontroler prikazuje dijaloški okvir “Connect?”. Potrebno je da izaberete opciju za potvrdu i potvrdite svoj izbor pritiskom na centralni taster.

7. Zatim će se prikazati dijaloški okvir “PASSKEY”, brojevi “1234” trebaju biti naznačeni u liniji za unos, a zatim potvrdite ključnu frazu za uparivanje uređaja pritiskom na središnji taster na poziciji sa kvačicom.

8. U čarobnjaku za uparivanje uređaja pojavit će se obrazac za unos ključa za uparivanje uređaja. Potrebno je da unesete kod “1234” i pritisnete dugme “Dalje”.

10. Na PC-u se morate vratiti na “Control Panel”, zatim “Devices and Printers”, a zatim “Bluetooth Devices”. Lista dostupnih uređaja će prikazati uređaj sa kojim je uparen.

11. Dvaput kliknite da biste otišli na “EV3” svojstva veze.

14. Indeks COM porta naveden u svojstvima treba koristiti u konfiguracijskoj datoteci config.ini modula lego_ev3. Primjer prikazuje svojstva Bluetooth veze Lego EV3 kontrolera koji koristi standardni COM14 serijski port.


Dalja konfiguracija modula se svodi na to da je potrebno u konfiguracijski fajl lego_ev3 modula upisati adresu COM porta preko kojeg se ostvaruje komunikacija sa Lego robotom.

Popis konfiguracijske datoteke config.ini za modul lego_ev3

Veza = COM14 dinamička_veza = 0


Sada morate da konfigurišete modul tastature. Modul se nalazi u direktoriju control_modules, a zatim tastatura. Trebali biste kreirati konfiguracijsku datoteku config.ini pored datoteke keyboard_module.dll. Prije nego što kreirate konfiguracijsku datoteku, morate odrediti koje radnje treba izvršiti prilikom pritiskanja tipki.

Modul tastature vam omogućava da koristite tastere koji imaju određeni numerički kod. Možete pogledati tabelu virtuelnih šifri ključeva.

Kao primjer, koristit ću sljedeće tipke:

  • Strelice gore/dolje se koriste za rotaciju motora stražnjeg kotača naprijed/nazad
  • Strelice lijevo/desno okreću kotače lijevo/desno
Konfiguracioni fajl modula tastature opisuje koje su ose dostupne programeru za interakciju sa robotom u režimu ručnog upravljanja. Dakle, u primjeru postoje dvije kontrolne grupe - to su osi tipkovnice. Da biste dodali novu os, morate se pridržavati sljedećih pravila za opisivanje osi.

Pravila za opisivanje osi za modul tastature

1. Prilikom dodavanja nove ose potrebno je u sekciji dodajte svojstvo čije je ime ime ose i dodijelite mu vrijednost dugmeta na tastaturi HEX formatu, a za svako dugme se kreira sličan zapis, tj. ime ose se može koristiti više puta. Općenito, pisanje u odjeljak izgledat će ovako:

Axis_name = keyboard_button_value_in_HEX_format
2. Potrebno je postaviti maksimalnu i minimalnu vrijednost koja se može iscrtati duž ove ose. Da biste to učinili, morate dodati odjeljak u konfiguracijski fajl u novi red config.ini, isto kao i ime ose i postavite svojstva gornja_vrijednost I niža_vrijednost, koji odgovaraju maksimumu i minimumu ose, respektivno. Općenito, ovaj odjeljak izgleda ovako:

[axis_name] gornja_vrijednost = maksimalna_vrijednost_ose donja_vrijednost = minimalna_vrijednost_ose
3. Zatim morate odrediti koju će vrijednost os imati ako pritisnete dugme na tastaturi koje je prethodno bilo pričvršćeno za nju. Vrijednosti se određuju kreiranjem sekcije čiji se naziv sastoji od naziva ose i vrijednosti tipke na tipkovnici u HEX format, odvojen donjom crtom. Da biste postavili zadano (nepritisnuto) i pritisnuto stanje, koristite svojstva unpressed_value I pressed_value odnosno u koje se prenose vrijednosti. Opšti prikaz sekcije u ovom slučaju izgleda ovako:

[axis-name_keyboard-key-value] pressed_value = axis_value when_key_pressed unpressed_value = axis_value_when_key_pressed
Tekst spojlera je kopiran iz RCML dokumentacije radi lakšeg pregleda.


Za implementaciju kontrole prototipa robota kreiran je konfiguracijski fajl za modul tipkovnice, koji uključuje osi pokretanja i rotiranja. Go osa se koristi za postavljanje smjera kretanja robota. Kada pritisnete tipku „strelica nagore“, osa će dobiti vrijednost od 100; kada pritisnete tipku „strelica nadolje“, osa će dobiti vrijednost od -50. Osa rotacije se koristi za podešavanje ugla upravljanja prednjim točkovima. Kada pritisnete tipku sa strelicom lijevo, vrijednost ose će biti -5, kada pritisnete tipku sa strelicom udesno, vrijednost ose će biti 5.

Popis konfiguracijske datoteke config.ini za modul tastature

;Potreban odjeljak ;axis_name = key_code (u HEX formatu) ;go osa prima vrijednosti od up_arrow go = 0x26 ;go osa prima vrijednosti od go_down_arrow = 0x28 ;rotate axis prima vrijednosti od left_arrow rotate = 0x25 s ;rotate axis ; prima vrijednosti od desne_strelice rotate = 0x27 ;Opis kretne ose, uvijek mora imati oba ključa ;Gornja granica vrijednosti osi pokreta gornja_vrijednost = -100 ;Donja granica vrijednosti osi kretanja donja_vrijednost = 100 ;Opis rotirati os, uvijek mora imati oba ključa;Gornja granica vrijednosti rotacije ose gornja_vrijednost = - 100 ;Donja granica vrijednosti osi rotirati niža_vrijednost = 100 ;Opis ponašanja ose za kretanje za tipku *up_arrow* (0x26 ) ;Kada pritisnete tipku *up_arrow*, postavite vrijednost ose na 50 pressed_value = 100 ;Kada otpustite tipku *up_arrow*, postavite vrijednost ose na 0 unpressed_value = 0 ;Opis ponašanja osi kretanja za *down_arrow * tipka (0x28) ;Kada pritisnete tipku *down_arrow*, postavite vrijednost ose na -50 pressed_value = -50 ;Kada otpustite tipku *down_arrow*, postavite vrijednost ose na 0 unpressed_value = 0 ;Opis ponašanja rotacijske ose za tipku *left_arrow* (0x25) ;Kada pritisnete tipku *left_arrow*, postavite vrijednost ose na -5 pressed_value = -5 ;Kada otpustite tipku *left_arrow*, postavite vrijednost ose na 0 unpressed_value = 0 ;Opis ponašanje osi rotacije za tipku *right_arrow* (0x27) ;Kada pritisnete tipku *right_arrow*, postavite vrijednost ose na 5 pressed_value = 5 ;Kada otpustite tipku *right_arrow*, postavite vrijednost ose na 0 unpressed_value = 0


Zatim, da biste implementirali kontrolu pomoću gamepada, morate konfigurirati modul gamepada. Konfiguriranje modula uključuje kreiranje konfiguracijske datoteke config.ini pored gamepad_module.dll, koja se nalazi u direktoriju control_modules, a zatim gamepad.

Univerzalna konfiguracijska datoteka modula za interakciju s gamepadom

;Potreban odjeljak koji opisuje korištene ose ;Osa za završetak ručnog načina upravljanja Izlaz = 9 ; 11 binarnih osa koje odgovaraju dugmadima gamepada B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 start = 10 T1 = 11 T2 = 12 ; 4 ose štapa; Pomeranje desnog štapa gore/dole RTUD = 13; Pomeranje desnog štapa levo/desno RTLR = 16; Kretanje levog štapa gore/dole LTUD = 15 Pomeranje levog štapa levo/desno LTLR = 14; 2 ose krsta;Pomeranje krsta strelice gore/doleUD = 17 ;Kretanje krsta strelice levo/desnoLR = 18 ;Opis ponašanja ose B1;Pritiskom na dugme B1, vrednost ose postavite na 1 gornju_vrednost = 1; Prilikom otpuštanja dugmeta B1, postavite vrijednost ose na 0 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 gornja_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 1 niža_vrijednost = u0 upper_value = upper_value_0 1 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 gornja_vrijednost = 1 donja_vrijednost = 0 ;Opis ponašanja desnog štapa = 0 ;Opis ponašanja ose desnog štapa; maksimalna vrijednost xi se kreće gore/dolje moguća gornja pozicija gornja_vrijednost = 0 ;Vrijednost osi pri pomicanju na maksimalnu moguću donju poziciju lower_value = 65535 gornja_vrijednost = 0 lower_value = 65535 gornja_vrijednost = 0 lower_value = 65535 gornja_vrijednost = 0 low_value = 0 low_value the- pad = a low_value of D /pokret prema dolje ;Vrijednost ose kada pritisnete strelicu nagore gornja_vrijednost = 1 ;Vrijednost osi kada pritisnete strelicu nadolje donja_vrijednost = -1 gornja_vrijednost = 1 donja_vrijednost = -1


Dodatne informacije o specifičnostima podešavanja gamepad modula prikazane su u RCML referentnom priručniku.

3. Sljedeći korak je pisanje programa u RCML-u.

U korijenu kreiranog direktorija trebate kreirati programsku datoteku. Naziv programske datoteke i njena ekstenzija mogu biti bilo koji, ali treba izbjegavati ruska slova u nazivu. Ime datoteke korišteno u primjeru je hello.rcml.

Za modul lego_ev3, kod rezervacije robota ima sljedeći oblik:

@tr = robot_lego_ev3;

Stranica za povezivanje modula lego_ev3 opisuje većinu funkcija koje podržava kontroler. Kao probni primjer, kreiran je program za automatski ulazak robota u klizanje.

Algoritam programa je sljedeći:

Nakon rezervisanja prvog slobodnog robota, uspostavlja se veza između dva motora za naknadni rad s njima kao da su jedan. Tada robot počinje da izvodi zanošenje. Softverski opis radnji robota omogućava vam da precizno postavite kutove rotacije prednjih kotača i brzinu rotacije stražnjih kotača. Korištenje ove tehnike vam omogućava da postignete rezultate koje je teško ponoviti tokom ručnog pilotiranja pomoću tastature ili gamepada.

Lista programa za Lego robota u RCML jeziku

function main() ( @tr = robot_lego_ev3; //Rezervirajte robota @tr->setTrackVehicle("B","C",0,0); //Podešavanje sinhronizacije motora @tr->motorMoveTo("D",100) , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); system. spavanje (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); )


Da biste kompajlirali program, morate koristiti komandnu liniju prozora. Prvo, trebali biste se premjestiti u kreirani direktorij s izvršnim datotekama rcml_compiler.exe i rcml_intepreter.exe. Zatim morate unijeti sljedeće naredbe.

Naredba za kompajliranje hello.rcml datoteke:

Rcml_compiler.exe hello.rcml hello.rcml.pc
Kao rezultat kompajliranja, nova datoteka hello.rcml.pc će se pojaviti u kreiranom direktoriju.

Snimak ekrana komandne linije nakon uspješne kompilacije



Sada morate biti sigurni da je EV3 kontroler uključen i uparen s Bluetooth adapterom. Gamepad mora biti povezan sa računarom. Nakon ovoga, potrebno je izvršiti naredbu za izvršavanje programske datoteke:

Rcml_intepreter.exe hello.rcml

Izgled komandne linije tokom izvršavanja programa



Video koji prikazuje program kretanja robota nalazi se na dnu članka.

4. Sljedeći korak je ručna kontrola robota pomoću tastature.

Pomoću tastature možete upravljati bilo kojim robotskim motorom. Primjer implementira kontrolu sljedećih mehanizama:

  • Ugao upravljanja prednjim točkovima
  • Smjer rotacije stražnjih kotača

Popis programa za interakciju između tastature i Lego robota baziranog na EV3 kontroleru

function main() ( @tr = robot_lego_ev3; //Rezervirajte robota @tr->setTrackVehicle("B","C",0,0); //Podešavanje sistema za sinhronizaciju motora.hand_control(@tr,"keyboard", " ravno", "kreni", "speedMotorD", "rotiraj"); )


Zatim morate kompajlirati program i pokrenuti ga. Rezultat ručnog upravljanja Lego robotom pomoću tastature prikazan je u videu na dnu stranice.

5. Pored tastature, dostupan je i gamepad modul koji vam omogućava da manipulišete robotom pomoću gamepada. Za implementaciju kontrole robota pomoću gamepada, potrebno je na nivou programa opisati koje će osi robota uzeti vrijednosti osi gamepada.

Popis programa za interakciju između gamepada i Lego robota

function main() ( @tr = robot_lego_ev3; //Rezervirajte robota @tr->setTrackVehicle("B","C",0,0); //Podešavanje sistema za sinhronizaciju motora.hand_control(@tr,"gamepad", " ravno","RTUD", "speedMotorD","RTLR"); )


Zatim biste trebali ponoviti proces kompajliranja programa i zatim ga izvršiti. U nastavku je prikazan rezultat ručnog upravljanja Lego robotom pomoću gamepada i svih prethodno povezanih metoda:

Ovaj članak ukratko pokazuje samo neke od mogućnosti RCML-a. Najdetaljniji opis možete pronaći u referentnom priručniku.

Opis prezentacije po pojedinačnim slajdovima:

1 slajd

Opis slajda:

2 slajd

Opis slajda:

EV3 Brick Interface EV3 Brick je kontrolni centar koji pokreće vaše robote. Sa ekranom, dugmadima za kontrolu Brick-a i interfejsom EV3 Brick, koji sadrži četiri glavna prozora, imate pristup zadivljujućem nizu jedinstvenih karakteristika EV3 Brick-a. To mogu biti jednostavne funkcije, kao što je pokretanje i zaustavljanje programa, ili složene, poput pisanja samog programa.

3 slajd

Opis slajda:

Interfejs: EV3 meni ima meni koji se sastoji od 4 dijela: Nedavni programi Navigacija datoteka Brick Aplikacije Brick postavke

4 slajd

Opis slajda:

Nedavni programi Pokrenite programe nedavno preuzete sa vašeg desktop računara. Ovaj prozor će ostati prazan dok ne počnete da preuzimate i pokrećete programe. Ovaj prozor će prikazati programe koje ste nedavno pokrenuli. Program na vrhu liste, koji je podrazumevano izabran, je program koji je poslednji pokrenut.

5 slajd

Opis slajda:

Upravljač datotekama Pristup i upravljanje svim datotekama pohranjenim u memoriji mikroračunara, kao i na memorijskoj kartici. Iz ovog prozora ćete pristupiti svim datotekama u vašem EV3 Brick-u i upravljati njima, uključujući datoteke pohranjene na SD kartici. Fajlovi su organizirani u projektne mape, koje, osim stvarnih programskih datoteka, sadrže i zvukove i slike korištene u svakom projektu. Datoteke se mogu premještati ili brisati pomoću navigatora datoteka. Programi kreirani korištenjem okruženja za programiranje modula i aplikacija za evidentiranje podataka modula odvojeno se pohranjuju u mape BrkProg_SAVE i BrkDL_SAVE.

6 slajd

Opis slajda:

EV3 Control Box Applications ima 4 unaprijed instalirane aplikacije: A. Port View. B. Kontrola motora. B. IR kontrola. D. Okruženje za programiranje modula.

7 slajd

Opis slajda:

A. Port View U prvom prozoru aplikacije Port View, možete brzo vidjeti koji portovi imaju senzore ili motore povezane na njih. Koristite kontrolne tipke EV3 Brick za navigaciju do jednog od zauzetih portova i vidjet ćete trenutna očitavanja senzora ili motora. Instalirajte nekoliko senzora i motora i eksperimentirajte s različitim postavkama. Za pregled ili promjenu trenutnih postavki za instalirane motore i senzore, pritisnite središnji gumb. Da biste se vratili na glavni prozor aplikacije modula, kliknite na dugme „Nazad“.

8 slajd

Opis slajda:

B. Kontrola motora Kontrolirajte kretanje naprijed ili nazad bilo kojeg motora spojenog na jedan od četiri izlazna porta. Postoje dva različita načina rada. U jednom načinu rada, moći ćete kontrolirati motore spojene na priključak A (pomoću tipki gore i dolje) i na priključak D (pomoću tipki lijevo i desno). U drugom modu, vi upravljate motorima povezanim na port B (pomoću tipki gore i dolje) i port C (pomoću tipki lijevo i desno). Prebacivanje između ova dva režima se vrši pomoću centralnog dugmeta. Da biste se vratili na glavni prozor aplikacije modula, kliknite na dugme „Nazad“.

Slajd 9

Opis slajda:

IR kontrola Kontrolirajte kretanje naprijed ili nazad bilo kojeg motora spojenog na jedan od četiri izlazna porta koristeći daljinski infracrveni far kao daljinski upravljač i infracrveni senzor kao prijemnik (infracrveni senzor mora biti povezan na port 4 na EV3 kocki) . Postoje dva različita načina rada. U jednom režimu ćete koristiti kanale 1 i 2 na udaljenom infracrvenom faru. Na kanalu 1, moći ćete kontrolisati motore povezane na port B (pomoću dugmadi 1 i 2 na udaljenom IR svjetioniku) i portu C (pomoću tipki 3 i 4 na udaljenom IR svjetioniku). Na kanalu 2 moći ćete kontrolirati motore spojene na port A (pomoću tipki 1 i 2) i na port D (pomoću tipki 3 i 4). U drugom režimu, možete kontrolisati motore na isti način, koristeći kanale 3 i 4 na daljinskom infracrvenom faru. Prebacivanje između ova dva režima se vrši pomoću centralnog dugmeta. Da biste se vratili na glavni prozor aplikacije modula, kliknite na dugme „Nazad“.

10 slajd

Opis slajda:

Brick programsko okruženje EV3 Brick dolazi sa instaliranim softverom na njemu. Aplikacija je slična softveru instaliranom na vašem računaru. Ove upute sadrže osnovne informacije koje su vam potrebne za početak.

11 slajd

Opis slajda:

Postavke EV3 Brick-a Ovaj prozor vam omogućava da vidite i prilagodite različite opće postavke u EV3 Brick-u.

12 slajd

Opis slajda:

Podešavanje jačine zvuka Možete povećati ili smanjiti jačinu zvuka na kartici Settings u EV3.

Slajd 13