LEGO Mindstorms Education EV3 - Pregled oblikovalca. Preberite najnovejše novice iz sveta Lego – EduCube. LEGO Mindstorms EV3. Igrača Skynet. Domov Kako dodati dodatne module lego ev3

Če imate kakršna koli vprašanja, ki bi jih radi izvedeli o novem oblikovalcu (kako kaj konkretnega deluje, izvedite eksperiment s senzorji ali motorji) - pišite nam - preizkusili bomo vaše predloge. Tako lahko izveste veliko več o EV3, še preden gre v prodajo.

Zdaj se vse začne s pregledom programsko opremo Blok EV3 (vdelana programska oprema EV3).

Ena od značilnosti nove enote je, da traja dolgo časa, da se vklopi in izklopi. Časovno je postopek primerljiv z vključitvijo mobitel ali domači usmerjevalnik, tj. 20-30 sekund. Po vklopu se prikaže naslednji meni:


Kot lahko vidite, se je v primerjavi z blokom NXT veliko spremenilo: izboljšala se je kakovost pisav, grafični elementi so bili bolj narisani in okenski vmesnik se je izboljšal. Najprej je to posledica dejstva, da se je velikost zaslona zdaj povečala - postala je 178 x 128 slikovnih pik, namesto 100 x 64, kot je blok NXT. Na podlagi prisotnosti okenskega vmesnika z vgrajenimi gumbi in drsnimi trakovi lahko domnevamo, da naprave, kot je zunanji Sledilna ploščica zdaj bo celo bolj smiselno.


Iz prvega okna je možno priklicati programe, ki so naloženi v bloku, kot tudi programe, ustvarjene neposredno na bloku. Tisti. če želite zagnati program, morate zdaj izvesti manj klikov kot na bloku NXT.

Krmarjenje po naloženih programih ter do drugega in naslednjih zaslonov (elementi menija) se izvaja s pomočjo kontrolnih gumbov, ki jih je zdaj 4.


Drugi zaslon - omogoča krmarjenje po objektih datotečnega sistema v bloku. Datotečni sistem zdaj podpira tradicionalno hierarhijo: datoteke in imenike.


Tretji zaslon vsebuje podmeni - aplikacije, ki vam omogočajo izvajanje različnih dejanj z blokom:


IN trenutna verzija Obstajajo štirje programski bloki takšnih aplikacij:

  • Oglejte si senzorje
  • Nadzor motorja
  • Daljinec
  • Programiranje na bloku
Četrti zaslon je konfiguracija. Poleg tega osnovne nastavitve: raven zvoka, časovnik nedejavnosti, vklop Bluetooth in WiFi, omogoča iskanje informacij o programski opremi enote:



Izbira določenega elementa menija/aplikacije poteka s srednjim gumbom na tipkovnici. Za izhod iz katerega koli elementa menija ali aplikacije morate pritisniti gumb »Izhod«, ki se zdaj nahaja ločeno od glavnih gumbov - na levi strani pod zaslonom.

Zdaj se vrnite na tretji zaslon in se začnite seznanjati z aplikacijami. Torej, aplikacija "Ogled senzorjev" (Port View).

Za razliko od podobnega načina na bloku NXT lahko zdaj vidite informacije o vseh 8 napravah, povezanih z blokom hkrati. Poleg tega vam deklarirana funkcionalnost samodejnega zaznavanja senzorjev omogoča, da ne navedete ročno, kateri senzor je kje priključen.

Informacije iz dajalnikov motorjev so prikazane na vrhu, informacije iz senzorjev so prikazane na dnu. Na sredini zaslona - informacije o določeno napravo(V določeno pristanišče), ki jih lahko izberete s pritiskom na tipke za upravljanje na tipkovnici. Informacije vključujejo grafično predstavitev senzorja, njegovo ime in trenutne odčitke:

Senzor na dotik:


Žiroskopski senzor:


Barvni senzor v načinu odbite svetlobe:


Ultrazvočni senzor razdalje:

Tukaj, mimogrede, lahko vidite, da senzor zdaj trdi, da lahko meri razdalje z natančnostjo milimetrov, minimalna izmerjena razdalja pa je zdaj 3 cm.

Informacije iz levega dajalnika motorja.


Naslednja aplikacija je nadzor motorja. V bistvu vam omogoča uporabo gumbov za vrtenje motorjev. S centralnim gumbom morate izbrati motorje, ki jih želite vrteti. Nato uporabite pare gumbov gor in dol ali levo in desno za vrtenje določenih motorjev.


Tretje aplikacije ni bilo mogoče preizkusiti, saj standardna dobava izobraževalne različice kompleta EV3 ne vključuje infrardečega senzorja razdalje in infrardečega svetilnika. Toda očitno lahko na tem zaslonu konfigurirate, kateri motorji bodo nadzorovani iz infrardečega svetilnika.


