LEGO Mindstorms Education EV3 - Pregled dizajnera. Pročitajte najnovije vijesti iz svijeta Lega – EduCube. LEGO Mindstorms EV3. Igračka Skynet. Početna Kako dodati dodatne lego ev3 module

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

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

Jedna od značajki nove jedinice je da je potrebno puno vremena za uključivanje i isključivanje. Vremenski, proces je usporediv s inkluzijom mobitel ili kućni ruter, tj. 20-30 sekundi. Nakon uključivanja pojavljuje se sljedeći izbornik:


Kao što možete vidjeti, u usporedbi s blokom NXT, puno se toga promijenilo: kvaliteta fontova je poboljšana, iscrtaniji grafički elementi, sučelje prozora. Prije svega, to je zbog činjenice da se veličina zaslona sada povećala - postala je 178 x 128 piksela, umjesto 100 x 64, kao što je NXT blok. Na temelju prisutnosti prozorskog sučelja s integriranim gumbima i trakama za pomicanje, može se pretpostaviti da uređaji poput vanjskog Touchpad sad će čak imati više smisla.


Iz prvog prozora moguće je pozvati programe učitane u blok, kao i programe kreirane izravno na bloku. Oni. da biste pokrenuli program, sada morate napraviti manje klikova nego na NXT bloku.

Navigacija kroz učitane programe, kao i do drugog i sljedećih ekrana (stavki izbornika), vrši se pomoću upravljačkih gumba, kojih sada ima 4.


Drugi zaslon - omogućuje vam navigaciju kroz objekte datotečnog sustava u bloku. Sustav datoteka sada podržava tradicionalnu hijerarhiju: datoteke i direktorije.


Treći zaslon sadrži podizbornik - aplikacije koje vam omogućuju izvođenje različitih radnji s blokom:


U Trenutna verzija Postoje četiri programska bloka takvih aplikacija:

  • Pogledajte senzore
  • Kontrola motora
  • Daljinski upravljač
  • Programiranje u bloku
Četvrti zaslon je konfiguracija. osim osnovne postavke: razina zvuka, mjerač vremena neaktivnosti, uključivanje BlueTootha i WiFi-a, omogućuje vam da saznate informacije o softveru jedinice:



Odabir određene stavke izbornika/aplikacije događa se srednjom tipkom na tipkovnici. A da biste izašli iz bilo koje stavke izbornika ili aplikacije, morate pritisnuti gumb "Izlaz", koji se sada nalazi odvojeno od glavnih gumba - s lijeve strane ispod zaslona.

Sada se trebate vratiti na treći zaslon i početi se upoznavati s aplikacijama. Dakle, aplikacija "View senzori" (Port View).

Za razliku od sličnog načina na NXT bloku, sada možete vidjeti informacije o svih 8 uređaja povezanih s blokom odjednom. Štoviše, deklarirana funkcionalnost automatsko otkrivanje senzori vam omogućuje da ne naznačite ručno koji je senzor gdje spojen.

Informacije iz enkodera motora prikazane su na vrhu, informacije iz senzora prikazane su na dnu. U sredini ekrana - informacije o određeni uređaj(V određena luka), koji se mogu odabrati pritiskom na upravljačke tipke na tipkovnici. Informacije uključuju grafički prikaz senzora, njegov naziv i trenutna očitanja:

Senzor dodira:


Žiro senzor:


Senzor boje u načinu rada reflektirane svjetlosti:


Ultrazvučni senzor udaljenosti:

Ovdje, usput, možete vidjeti da senzor sada tvrdi da može mjeriti udaljenosti s milimetarskom točnošću, a minimalna izmjerena udaljenost je sada 3 cm.

Informacije iz lijevog kodera motora.


Sljedeća primjena je kontrola motora. U biti, omogućuje vam korištenje gumba za okretanje motora. Sa središnjim gumbom morate odabrati koje motore želite rotirati. Zatim upotrijebite parove gumba gore i dolje ili lijevo i desno za okretanje određenih motora.