Seveda največ zanimiva aplikacija je programiranje na bloku. Bistveno je prenovljen: program lahko sedaj vsebuje do 16 programskih elementov (blokov), ustvarjene programe pa lahko shranite in seveda znova odprete za spreminjanje.


Ko se odpre aplikacija za pisanje programa, se prikaže prazna izvajalna zanka (izvedena bo le ena iteracija) in predlog za vstavljanje prvega bloka. Blok lahko vstavite z gumbom "Gor".


V oknu za izbiro bloka, ki se prikaže, je na voljo 17 blokov (6 blokov dejanj in 11 blokov čakanja) ter dejanje brisanja trenutnega bloka.



Vrstni red izbire in zaporedje blokov določi programer. To ne pomeni, da mora za vsakim akcijskim blokom obstajati čakalni blok, kot je bilo prej pri bloku NXT.

Izbrani blok v programu izgleda takole:


Obnašanje bloka lahko določite s pritiskom na sredinski gumb. Za ta blok lahko na primer spremenite kot in smer vrtenja robota ali popolnoma ustavite motorje (na primer po prejšnjem bloku čakanja).


S premikanjem "kurzorja" v levo ali desno lahko vstavite drug blok:


Na primer blok čakanja na dogodek na senzorju razdalje:


In spremenite njegovo vedenje (dogodek se bo zgodil, če bo razdalja večja od 60 cm):


Bloke lahko vstavite med obstoječe bloke ali celo na začetek programa.


Tukaj je več primerov čakalnih blokov:

Blok čakanja (lahko natančno nastavite, kako dolgo čakati):


Ali blok za čakanje na dogodek iz žiroskopskega senzorja (lahko nastavite kot vrtenja senzorja).


Ponovno je treba opozoriti, da funkcija samodejnega zaznavanja senzorja poenostavlja postopek programiranja na enoti. Ni več treba upoštevati pravila, da morajo biti določeni senzorji priključeni na določena vrata.

Če je treba program izvesti večkrat, se lahko spremeni število ponovitev krmilne zanke:


Program se zažene z izbiro prvega bloka:


Ko zaženete program, se na zaslonu prikaže naslednje:


Program lahko shranite in določite ime datoteke za kasnejše iskanje:



Črke se izbirajo s tipkovnico (zdravo, sledilna ploščica!)

Če poskusite zapreti neshranjen program, se bo prikazalo naslednje ne zelo jasno sporočilo in zaslišal se bo neprijeten zvok:


Kasneje lahko odprete ustvarjeni program in ga spremenite.


Seveda se odprejo samo programi, ustvarjeni v bloku.

Na koncu bi rad pokazal, kako izgleda izklop bloka:


USB povezava

LEGO Mindstorms EV3 se lahko poveže z osebnim računalnikom ali drugim EV3 prek povezave USB. Hitrost in stabilnost povezave sta v tem primeru boljši kot pri kateri koli drugi metodi, vključno z Bluetoothom.

LEGO Mindstorms EV3 ima dva USB priključka.

Komunikacija med LEGO EV3 in drugimi bloki LEGO EV3 v verižnem načinu.

Verižni način se uporablja za povezovanje dveh ali več kock LEGO EV3.

Ta način:

  • zasnovan za povezavo več kot enega LEGO Mindstorms EV3;
  • služi za povezavo več senzorji, motorji in druge naprave;
  • omogoča komunikacijo med več LEGO Mindstorms EV3 (do 4), kar nam daje do 16 zunanjih vrat in prav toliko notranjih vrat;
  • omogoča nadzor celotne verige iz glavnega LEGO Mindstorms EV3;
  • ne more delovati, ko je aktiven Wi-Fi povezava ali Bluetooth.

Če želite omogočiti način verižne povezave, pojdite v okno z nastavitvami projekta in potrdite polje.

Ko je izbran ta način, lahko za kateri koli motor izberemo blok EV3, ki bo uporabljen, in potrebne senzorje.

Tabela prikazuje možnosti za uporabo blokov EV3:

Akcija

Srednji motor

Velik motor

Krmiljenje

Neodvisno upravljanje

Žiroskopski

Infrardeči

Ultrazvočni

Vrtenje motorja

Temperature

Merilnik energije

Zvok

Povezava preko Bluetooth

Bluetooth omogoča LEGO Mindstorms EV3 povezavo z osebnim računalnikom, drugimi LEGO Mindstorms EV3, pametnimi telefoni in drugimi napravami Bluetooth. Doseg komunikacije preko Bluetooth je do 25 m.

Na en LEGO Mindstorms EV3 lahko povežete do 7 blokov. EV3 Master Brick vam omogoča pošiljanje in prejemanje sporočil vsakemu podrejenemu EV3. Podrejeni EV3 lahko pošiljajo sporočila samo glavni kocki EV3, ne drug drugemu.

Zaporedje povezave EV3 prek Bluetooth

Če želite med seboj povezati dva ali več blokov EV3 prek Bluetootha, morate izvesti naslednje korake:

1. Odprite zavihek nastavitve.

2. Izberite Bluetooth in pritisnite sredinski gumb.

3. Postavili smo Potrditveno polje vidnost Bluetooth.

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

5. Izvedite zgornji postopek za zahtevano število kock EV3.

6. Pojdite na zavihek Povezava:

7. Kliknite na gumb Iskanje:

8. Izberite EV3, s katerim se želite povezati (ali s katerim se želite povezati), in pritisnite sredinski gumb.

9. Prvi in ​​drugi blok povezujemo s ključem za dostop.

Če vse naredite pravilno, se v zgornjem levem kotu prikaže ikona "<>", povežite ostale bloke EV3 na enak način, če sta več kot dva.

Če izklopite LEGO EV3, bo povezava prekinjena in morali boste ponoviti vse korake.

Pomembno: vsak blok mora imeti napisan svoj program.

Primer programa:

Prvi blok: Ko pritisnete senzor za dotik, prvi blok EV3 prenese besedilo drugemu bloku z zamikom 3 sekund (glavni blok).

Primer programa za blok 2:

Drugi blok čaka, da prejme besedilo iz prvega bloka, in ko ga prejme, bo za 10 sekund prikazal besedo (v našem primeru besedo "Hello") (podrejeni blok).

Povežite se prek Wi-Fi

Komunikacija z daljšim dosegom je mogoča s povezavo ključka Wi-Fi na vrata USB na EV3.

Če želite uporabljati Wi-Fi, morate namestiti poseben modul na blok EV3 s priključkom USB (adapter Wi-Fi (brezžični adapter Netgear N150 (WNA1100) ali pa lahko povežete ključ Wi-Fi.

Če tudi vi, tako kot mi, nimate zmogljivosti standardnih senzorjev EV3, 4 vrata za senzorje v vaših robotih niso dovolj ali želite na svojega robota povezati nekaj eksotičnih zunanjih naprav - ta članek je za vas. Verjemite mi, domači senzor za EV3 je lažji, kot se zdi. "Gumb za glasnost" iz starega radia ali nekaj žebljev, zapičenih v zemljo v cvetličnem loncu kot senzor vlage v tleh, je kot nalašč za poskus.

Presenetljivo je, da vsaka vrata senzorja EV3 skrivajo številne različne protokole, predvsem za združljivost s senzorji NXT in senzorji tretjih oseb. Poglejmo, kako deluje kabel EV3


Čudno je, toda rdeča žica je ozemljena (GND), zelena žica je plus 4,3 V napajalnika. Modra žica je hkrati SDA za vodilo I2C in TX za protokol UART. Poleg tega je modra žica vhod analogno-digitalnega pretvornika za EV3. Rumena žica je tako SCL za vodilo I2C kot RX za protokol UART. Bela žica je vhod analogno-digitalnega pretvornika za senzorje NXT. Črna - digitalni vhod, za senzorje, združljive z NXT - podvaja GND. Ni enostavno, kajne? Gremo po vrsti.

EV3 analogni vhod

Vsak senzorski priključek ima analogno-digitalni pretvorniški kanal. Uporablja se za senzorje, kot so senzor za dotik (gumb), svetlobni senzor NXT in barvni senzor v načinu odbite svetlobe in svetlobe okolice, senzor zvoka NXT in termometer NXT.

Upor 910 ohmov, priključen v skladu z diagramom, pove krmilniku, da je treba ta vrata preklopiti v analogni vhodni način. V tem načinu lahko na EV3 povežete kateri koli analogni senzor, na primer iz Arduina. Menjalni tečaj s takim senzorjem lahko doseže več tisoč anket na sekundo, to je najhitrejši tip senzorja.

Svetlobni senzor

Termometer

Senzor vlage v tleh

Priključite lahko tudi: mikrofon, gumb, IR daljinomer in številne druge običajne senzorje. Če napetost 4,3 V ne zadostuje za senzor, ga lahko napajate s 5 V iz vrat USB, ki se nahajajo na strani krmilnika EV3.

Zgoraj omenjeni "gumb za glasnost" (znan tudi kot spremenljivi upor ali potenciometer) je odličen primer analognega senzorja - lahko ga povežete takole:

Za branje vrednosti s takšnega senzorja v standardnem programskem okolju LEGO morate uporabiti modri blok RAW

protokol I2C

To je digitalni protokol; na njem delujejo na primer ultrazvočni senzor NXT in številni senzorji Hitechnic, kot sta IR Seeker ali Color Sensor V2. Za druge platforme, na primer za Arduino, je senzorjev i2c veliko, lahko jih tudi povežete. Shema je naslednja:

Skupina LEGO priporoča upornost 82 ohmov, vendar različni viri omenjajo 43 ohmov ali manj. Pravzaprav smo poskušali te upore popolnoma opustiti in vsaj »na mizi« vse deluje. Pri pravem robotu, ki deluje v pogojih različnih vrst motenj, bi morali biti vodi SCL in SDA še vedno povezani z napajanjem preko uporov, kot je prikazano na zgornjem diagramu. Hitrost delovanja i2c v EV3 je precej nizka, približno 10.000 kbps, zato je vsem najljubši Hitechnic Color Sensor V2 tako počasen :)

Na žalost za standardni EV3-G iz LEGO ni polnopravnega bloka za dvosmerno komunikacijo s senzorjem i2c, vendar z uporabo programskih okolij drugih proizvajalcev, kot so RobotC, LeJOS ali EV3 Basic, lahko komunicirate s skoraj vsemi senzorji i2c .

Sposobnost EV3, da deluje s protokolom i2c, odpira zanimivo možnost povezovanja več senzorjev na ena vrata. Protokol I2C omogoča povezavo do 127 podrejenih naprav na eno vodilo. Si lahko predstavljaš? 127 senzorjev za vsak EV3 port :) Še več, pogosto je v eni napravi združen kup senzorjev i2c, na primer na spodnji sliki je senzor 10 v 1 (vsebuje kompas, žiroskop, merilnik pospeška, barometer itd.)