Treću aplikaciju nije bilo moguće isprobati jer standardna isporuka obrazovne verzije kompleta EV3 ne uključuje infracrveni senzor udaljenosti i infracrveni svjetionik. Ali očito, na ovom zaslonu možete konfigurirati kojim će se motorima upravljati iz infracrvenog svjetionika.


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 izrađene programe moguće je pohraniti i, naravno, ponovno otvoriti za izmjene.


Kada se otvori aplikacija za pisanje programa, prikazuje se prazna petlja izvršenja (izvršit će se samo jedna iteracija) i prijedlog za umetanje prvog bloka. Blok možete umetnuti pomoću gumba "gore".


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



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

Odabrani blok u programu izgleda ovako:


Ponašanje bloka može se odrediti pritiskom na središnji gumb. 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 ulijevo ili udesno 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:

Blokiranje vremena čekanja (možete postaviti točno koliko dugo čekati):


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


Ponovno treba napomenuti da funkcija automatskog otkrivanja senzora pojednostavljuje proces programiranja na jedinici. Više nema potrebe pridržavati se pravila da određeni senzori moraju biti spojeni na određene priključke.

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


Program se pokreće odabirom prvog bloka:


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


Program se može spremiti, a možete odrediti naziv datoteke za kasnije pretraživanje:



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

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


Kasnije možete otvoriti izrađeni program i unijeti izmjene u njega.


Naravno, otvaraju se samo programi kreirani u bloku.

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


USB priključak

LEGO Mindstorms EV3 se može povezati s računalom ili drugim EV3 putem USB veze. Brzina i stabilnost veze u u ovom slučaju bolji od bilo koje druge metode, uključujući Bluetooth.

LEGO Mindstorms EV3 ima dva USB priključka.

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

Lančani način rada koristi se 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 spajanje više senzori, motori i drugi uređaji;
  • omogućuje komunikaciju između nekoliko LEGO Mindstorms EV3 (do 4), što nam daje do 16 vanjskih portova i isto toliko internih portova;
  • omogućuje kontrolu cijelog lanca iz glavnog LEGO Mindstorms EV3;
  • ne može funkcionirati kada je aktivan Wi-Fi veza ili Bluetooth.

Da biste omogućili način lančane veze, idite na prozor postavki projekta i potvrdite okvir.

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

Tablica prikazuje opcije za korištenje EV3 blokova:

Akcijski

Srednji motor

Veliki motor

Upravljanja

Samostalno upravljanje

Žiroskopski

Infracrveni

Ultrazvučni

Rotacija motora

Temperature

Mjerač energije

Zvuk

Povezivanje putem Bluetootha

Bluetooth omogućuje LEGO Mindstorms EV3 povezivanje s računalom, drugim LEGO Mindstorms EV3, pametnim telefonima i drugim Bluetooth uređajima. Domet komunikacije putem Bluetootha je do 25 m.

Možete spojiti do 7 blokova na jedan LEGO Mindstorms EV3. EV3 Master Brick vam omogućuje slanje i primanje poruka svakom EV3 Slave. EV3 podređeni uređaji mogu slati poruke samo EV3 glavnoj kocki, ne jedni drugima.

Slijed povezivanja EV3 putem Bluetootha

Kako biste međusobno povezali dva ili više EV3 blokova putem Bluetootha, morate izvršiti sljedeće korake:

1. Otvorite karticu postavke.

2. Odaberite Bluetooth i pritisnite središnju tipku.

3. Stavili smo Potvrdni okvir vidljivost Bluetooth.

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

5. Izvršite gornji postupak za potreban broj EV3 kockica.

6. Idite na karticu Veza:

7. Kliknite gumb Traži:

8. Odaberite EV3 s kojim se želite povezati (ili s kojim se želite povezati) i pritisnite središnji gumb.

9. Povezujemo prvi i drugi blok s pristupnim ključem.

Ako sve učinite ispravno, ikona " će se pojaviti u gornjem lijevom kutu<>", povežite druge EV3 blokove na isti način ako ih ima više od dva.

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

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

Primjer programa:

Prvi blok: Kada se pritisne senzor za dodir, prvi EV3 blok prenosi tekst drugom bloku s 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 (podređeni blok).

Povežite se putem Wi-Fi mreže

Komunikacija većeg dometa moguća je spajanjem Wi-Fi ključa na USB priključak na EV3.