UART

Skoraj vsi standardni ne-EV3 senzorji, z izjemo senzorja za dotik, delujejo po protokolu UART in zato niso združljivi s krmilnikom NXT, ki, čeprav ima enake priključke, nima implementiranega UART na svojem senzorju pristanišča. Oglejte si diagram, je nekoliko preprostejši kot v prejšnjih primerih:

Senzorji UART samodejno uskladijo hitrost svojega delovanja z EV3. Sprva se povezujejo s hitrostjo 2400 kbit/s, se dogovorijo o načinih delovanja in menjalnih tečajih, nato preidejo na povečano hitrost. Tipični menjalni tečaji za različne senzorje so 38400 in 115200 kbit/s.
LEGO je v svoje senzorje UART implementiral precej zapleten protokol, zato ni senzorjev tretjih oseb, ki prvotno niso bili namenjeni tej platformi, a so z njo kompatibilni. Kljub temu je ta protokol zelo priročen za povezovanje "domače"
senzorji na osnovi mikrokontrolerjev.
Obstaja čudovita knjižnica za Arduino, imenovana EV3UARTEmulation, ki jo je napisal slavni razvijalec LeJOS Lawrie Griffiths, ki omogoča, da se ta plošča pretvarja, da je senzor, združljiv z UART-LEGO. Njegov blog LeJOS News ima veliko primerov povezovanja plinskih senzorjev, senzorja IMU in digitalnega kompasa z uporabo te knjižnice.

Spodaj v videu je primer uporabe domačega senzorja. Nimamo dovolj originalnih LEGO senzorjev razdalje, zato na robotu uporabljamo domačega:


Naloga robota je, da začne iz zelene celice, najde izhod iz labirinta (rdeča celica) in se vrne na izhodišče po najkrajši poti, ne da bi zašel v slepe ulice.

Članek opisuje izkušnjo uporabe konstruktorja Lego Mindstorms EV3 za ustvarjanje prototipa robota z njegovo kasnejšo programsko opremo in ročnim upravljanjem z uporabo Robot Control Meta Language (RCML).

  • Sestavljanje prototipa robota, ki temelji na Lego Mindstorms EV3
  • Hitra namestitev in konfiguracija RCML za Windows
  • Programsko krmiljenje robota na osnovi krmilnika EV3
  • Ročno upravljanje perifernih naprav robota s tipkovnico in igralno ploščo
Če pogledam malo naprej, bom dodal, da morate za izvajanje nadzora nad robotom Lego s tipkovnico ustvariti program, ki vsebuje samo 3 vrstice programske kode. Več podrobnosti o tem, kako to storiti, je napisano pod rezom.

1. Za začetek je bil izdelan prototip robota iz konstruktorja Lego Mindstorms EV3, ki bo služil za programiranje in ročno pilotiranje.

Opis prototipa robota

Robot ima podobno zasnovo kot šasija avtomobila. Dva motorja, nameščena na okvir, imata eno skupno os vrtenja, ki je povezana z zadnjimi kolesi preko menjalnika. Menjalnik pretvarja navor s povečanjem kotne hitrosti zadnje osi. Krmiljenje je sestavljeno na podlagi stožčastega zobnika.



2. Naslednji korak je priprava RCML za delo s konstruktorjem Lego Mindstorms EV3.

Prenesti morate arhive z izvršljivimi datotekami in knjižničnimi datotekami ter .

Prenesene arhive je treba ekstrahirati v imenik s poljubnim imenom, vendar bi morali izogibajte se Ruske črke v naslovu.

Vsebina imenika po razpakiranju arhivov vanj



Nato morate ustvariti konfiguracijsko datoteko config.ini, ki mora biti v istem imeniku. Za implementacijo zmožnosti upravljanja krmilnika EV3 s tipkovnico in igralno ploščo morate povezati modul lego_ev3, tipkovnico in igralno ploščo.

Seznam konfiguracijske datoteke config.ini za RCML

Modul = modul lego_ev3 = modul tipkovnice = igralna ploščica


Nato morate združiti krmilnik EV3 in adapter.

Navodila za seznanjanje krmilnika EV3 in adapterja Bluetooth

Navodila vsebujejo primer združevanja krmilnika Lego Ev3 in osebnega računalnika z operacijskim sistemom Windows 7.

1. Morate iti v razdelek z nastavitvami krmilnika Ev3 in nato v postavko menija »Bluetooth«.

2. Prepričajte se, da so konfiguracijski parametri pravilno nastavljeni. Potrditvena polja »Vidnost«, »Bluetooth« morajo biti označena.

3. Odpreti morate »Nadzorno ploščo«, nato »Naprave in tiskalniki«, nato »Naprave Bluetooth«.

4. Klikniti morate gumb »Dodaj napravo«. Odpre se okno za izbiro razpoložljivih naprav Bluetooth.

5. Izberite napravo »EV3« in kliknite gumb »Naprej«.

6. Krmilnik EV3 prikaže pogovorno okno »Povezava?«. Izbrati morate možnost potrditvenega polja in svojo izbiro potrditi s pritiskom na sredinsko tipko.

7. Nato se bo prikazalo pogovorno okno »PASSKEY«, v vnosni vrstici morajo biti navedene številke »1234«, nato morate potrditi ključno frazo za seznanjanje naprav s pritiskom na sredinsko tipko na mestu s kljukico.

8. V čarovniku za seznanjanje naprav se prikaže obrazec za vnos ključa za seznanjanje naprav. Vnesti morate kodo "1234" in pritisniti gumb "Naprej".

10. V računalniku se morate vrniti na »Nadzorno ploščo«, nato »Naprave in tiskalniki«, nato »Naprave Bluetooth«. Na seznamu razpoložljivih naprav bo prikazana naprava, s katero je bila seznanjena.

11. Dvokliknite, da odprete lastnosti povezave »EV3«.

14. Indeks vrat COM, določen v lastnostih, je treba uporabiti v konfiguracijski datoteki config.ini modula lego_ev3. Primer prikazuje lastnosti povezave Bluetooth krmilnika Lego EV3, ki uporablja standardna serijska vrata COM14.


Nadaljnja konfiguracija modula se zmanjša na dejstvo, da je treba v konfiguracijsko datoteko modula lego_ev3 zapisati naslov COM vrat, prek katerih se izvaja komunikacija z robotom Lego.

Seznam konfiguracijske datoteke config.ini za modul lego_ev3

Povezava = COM14 dinamična_povezava = 0


Zdaj morate konfigurirati modul tipkovnice. Modul se nahaja v imeniku control_modules, nato v tipkovnici. Ustvarite konfiguracijsko datoteko config.ini poleg datoteke keyboard_module.dll. Preden ustvarite konfiguracijsko datoteko, morate določiti, katera dejanja je treba izvesti ob pritisku tipk.

Modul tipkovnice vam omogoča uporabo tipk, ki imajo določeno številčno kodo. Ogledate si lahko tabelo virtualnih kod ključev.

Kot primer bom uporabil naslednje tipke:

  • Puščici gor/dol se uporabljata za vrtenje motorja zadnjega kolesa naprej/nazaj
  • Puščice levo/desno obračajo kolesa levo/desno
Konfiguracijska datoteka modula tipkovnice opisuje, katere osi so na voljo programerju za interakcijo z robotom v načinu ročnega upravljanja. Tako sta v primeru dve kontrolni skupini - to so osi tipkovnice. Če želite dodati novo os, se morate držati naslednjih pravil za opisovanje osi.

Pravila za opisovanje osi za modul tipkovnice

1. Pri dodajanju nove osi je potrebna v razdelku dodajte lastnost, katere ime je ime osi, in ji dodelite vrednost gumba na tipkovnici HEX obliki in za vsak gumb se ustvari podoben zapis, tj. ime osi je mogoče uporabiti večkrat. Na splošno pisanje v razdelek bo videti takole:

Ime_osi = vrednost_gumba_tipkovnice_v_HEX_formatu
2. Treba je določiti največjo in najmanjšo vrednost, ki se lahko nariše vzdolž te osi. Če želite to narediti, morate dodati razdelek v konfiguracijski datoteki v novo vrstico config.ini, enako kot ime osi, in nastavite lastnosti zgornja_vrednost in nižja_vrednost, ki ustrezata maksimumu in minimumu osi. Na splošno je ta razdelek videti takole:

[ime_osi] zgornja_vrednost = največja_vrednost_osi spodnja_vrednost = najmanjša_vrednost_osi
3. Nato morate določiti, kakšno vrednost bo imela os, če pritisnete gumb na tipkovnici, ki je bil prej pritrjen nanjo. Vrednosti se določijo z ustvarjanjem razdelka, katerega ime je sestavljeno iz imena osi in vrednosti gumba na tipkovnici v HEX obliki, ločeni s podčrtajem. Če želite nastaviti privzeto (nepritisnjeno) in pritisnjeno stanje, uporabite lastnosti nepritisnjena_vrednost in pritisnjena_vrednost oziroma, v katere se prenesejo vrednosti. Splošni pogled razdelka v tem primeru izgleda takole:

[axis-name_keyboard-key-value] pressed_value = axis_value when_key_pressed unpressed_value = axis_value_when_key_pressed
Besedilo spojlerja je kopirano iz dokumentacije RCML za lažji ogled.


Za izvedbo krmiljenja prototipa robota je bila ustvarjena konfiguracijska datoteka za modul tipkovnice, ki vključuje osi premikanja in vrtenja. Os go se uporablja za nastavitev smeri gibanja robota. Ko pritisnete tipko s puščico navzgor, bo os dobila vrednost 100, ko pa pritisnete tipko s puščico navzdol, bo os dobila vrednost -50. Os vrtenja se uporablja za nastavitev kota krmiljenja prednjih koles. Ko pritisnete levo puščično tipko, bo vrednost osi -5, ko pritisnete desno puščično tipko, bo vrednost osi 5.

Seznam konfiguracijske datoteke config.ini za modul tipkovnice

;Zahtevan razdelek ;axis_name = key_code (v formatu HEX) ;go os prejema vrednosti od up_arrow go = 0x26 ;go os prejema vrednosti od go_down_arrow = 0x28 ;rotate axis prejema vrednosti od left_arrow rotate = 0x25 ;rotacija osi prejme vrednosti iz desne_puščice rotate = 0x27 ;Opis osi go, vedno mora imeti oba ključa ;Zgornja meja vrednosti osi go upper_value = -100 ;Spodnja meja vrednosti osi go lower_value = 100 ;Opis vrtenje osi, vedno mora imeti obe tipki; Zgornja meja vrednosti osi vrtenja upper_value = - 100 ; Spodnja meja vrednosti osi vrtenja lower_value = 100 ; Opis obnašanja osi go za tipko *puščica navzgor* (0x26 ) ;Ko pritisnete tipko *up_arrow*, nastavite vrednost osi na 50 pressed_value = 100 ;Ko spustite tipko *up_arrow*, nastavite vrednost osi na 0 unpressed_value = 0 ;Opis obnašanja osi go za *down_arrow * tipka (0x28) ;Ko pritisnete tipko *puščica_navzdol*, nastavite vrednost osi na -50 pressed_value = -50 ;Ko spustite tipko *puščica_navzdol*, nastavite vrednost osi na 0 unpressed_value = 0 ;Opis obnašanja vrtljive osi za tipko *levo_puščica* (0x25) ;Ko pritisnete tipko *levo_puščica*, nastavite vrednost osi na -5 pressed_value = -5 ;Ko spustite tipko *levo_puščico*, nastavite vrednost osi na 0 unpressed_value = 0 ;Opis obnašanje osi vrtenja za tipko *right_arrow* (0x27) ;Ko pritisnete tipko *right_arrow*, nastavite vrednost osi na 5 pressed_value = 5 ;Ko spustite tipko *right_arrow*, nastavite vrednost osi na 0 unpressed_value = 0


Nato morate za izvajanje nadzora z igralno ploščico konfigurirati modul igralne ploščice. Konfiguracija modula vključuje ustvarjanje konfiguracijske datoteke config.ini poleg gamepad_module.dll, ki se nahaja v imeniku control_modules, nato pa gamepad.

Konfiguracijska datoteka univerzalnega modula za interakcijo z igralno ploščico

;Zahtevan razdelek z opisom uporabljenih osi ;Os za konec načina ročnega krmiljenja Izhod = 9 ; 11 binarnih osi, ki ustrezajo gumbom igralne ploščice B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 začetek = 10 T1 = 11 T2 = 12 ; 4 osi palice; Gibanje desne palice gor/dol RTUD = 13; Gibanje desne palice levo/desno RTLR = 16; Gibanje leve palice gor/dol LTUD = 15; Gibanje leve palice levo/desno LTLR = 14; 2 osi križa; Gibanje križa, puščice gor/dolUD = 17; Gibanje križca, puščice levo/desnoLR = 18; Opis obnašanja osi B1; Ko pritisnete gumb B1, nastavite vrednost osi na 1 upper_value = 1;Ko spustite gumb B1, nastavite vrednost osi na 0 nižja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 zgornja_vrednost = 1 spodnja_vrednost = 0 ;Opis obnašanja osi desne palice, ki se premika gor/dol ;Vrednost osi pri premikanju na maksimum možen zgornji položaj upper_value = 0 ;Vrednost osi pri premikanju na največji možni spodnji položaj lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 ;Opis obnašanja osi D-pad navzgor /premik navzdol ;Vrednost osi pri pritisku puščice navzgor upper_value = 1 ;Vrednost osi pri pritisku puščice navzdol lower_value = -1 upper_value = 1 lower_value = -1