Da biste koristili Wi-Fi, trebate instalirati poseban modul na EV3 blok pomoću USB konektora (Wi-Fi adapter (Netgear N150 bežični adapter (WNA1100)), ili možete spojiti Wi-Fi ključ.

Ako i vama, poput nas, nedostaju mogućnosti standardnih EV3 senzora, 4 priključka za senzore u vašim robotima nisu dovoljna ili želite na robota spojiti neke egzotične periferije - ovaj članak je za vas. Vjerujte mi, domaći senzor za EV3 je lakši nego što se čini. „Kuglica za glasnoću“ sa starog radija ili nekoliko čavala zabodenih u zemlju u posudi za cvijeće kao senzor vlažnosti tla savršeni su za eksperiment.

Iznenađujuće, svaki EV3 senzorski priključak skriva niz različitih protokola, uglavnom za kompatibilnost s NXT i senzorima trećih strana. Pogledajmo kako radi EV3 kabel


Čudno je, ali crvena žica je uzemljena (GND), zelena žica je plus napajanja od 4,3 V. Plava žica je i SDA za I2C sabirnicu i TX za UART protokol. Osim toga, plava žica je ulaz analogno-digitalnog pretvarača 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. Crna - digitalni ulaz, za senzore kompatibilne s NXT - duplicira GND. Nije lako, zar ne? Idemo redom.

EV3 analogni ulaz

Svaki priključak senzora ima kanal analogno-digitalnog pretvarača. Koristi se za senzore kao što su senzor dodira (gumb), NXT svjetlosni senzor i senzor boje u načinu reflektiranog svjetla i ambijentalnog svjetla, NXT zvučni senzor i NXT termometar.

Otpor od 910 Ohma, spojen prema dijagramu, govori upravljaču da se ovaj priključak mora prebaciti u analogni ulazni mod. U ovom načinu možete spojiti bilo koji analogni senzor na EV3, na primjer iz Arduina. Brzina razmjene s takvim senzorom može doseći nekoliko tisuća anketa u sekundi, ovo je najbrži tip senzora.

Svijetli senzor

Termometar

Senzor vlage u tlu

Također možete spojiti: mikrofon, gumb, IR daljinomjer i mnoge druge uobičajene senzore. Ako napajanje od 4,3 V nije dovoljno za senzor, možete ga napajati s 5 V iz USB priključka koji se nalazi na bočnoj strani EV3 kontrolera.

Gore spomenuti "gumb za glasnoću" (također poznat kao promjenjivi otpornik ili potenciometar) odličan je primjer analognog senzora - može se spojiti ovako:

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 njemu, na primjer, rade ultrazvučni senzor NXT i mnogi Hitechnic senzori, kao što su IR Seeker ili Color Sensor V2. Za druge platforme, npr. za Arduino, ima puno i2c senzora, možete ih i spojiti. Shema je sljedeća:

LEGO Group preporučuje otpor od 82 ohma, ali različiti izvori spominju 43 ohma ili manje. Dapače, pokušali smo te otpore potpuno napustiti i sve funkcionira, barem “na stolu”. U stvarnom robotu koji radi u uvjetima raznih vrsta smetnji, SCL i SDA vodovi ipak bi trebali biti spojeni na napajanje preko otpornika, kao što je prikazano na gornjem dijagramu. Radna brzina i2c u EV3 je prilično niska, otprilike 10.000 kbps, što je razlog zašto 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 s i2c senzorom, ali korištenjem programskih okruženja trećih strana kao što su RobotC, LeJOS ili EV3 Basic možete komunicirati s gotovo svim i2c senzorima .

Mogućnost rada EV3 pomoću i2c protokola otvara zanimljivu mogućnost povezivanja više senzora na jedan priključak. Protokol I2C omogućuje spajanje do 127 podređenih uređaja na jednu sabirnicu. Možeš li zamisliti? 127 senzora za svaki EV3 port :) Štoviše, često se gomila i2c senzora kombinira u jednom uređaju, npr. na slici ispod je senzor 10 u 1 (sadrži kompas, žiroskop, akcelerometar, barometar itd.)

UART

Gotovo svi standardni ne-EV3 senzori, s izuzetkom Touch Sensora, rade pomoću UART protokola i zato nisu kompatibilni s NXT kontrolerom koji, iako ima iste konektore, nema implementiran UART na svom senzoru luke. Pogledajte dijagram, malo je jednostavniji nego u prethodnim slučajevima:

UART senzori automatski usklađuju brzinu svog rada s EV3. U početku se spajaju brzinom od 2400 kbit/s, dogovaraju načine rada i tečajeve, a zatim prelaze na povećanu brzinu. Tipične brzine razmjene 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ćih strana koji nisu izvorno namijenjeni ovoj platformi, ali su kompatibilni s njom. Unatoč tome, ovaj je protokol vrlo prikladan za povezivanje "domaćih"
senzori temeljeni na mikrokontrolerima.
Postoji prekrasna biblioteka za Arduino pod nazivom EV3UARTEmulation, koju je napisao poznati LeJOS programer Lawrie Griffiths, koja omogućuje ovoj ploči da se pretvara da je UART-LEGO-kompatibilan senzor. Njegov LeJOS News blog ima mnogo primjera povezivanja plinskih senzora, IMU senzora i digitalnog kompasa pomoću ove biblioteke.

Dolje u videu je primjer korištenja kućnog senzora. Nemamo dovoljno originalnih LEGO senzora udaljenosti pa koristimo one domaće izrade na robotu:


Zadatak robota je krenuti iz zelene ćelije, pronaći izlaz iz labirinta (crvene ćelije) i najkraćim putem se vratiti na početnu točku, ne zalazeći u slijepe ulice.

U članku se opisuje iskustvo korištenja konstruktora Lego Mindstorms EV3 za izradu prototipa robota s naknadnim softverom i ručnim upravljanjem korištenjem Robot Control Meta Language (RCML).

  • Sastavljanje prototipa robota temeljenog na Lego Mindstorms EV3
  • Brza instalacija i konfiguracija RCML-a za Windows
  • Softversko upravljanje robotom na temelju EV3 kontrolera
  • Ručno upravljanje perifernim uređajima robota pomoću tipkovnice i gamepada
Gledajući malo unaprijed, dodati ću da za implementaciju upravljanja Lego robotom pomoću tipkovnice morate stvoriti program koji sadrži samo 3 retka programskog koda. Više detalja o tome kako to učiniti napisano je pod rezom.

1. Za početak je napravljen prototip robota od Lego Mindstorms EV3 konstruktora koji će služiti za programiranje i ručno upravljanje.

Opis prototipa robota

Robot ima dizajn sličan automobilskoj šasiji. Dva motora postavljena na okvir imaju jednu zajedničku os rotacije, koja je povezana sa stražnjim kotačima preko mjenjača. Mjenjač pretvara moment povećanjem kutne brzine stražnje osovine. Upravljač je sastavljen na temelju konusnog zupčanika.



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

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

Preuzete arhive moraju se ekstrahirati u direktorij s proizvoljnim nazivom, ali trebali biste Izbjegavajte Ruska slova u naslovu.

Sadržaj direktorija nakon raspakiranja arhive u njega



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

Ispis konfiguracijske datoteke config.ini za RCML

Modul = lego_ev3 modul = tipkovnica modul = gamepad


Zatim trebate upariti EV3 kontroler i adapter.

Upute za uparivanje EV3 kontrolera i Bluetooth adaptera

Upute sadrže primjer uparivanja Lego Ev3 kontrolera i osobnog računala s operativnim sustavom Windows 7.

1. Morate otići na odjeljak postavki Ev3 kontrolera, zatim na stavku izbornika "Bluetooth".

2. Provjerite jesu li konfiguracijski parametri ispravno postavljeni. Potvrdni okviri “Vidljivost”, “Bluetooth” moraju biti označeni.

3. Morate otići na “Upravljačku ploču”, zatim “Uređaji i pisači”, zatim “Bluetooth uređaji”.

4. Morate kliknuti gumb "Dodaj uređaj". Otvorit će se prozor za odabir dostupnih Bluetooth uređaja.

5. Odaberite "EV3" uređaj i kliknite gumb "Dalje".