Dodatne informacije o posebnostih nastavitve modula igralne ploščice so prikazane v referenčnem priročniku RCML.

3. Naslednji korak je pisanje programa v RCML.

V korenu ustvarjenega imenika morate ustvariti programsko datoteko. Ime programske datoteke in njena razširitev sta lahko poljubna, vendar se morate izogibati ruskim črkam v imenu. Ime datoteke, uporabljeno v primeru, je hello.rcml.

Za modul lego_ev3 ima rezervacijska koda robota naslednjo obliko:

@tr = robot_lego_ev3;

Stran za povezavo modula lego_ev3 opisuje večino funkcij, ki jih podpira krmilnik. Kot testni primer je bil ustvarjen program za samodejno spuščanje robota v zdrs.

Algoritem programa je naslednji:

Po rezervaciji prvega prostega robota se med motorjema vzpostavi povezava za nadaljnje delo z njima, kot da bi bila en sam. Nato začne robot izvajati driftanje. Programski opis dejanj robota vam omogoča natančno nastavitev kotov vrtenja prednjih koles in hitrosti vrtenja zadnjih koles. Uporaba te tehnike vam omogoča doseganje rezultatov, ki jih je težko ponoviti med ročnim pilotiranjem s tipkovnico ali igralno ploščo.

Seznam programov za robota Lego v jeziku RCML