6. EV3 Controller prikazuje dijaloški okvir “Connect?”. Morate označiti opciju potvrdnog okvira i potvrditi svoj odabir pritiskom na središnju tipku.

7. Zatim će se prikazati dijaloški okvir "PASSKEY", brojevi "1234" bi trebali biti naznačeni u retku za unos, zatim biste trebali potvrditi ključnu frazu za uparivanje uređaja pritiskom na središnju tipku na poziciji s kvačicom.

8. U čarobnjaku za uparivanje uređaja pojavit će se obrazac za unos ključa za uparivanje uređaja. Potrebno je unijeti kod “1234” i pritisnuti tipku “Dalje”.

10. Na računalu se trebate vratiti na “Upravljačku ploču”, zatim “Uređaji i pisači”, zatim “Bluetooth uređaji”. Popis dostupnih uređaja prikazat će uređaj s kojim je uparen.

11. Dvaput kliknite za odlazak na svojstva veze "EV3".

14. Indeks COM porta naveden u svojstvima trebao bi se koristiti u konfiguracijskoj datoteci config.ini lego_ev3 modula. Primjer pokazuje svojstva Bluetooth veze Lego EV3 kontrolera koji koristi standardni COM14 serijski priključak.


Daljnje konfiguriranje modula svodi se na to da je potrebno u konfiguracijsku datoteku lego_ev3 modula upisati adresu COM porta preko kojeg se odvija komunikacija s Lego robotom.

Ispis konfiguracijske datoteke config.ini za modul lego_ev3

Veza = COM14 dinamička_veza = 0


Sada morate konfigurirati modul tipkovnice. Modul se nalazi u direktoriju control_modules, zatim tipkovnici. Trebali biste stvoriti konfiguracijsku datoteku config.ini pored datoteke keyboard_module.dll. Prije nego što stvorite konfiguracijsku datoteku, morate odrediti koje radnje treba izvršiti kada se pritisnu tipke.

Modul tipkovnice omogućuje vam korištenje tipki koje imaju određeni numerički kod. Možete pogledati tablicu kodova virtualnih ključeva.

Kao primjer, koristit ću sljedeće tipke:

  • Strelice gore/dolje koriste se za okretanje motora stražnjeg kotača naprijed/natrag
  • Strelice lijevo/desno okreću kotače lijevo/desno
Konfiguracijska datoteka modula tipkovnice opisuje koje su osi dostupne programeru za interakciju s robotom u načinu ručnog upravljanja. Dakle, u primjeru postoje dvije kontrolne skupine - to su osi tipkovnice. Za dodavanje nove osi morate se pridržavati sljedećih pravila za opisivanje osi.

Pravila za opisivanje osi za modul tipkovnice

1. Prilikom dodavanja nove osi potrebno je u odjeljku dodajte svojstvo čije je ime ime osi i dodijelite mu vrijednost gumba na tipkovnici HEX formatu, a sličan zapis se stvara za svaki gumb, tj. ime osi može se koristiti više puta. Općenito, pisanje u odjeljak izgledat će ovako:

Ime_osi = vrijednost_gumba_tipkovnice_u_HEX_formatu
2. Potrebno je postaviti maksimalnu i minimalnu vrijednost koja se može iscrtati po ovoj osi. Da biste to učinili, morate dodati odjeljak u konfiguracijskoj datoteci u novom retku config.ini, isto kao naziv osi, i postavite svojstva gornja_vrijednost I donja_vrijednost, koji odgovaraju maksimumu i minimumu osi. Općenito, ovaj odjeljak izgleda ovako:

[naziv_osi] gornja_vrijednost = maksimalna_vrijednost_osi donja_vrijednost = minimalna_vrijednost_osi
3. Zatim morate odrediti koju će vrijednost imati os ako pritisnete tipku na tipkovnici koja je prethodno bila pričvršćena na nju. Vrijednosti se određuju stvaranjem odjeljka čiji se naziv sastoji od naziva osi i vrijednosti gumba tipkovnice u HEX formatu, odvojene podvlakom. Za postavljanje zadanog (nepritisnutog) i pritisnutog stanja koristite svojstva nepritisnuta_vrijednost I pritisnuta_vrijednost odnosno u koje se vrijednosti prenose. Opći prikaz odjeljka 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 kopiran je iz RCML dokumentacije radi lakšeg pregleda.


Kako bi se implementirala kontrola prototipa robota, kreirana je konfiguracijska datoteka za modul tipkovnice, koja uključuje osi kretanja i rotacije. Go os se koristi za postavljanje smjera kretanja robota. Kada pritisnete tipku sa strelicom prema gore, os će dobiti vrijednost 100; kada pritisnete tipku sa strelicom prema dolje, os će dobiti vrijednost -50. Os rotacije se koristi za postavljanje kuta upravljanja prednjih kotača. Kada pritisnete lijevu strelicu, vrijednost osi će biti -5, kada pritisnete desnu strelicu, vrijednost osi će biti 5.

Ispis konfiguracijske datoteke config.ini za modul tipkovnice

;Potreban odjeljak ;axis_name = key_code (u HEX formatu) ;go os prima vrijednosti od up_arrow go = 0x26 ;go os prima vrijednosti od go_down_arrow = 0x28 ;rotate axis prima vrijednosti od left_arrow rotate = 0x25 ;rotacija osi prima vrijednosti iz desne strelice rotate = 0x27 ;Opis pokretne osi, mora uvijek imati oba ključa ;Gornja granica vrijednosti pokretne osi upper_value = -100 ;Donja granica vrijednosti pokretne osi Lower_value = 100 ;Opis rotate axis, uvijek moraju imati obje tipke;Gornja granica vrijednosti osi za rotaciju upper_value = - 100 ;Donja granica vrijednosti osi za rotaciju Lower_value = 100 ;Opis ponašanja osi za kretanje za tipku *strelica_gore* (0x26 ) ;Kada pritisnete tipku *up_arrow*, postavite vrijednost osi na 50 pressed_value = 100 ;Kada otpustite tipku *up_arrow*, postavite vrijednost osi na 0 unpressed_value = 0 ;Opis ponašanja osi za kretanje za *strelicu_dolje * tipka (0x28) ;Kada pritisnete tipku *strelica_dolje*, postavite vrijednost osi na -50 pressed_value = -50 ;Kada pustite tipku *strelica_dolje*, postavite vrijednost osi na 0 unpressed_value = 0 ;Opis ponašanja osi rotacije za tipku *left_arrow* (0x25) ;Kada pritisnete tipku *left_arrow*, postavite vrijednost osi na -5 pressed_value = -5 ;Kada pustite tipku *left_arrow*, postavite vrijednost osi na 0 unpressed_value = 0 ;Opis ponašanje osi rotacije za tipku *right_arrow* (0x27) ;Kada pritisnete tipku *right_arrow*, postavite vrijednost osi na 5 pressed_value = 5 ;Kada otpustite tipku *right_arrow*, postavite vrijednost osi na 0 unpressed_value = 0


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

Konfiguracijska datoteka univerzalnog modula za interakciju s gamepadom

;Potreban odjeljak koji opisuje korištene osi ;Os za kraj načina ručnog upravljanja Izlaz = 9 ; 11 binarnih osi koje odgovaraju tipkama gamepada B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 početak = 10 T1 = 11 T2 = 12 ; 4 osi štapa; Pokret desne palice gore/dolje RTUD = 13; Pokret desne palice lijevo/desno RTLR = 16; Pokret lijeve palice gore/dolje LTUD = 15; Pokret lijeve palice lijevo/desno LTLR = 14; 2 osi križa; Kretanje križa strelice gore/doljeUD = 17 ; Kretanje križa strelice lijevo/desnoLR = 18 ; Opis ponašanja osi B1; Pritiskom na tipku B1, postavite vrijednost osi na 1 gornju_vrijednost = 1;Kada pustite gumb B1, postavite vrijednost osi na 0 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 gornja_vrijednost = 1 niža_vrijednost = 0 ;Opis ponašanja osi desne palice koja se pomiče gore/dolje ;Vrijednost osi pri pomicanju do maksimuma moguća gornja pozicija upper_value = 0 ;Vrijednost osi kada se pomakne na najveću moguću donju poziciju lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 ;Opis ponašanja osi D-pada prema gore /dolje kretanje ;Vrijednost osi kada se pritisne strelica prema gore upper_value = 1 ;Vrijednost osi kada se pritisne strelica prema dolje lower_value = -1 upper_value = 1 lower_value = -1