funkcija main() ( @tr = robot_lego_ev3; //Rezerviraj robota @tr->setTrackVehicle("B","C",0,0); //Nastavitev sinhronizacije motorja @tr->motorMoveTo("D",100 , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); sistem. spanje (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); )


Za prevajanje programa morate uporabiti ukazno vrstico okna. Najprej se morate premakniti v ustvarjeni imenik z izvršljivima datotekama rcml_compiler.exe in rcml_intepreter.exe. Nato morate vnesti naslednje ukaze.

Ukaz za prevajanje datoteke hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc
Kot rezultat prevajanja se bo v ustvarjenem imeniku pojavila nova datoteka hello.rcml.pc.

Posnetek zaslona ukazne vrstice po uspešnem prevajanju



Zdaj se morate prepričati, da je krmilnik EV3 vklopljen in seznanjen z adapterjem Bluetooth. Igralni plošček mora biti povezan z računalnikom. Po tem morate izvesti ukaz za izvedbo programske datoteke:

Rcml_intepreter.exe hello.rcml

Videz ukazne vrstice med izvajanjem programa



Video, ki prikazuje program premikanja robota, se nahaja na dnu članka.

4. Naslednji korak je ročno upravljanje robota s tipkovnico.

S tipkovnico lahko upravljate kateri koli robotski motor. Primer izvaja nadzor nad naslednjimi mehanizmi:

  • Kot krmiljenja prednjih koles
  • Smer vrtenja zadnjih koles

Izpis programa za interakcijo med tipkovnico in robotom Lego na osnovi krmilnika EV3

funkcija main() ( @tr = robot_lego_ev3; //Rezerviraj robota @tr->setTrackVehicle("B","C",0,0); //Nastavitev sinhronizacije motorja system.hand_control(@tr,"keyboard", " naravnost", "pojdi", "speedMotorD", "vrtenje"); )


Nato morate prevesti program in ga zagnati. Rezultat ročnega upravljanja robota Lego s tipkovnico je prikazan v videu na dnu strani.

5. Poleg tipkovnice je na voljo modul igralne ploščice, ki vam omogoča upravljanje z robotom z igralno ploščo. Za izvajanje nadzora robota z igralno ploščo je treba na programski ravni opisati, katere osi robota bodo prevzele vrednosti osi igralne plošče.

Seznam programa za interakcijo med igralno ploščo in Lego robotom

funkcija main() ( @tr = robot_lego_ev3; //Rezerviraj robota @tr->setTrackVehicle("B","C",0,0); //Nastavitev motorja za sinhronizacijo system.hand_control(@tr,"gamepad", " ravno", "RTUD", "speedMotorD", "RTLR"); )


Nato morate ponoviti postopek prevajanja programa in ga nato izvesti. Sledi rezultat ročnega upravljanja robota Lego z igralno ploščico in vseh predhodno povezanih metod:

Ta članek na kratko prikazuje samo nekatere zmožnosti RCML. Najbolj podroben opis najdete v referenčnem priročniku.

Opis predstavitve po posameznih diapozitivih:

1 diapozitiv

Opis diapozitiva:

2 diapozitiv

Opis diapozitiva:

Vmesnik EV3 Brick EV3 Brick je nadzorni center, ki napaja vaše robote. Z zaslonom, kontrolnimi gumbi Brick in vmesnikom EV3 Brick, ki vsebuje štiri glavna okna, imate dostop do osupljive raznolikosti edinstvenih funkcij EV3 Brick. To so lahko preproste funkcije, kot je zagon in zaustavitev programa, ali zapletene, kot je pisanje samega programa.

3 diapozitiv

Opis diapozitiva:

Vmesnik: meni EV3 ima meni, ki je sestavljen iz 4 delov: nedavni programi, navigacija po datotekah, kocka, aplikacije, nastavitve kocke.

4 diapozitiv

Opis diapozitiva:

Nedavni programi Zaženite programe, ki ste jih nedavno prenesli iz namiznega računalnika. To okno bo ostalo prazno, dokler ne začnete prenašati in izvajati programov. V tem oknu bodo prikazani programi, ki ste jih nedavno zagnali. Program na vrhu seznama, ki je privzeto izbran, je program, ki je bil nazadnje zagnan.

5 diapozitiv

Opis diapozitiva:

Upravitelj datotek Dostopajte in upravljajte vse datoteke, shranjene v pomnilniku mikroračunalnika in na pomnilniški kartici. V tem oknu boste dostopali in upravljali vse datoteke v vaši EV3 Brick, vključno z datotekami, shranjenimi na kartici SD. Datoteke so organizirane v projektne mape, ki poleg samih programskih datotek vsebujejo tudi zvoke in slike, uporabljene v posameznem projektu. Datoteke lahko premikate ali brišete s pomočjo navigatorja datotek. Programi, ustvarjeni z uporabo okolja za programiranje modulov in aplikacij za beleženje podatkov modulov, so shranjeni ločeno v mapah BrkProg_SAVE in BrkDL_SAVE.

6 diapozitiv

Opis diapozitiva:

EV3 Control Box Applications ima 4 vnaprej nameščene aplikacije: A. Port View. B. Nadzor motorja. B. IR nadzor. D. Programsko okolje modula.

7 diapozitiv

Opis diapozitiva:

A. Port View V prvem oknu aplikacije Port View lahko hitro vidite, na katera vrata so priključeni senzorji ali motorji. Uporabite gumbe za upravljanje EV3 Brick za navigacijo do enega od zasedenih vrat in videli boste trenutne odčitke senzorja ali motorja. Namestite več senzorjev in motorjev ter eksperimentirajte z različnimi nastavitvami. Če si želite ogledati ali spremeniti trenutne nastavitve za nameščene motorje in senzorje, pritisnite sredinski gumb. Za vrnitev v glavno okno aplikacije modula kliknite gumb »Nazaj«.

8 diapozitiv

Opis diapozitiva:

B. Nadzor motorja Nadzirajte gibanje naprej ali nazaj katerega koli motorja, priključenega na enega od štirih izhodnih vrat. Obstajata dva različna načina. V enem načinu boste lahko krmilili motorje, priključene na vrata A (z gumboma gor in dol) in na vrata D (z gumboma levo in desno). V drugem načinu upravljate motorje, priključene na vrata B (z gumboma gor in dol) in vrata C (z gumboma levo in desno). Preklapljanje med tema dvema načinoma poteka z osrednjim gumbom. Za vrnitev v glavno okno aplikacije modula kliknite gumb »Nazaj«.

Diapozitiv 9

Opis diapozitiva:

IR nadzor Nadzirajte gibanje naprej ali nazaj katerega koli motorja, priključenega na enega od štirih izhodnih vrat z uporabo oddaljenega infrardečega svetilnika kot daljinskega upravljalnika in infrardečega senzorja kot sprejemnika (infrardeči senzor mora biti priključen na vrata 4 na EV3 Brick) . Obstajata dva različna načina. V enem načinu boste uporabljali kanala 1 in 2 na oddaljenem infrardečem svetilniku. Na kanalu 1 boste lahko krmilili motorje, priključene na vrata B (z gumboma 1 in 2 na daljinskem IR-svetilniku) in vrata C (z uporabo gumbov 3 in 4 na daljinskem IR-svetilniku). Na kanalu 2 boste lahko krmilili motorje, priključene na priključek A (z gumboma 1 in 2) in na priključek D (z gumboma 3 in 4). V drugem načinu lahko krmilite motorje na enak način, namesto tega pa uporabite kanala 3 in 4 na oddaljenem infrardečem svetilniku. Preklapljanje med tema dvema načinoma poteka z osrednjim gumbom. Za vrnitev v glavno okno aplikacije modula kliknite gumb »Nazaj«.

10 diapozitiv

Opis diapozitiva:

Programsko okolje Brick EV3 Brick ima nameščeno programsko opremo. Aplikacija je podobna programski opremi, nameščeni na vašem računalniku. Ta navodila vsebujejo osnovne informacije, ki jih potrebujete za začetek.

11 diapozitiv

Opis diapozitiva:

Nastavitve kocke EV3 V tem oknu si lahko ogledate in prilagodite različne splošne nastavitve v kocki EV3.

12 diapozitiv

Opis diapozitiva:

Prilagajanje glasnosti Glasnost lahko povečate ali zmanjšate na zavihku Nastavitve v EV3.

Diapozitiv 13