Dodatne informacije o specifičnostima postavljanja modula gamepada prikazane su u RCML referentnom priručniku.

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

U korijenu stvorenog direktorija trebate izraditi programsku datoteku. Naziv programske datoteke i njezino proširenje mogu biti bilo što, ali trebali biste izbjegavati ruska slova u nazivu. Naziv datoteke korišten u primjeru je hello.rcml.

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

@tr = robot_lego_ev3;

Stranica za povezivanje modula lego_ev3 opisuje većinu funkcija koje podržava kontroler. Kao testni primjer, napravljen je program za automatsko uvođenje robota u klizanje.

Algoritam programa je sljedeći:

Nakon rezerviranja prvog slobodnog robota, uspostavlja se veza između dva motora za kasniji rad s njima kao da su jedan. Zatim robot počinje izvoditi driftove. Softverski opis radnji robota omogućuje vam točno postavljanje kutova rotacije prednjih kotača i brzine rotacije stražnjih kotača. Korištenje ove tehnike omogućuje vam postizanje rezultata koje je teško ponoviti tijekom ručnog upravljanja pomoću tipkovnice ili gamepada.

Popis programa za Lego robota na RCML jeziku

funkcija main() ( @tr = robot_lego_ev3; //Rezerviraj robota @tr->setTrackVehicle("B","C",0,0); //Postavljanje sinkronizacije motora @tr->motorMoveTo("D",100 , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); sustav. spavanje (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); )


Za prevođenje programa morate koristiti naredbeni redak prozora. Najprije se trebate pomaknuti u stvoreni direktorij s izvršnim datotekama rcml_compiler.exe i rcml_intepreter.exe. Zatim morate unijeti sljedeće naredbe.

Naredba za kompajliranje datoteke hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc
Kao rezultat prevođenja, nova datoteka hello.rcml.pc pojavit će se u stvorenom direktoriju.

Snimka zaslona naredbenog retka nakon uspješne kompilacije



Sada morate provjeriti je li EV3 kontroler uključen i uparen s Bluetooth adapterom. Gamepad mora biti povezan s računalom. Nakon toga trebate izvršiti naredbu za izvršavanje programske datoteke:

Rcml_intepreter.exe hello.rcml

Izgled naredbenog retka tijekom izvođenja programa



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

4. Sljedeći korak je ručno upravljanje robotom pomoću tipkovnice.

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

  • Kut upravljanja prednjih kotača
  • Smjer rotacije stražnjih kotača

Ispis programa za interakciju između tipkovnice i Lego robota temeljenog na EV3 kontroleru

function main() ( @tr = robot_lego_ev3; //Rezerviraj robota @tr->setTrackVehicle("B","C",0,0); //Postavljanje sinkronizacije motora system.hand_control(@tr,"keyboard", " ravno", "idi", "speedMotorD", "rotiraj"); )


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

5. Osim tipkovnice, dostupan je modul gamepada koji vam omogućuje upravljanje robotom pomoću gamepada. Za implementaciju kontrole robota pomoću gamepada, potrebno je na programskoj razini opisati koje će osi robota preuzeti 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); //Postavljanje sinkronizacije motora system.hand_control(@tr,"gamepad", " ravno", "RTUD", "speedMotorD", "RTLR"); )


Zatim biste trebali ponoviti postupak prevođenja programa i zatim ga izvršiti. Sljedeće prikazuje rezultat ručnog upravljanja Lego robotom pomoću gamepada i svih prethodno povezanih metoda:

Ovaj članak ukratko prikazuje samo neke od mogućnosti RCML-a. Najdetaljniji opis nalazi se u referentnom priručniku.

Opis prezentacije po pojedinačnim slajdovima:

1 slajd

Opis slajda:

2 slajd

Opis slajda:

EV3 Brick sučelje EV3 Brick je kontrolni centar koji pokreće vaše robote. Sa zaslonom, gumbima za upravljanje Brickom i sučeljem EV3 Brick, koje sadrži četiri glavna prozora, imate pristup zapanjujućoj raznolikosti jedinstvenih značajki EV3 Brick. To mogu biti jednostavne funkcije, poput pokretanja i zaustavljanja programa, ili složene, poput pisanja samog programa.

3 slajd

Opis slajda:

Sučelje: Izbornik EV3 ima izbornik koji se sastoji od 4 dijela: Recent Programs File Navigation Brick Applications Brick Settings

4 slajd

Opis slajda:

Nedavni programi Pokrenite programe nedavno preuzete s vašeg stolnog računala. Ovaj će prozor ostati prazan dok ne počnete preuzimati i pokretati programe. Ovaj prozor će prikazati programe koje ste nedavno pokrenuli. Program na vrhu popisa, koji je odabran prema zadanim postavkama, je program koji je zadnji pokrenut.

5 slajd

Opis slajda:

File Manager Pristup i upravljanje svim datotekama pohranjenim u memoriji mikroračunala, kao i na memorijskoj kartici. Iz ovog prozora pristupit ćete i upravljati svim datotekama u vašoj EV3 kocki, uključujući datoteke pohranjene na SD kartici. Datoteke su organizirane u projektne mape koje, uz stvarne programske datoteke, također sadrže zvukove i slike korištene u svakom projektu. Datoteke se mogu premještati ili brisati pomoću navigatora datoteka. Programi stvoreni pomoću okruženja za programiranje modula i aplikacija za bilježenje podataka modula pohranjuju se odvojeno u mapama 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 na koje priključke su spojeni senzori ili motori. Koristite kontrolne gumbe EV3 Brick za navigaciju do jednog od zauzetih priključaka i vidjet ćete trenutna očitanja 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. Za povratak na glavni prozor aplikacije modula, kliknite gumb "Natrag".

8 slajd

Opis slajda:

B. Upravljanje motorom Upravljajte kretanjem naprijed ili natrag bilo kojeg motora spojenog na jedan od četiri izlazna priključka. Postoje dva različita načina. U jednom načinu moći ćete kontrolirati motore spojene na priključak A (pomoću gumba Gore i Dolje) i na priključak D (pomoću gumba Lijevo i Desno). U drugom načinu rada upravljate motorima spojenim na priključak B (pomoću gumba Gore i Dolje) i priključak C (pomoću gumba Lijevo i Desno). Prebacivanje između ova dva načina rada vrši se središnjom tipkom. Za povratak na glavni prozor aplikacije modula, kliknite gumb "Natrag".

Slajd 9

Opis slajda:

IR kontrola Upravljajte kretanjem naprijed ili natrag bilo kojeg motora spojenog na jedan od četiri izlazna priključka koristeći daljinski infracrveni svjetionik kao daljinski upravljač i infracrveni senzor kao prijemnik (infracrveni senzor mora biti spojen na priključak 4 na EV3 kocki) . Postoje dva različita načina. U jednom načinu rada koristit ćete kanale 1 i 2 na daljinskom infracrvenom svjetioniku. Na kanalu 1 moći ćete upravljati motorima spojenim na priključak B (pomoću gumba 1 i 2 na daljinskom IR svjetioniku) i priključak C (pomoću gumba 3 i 4 na daljinskom IR svjetioniku). Na kanalu 2 moći ćete kontrolirati motore spojene na priključak A (pomoću gumba 1 i 2) i na priključak D (pomoću gumba 3 i 4). U drugom načinu možete kontrolirati motore na isti način, umjesto toga koristeći kanale 3 i 4 na daljinskom infracrvenom svjetioniku. Prebacivanje između ova dva načina rada vrši se središnjom tipkom. Za povratak na glavni prozor aplikacije modula, kliknite gumb "Natrag".

10 slajd

Opis slajda:

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

11 slajd

Opis slajda:

Postavke EV3 kocke Ovaj vam prozor omogućuje pregled i podešavanje raznih općih postavki u EV3 kocki.

12 slajd

Opis slajda:

Podešavanje glasnoće Možete povećati ili smanjiti glasnoću na kartici Postavke u EV3.

Slajd 13