Vymeňte mozgy v Lego Mindstorms. Úplný analóg mikrokontroléra EV3

Ak máte nejaké otázky, čo by ste chceli vedieť o novom konštruktérovi (ako niečo konkrétne funguje, vykonajte experiment so snímačmi alebo motormi) - napíšte nám - pokúsime sa vaše návrhy otestovať. Týmto spôsobom sa môžete dozvedieť oveľa viac o EV3 ešte predtým, ako bude uvedený do prevádzky.

Teraz všetko začína prehľadom softvéru bloku EV3 (firmvér EV3).

Jednou z vlastností novej jednotky je jej dlhé zapínanie a vypínanie. Časovo je proces primeraný zapnutiu mobilného telefónu alebo domáceho routera, t.j. sekúnd 20-30. Po zapnutí sa zobrazí nasledujúca ponuka:


Ako vidíte, v porovnaní s blokom NXT sa toho veľa zmenilo: zlepšila sa kvalita fontov, viac prekreslených grafických prvkov, okenné rozhranie. Po prvé, je to spôsobené tým, že veľkosť obrazovky sa teraz zväčšila - stala sa 178 x 128 pixelov namiesto 100 x 64, ako v bloku NXT. Prítomnosť okna s integrovanými tlačidlami a posúvačmi naznačuje, že zariadenia, ako je externý touchpad, budú mať teraz ešte väčší zmysel.


Z prvého okna je možné vyvolať programy načítané na bloku, ako aj programy vytvorené priamo na bloku. Tie. na spustenie programu teraz musíte vykonať menej kliknutí, ako to bolo na bloku NXT.

Pohyb medzi načítanými programami, ako aj na druhú a nasledujúce obrazovky (položky ponuky) sa vykonáva pomocou ovládacích tlačidiel, ktorých sú teraz 4.


Druhá obrazovka - umožňuje prechádzať objektmi súborového systému v bloku. Súborový systém teraz podporuje tradičnú hierarchiu súborov a adresárov.


Tretia obrazovka obsahuje podmenu - aplikácie, ktoré vám umožňujú vykonávať rôzne akcie s blokom:


V aktuálnej softvérovej verzii bloku sú štyri takéto aplikácie:

  • Zobraziť senzory
  • Ovládanie motora
  • Diaľkové ovládanie
  • Blokové programovanie
Štvrtá obrazovka je konfiguračná obrazovka. Okrem základných nastavení: úroveň zvuku, časovač nečinnosti, aktivácia BlueTooth a WiFi vám umožňuje zistiť informácie o softvéri jednotky:



Výber konkrétnej položky menu / aplikácie sa vykonáva stredným tlačidlom na klávesnici. Ak chcete ukončiť akúkoľvek položku ponuky alebo aplikáciu, musíte kliknúť na tlačidlo "Ukončiť", ktoré sa teraz nachádza oddelene od hlavných tlačidiel - na ľavej strane pod obrazovkou.

Teraz by ste sa mali vrátiť na tretiu obrazovku a začať sa zoznamovať s aplikáciami. Takže aplikácia "Zobraziť senzory" (Port View).

Na rozdiel od podobného režimu v bloku NXT teraz môžete vidieť informácie o všetkých 8 zariadeniach pripojených k bloku naraz. Okrem toho deklarovaná funkcia automatickej detekcie senzora vám umožňuje neindikovať rukami, ku ktorému senzoru je pripojený.

V hornej časti sú zobrazené informácie z kódovačov motorov, v dolnej časti - informácie zo snímačov. V strede obrazovky - informácie o konkrétnom zariadení (v konkrétnom porte), ktoré je možné vybrať stlačením ovládacích tlačidiel na klávesnici. Informácie zahŕňajú grafické znázornenie snímača, jeho názov a aktuálne hodnoty:

Dotykový senzor:


Gyroskopický senzor:


Farebný snímač v režime merania odrazeného svetla:


Ultrazvukový snímač vzdialenosti:

Tu, mimochodom, môžete vidieť, že senzor teraz tvrdí, že je schopný merať vzdialenosť s milimetrovou presnosťou a minimálna merateľná vzdialenosť je teraz od 3 cm.

Informácie z ľavého kódovača motora.


Ďalšou aplikáciou je ovládanie motora. V podstate umožňuje otáčať motory pomocou tlačidiel. Pomocou centrálneho tlačidla musíte vybrať, ktoré motory sa majú otáčať. A potom pomocou párov tlačidiel hore a dole alebo doľava a doprava otáčajte konkrétne motory.


Tretiu aplikáciu sa nám nepodarilo vyskúšať, pretože štandardná dodávka vzdelávacej verzie súpravy EV3 Kit neobsahuje infračervený snímač vzdialenosti a infračervený maják. Zdá sa však, že na tejto obrazovke môžete nakonfigurovať, ktoré motory budú ovládané infračerveným majákom.


Samozrejme, najzaujímavejšou aplikáciou je blokové programovanie. Je výrazne prerobený: program môže teraz obsahovať až 16 programových prvkov (blokov) a vytvorené programy je možné uložiť a samozrejme znovu otvoriť na úpravu.


Po otvorení aplikácie na písanie programu sa zobrazí prázdna slučka behu (vykoná sa len jedna iterácia) a návrh na vloženie prvého bloku. Blok je možné vložiť pomocou tlačidla "Hore".


V zobrazenom okne výberu bloku je k dispozícii 17 blokov (6 akčných blokov a 11 čakajúcich blokov) plus akcia vymazania aktuálneho bloku.



Poradie výberu a poradie blokov určuje programátor. Neznamená to, že za každým akčným blokom musí byť čakací blok, ako to bolo v prípade bloku NXT predtým.

Zvolený blok v programe vyzerá takto:


Správanie bloku je možné upraviť stlačením stredového tlačidla. Pre tento blok môžete napríklad zmeniť uhol smeru otáčania robota alebo úplne zastaviť motory (napríklad po predchádzajúcom bloku čakania).


Posunutím „kurzora“ doľava alebo doprava môžete vložiť ďalší blok:


Napríklad blok čakania na udalosť na snímači vzdialenosti:


A zmeňte jeho správanie (udalosť nastane, ak bude vzdialenosť väčšia ako 60 cm.):


Bloky je možné vkladať medzi existujúce bloky alebo dokonca na začiatok programu.


Tu je niekoľko ďalších príkladov čakacích blokov:

Čakajte blok po čase (môžete nastaviť, ako dlho čakať):


Alebo blok na čakanie na udalosť z gyroskopického snímača (dá sa nastaviť uhol natočenia snímača).


Opäť je potrebné poznamenať, že funkcia automatickej detekcie snímača zjednodušuje proces programovania na jednotke. Teraz nie je potrebné dodržiavať pravidlo, že určité senzory musia byť pripojené k určitým portom.

Ak sa program musí vykonať niekoľkokrát, potom je možné zmeniť počet iterácií riadiacej slučky:


Program sa spustí výberom úplne prvého bloku:


Po spustení programu sa na obrazovke zobrazí nasledovné:


Program je možné uložiť a môžete zadať názov súboru pre jeho následné vyhľadávanie:



Písmená sa vyberajú pomocou klávesnice (ahoj touchpad!)

Ak sa pokúsite zavrieť neuložený program, zobrazí sa nasledujúca nie veľmi jasná správa a ozve sa nepríjemný zvuk:


V budúcnosti môžete vytvorený program otvoriť a vykonať v ňom zmeny.


Prirodzene sa otvárajú iba programy vytvorené na bloku.

Na záver by som chcel ukázať, ako vyzerá vypnutie bloku:


- Koho by ste chceli - syna alebo dcéru?
- Syn!
- Prečo?
- Chcem rádiom riadený vrtuľník!!!
Nevtipná akordeónová anekdota, ale túto publikáciu si nemôžete len tak vziať a začať nie s ním – odráža tým najlepším možným spôsobom podstatu toho, o čom bude reč nižšie. Už z nadpisu ste však pochopili, o čo ide.

Opatrne! Publikovanie môže spôsobiť neodolateľnú túžbu mať syna.

Hodina dejepisu

Spoločnosť LEGO (názov pochádza z dánskeho výrazu „leg godt“, „Hraj s potešením“) netreba predstavovať – bola založená už v roku 1932, hoci prvé plastové kocky, ktoré všetci poznali, sa objavili oveľa neskôr, v roku 1947. Je pozoruhodné, že LEGO kocky vyrobené v tých rokoch sú plne kompatibilné s tými, ktoré sa vyrábajú teraz.

LEGO 80th Anniversary História spoločnosti Pixar:

Spoločnosť v súčasnosti vyrába približne 20 miliárd dielov ročne, čo je viac ako 630 kusov za sekundu. V súčasnej zostave je viac ako 600 rôznych dizajnérov a náhodou je séria Mindstorms akýmsi vrcholom technického myslenia, tým najprepracovanejším dizajnérom. Skrátka, umožňuje vám robiť pre seba plnohodnotné roboty.

Ako uvádza Wikipedia, séria LEGO Mindstorms bola prvýkrát predstavená v roku 1998. O 8 rokov neskôr (v roku 2006) sa zrodila súprava LEGO Mindstorms NXT 1.0 a už v roku 2009 - súprava LEGO Mindstorms NXT 2.0. Dnes budeme hovoriť o LEGO Mindstorms EV3- posledná (tretia) generácia konštruktérskeho terminátora, ktorý bol predstavený takmer pred rokom, 4. januára 2013 (v predaji sa objavil až o šesť mesiacov neskôr).

Rozdiely medzi EV3 a NXT 2.0

V princípe zostáva hlavná myšlienka rovnaká – séria je určená na montáž programovateľných robotov. Preto prvá otázka, ktorá vyvstáva, je, čo sa zmenilo od vydania predchádzajúceho konštruktéra a oplatí sa kúpiť nový? Hlavným rozdielom sú aktualizované senzory / motory a čo je najdôležitejšie, tehla Smart EV3 (EV znamená EVolution):
Ako vidíte, rozdiel je dosť výrazný - bolo by zvláštne, keby sa za 4 roky zmenilo iba rozlíšenie obrazovky a sada nálepiek.

Ďalším rozdielom je, že séria NXT sa predávala v niekoľkých verziách (v rôznych rokoch) a bola prezentovaná v rôznych sadách, základných a zdrojových. Nová EV3 je s tým jednoduchšia - zatiaľ sa predáva v základnej verzii - (601 dielov), z ktorej sa dá vyrobiť kopa všetkého. Ale ak chcete, môžete si kúpiť základnú sadu (541 dielov) s ďalšími snímačmi a dielmi (nikto sa tiež neobťažuje použiť diely od bežných dizajnérov). Mimochodom, dávajte pozor na päťmiestne čísla dielov - spoločnosť prešla na toto číslovanie v roku 2013.

Čo sa týka kompatibility, urobilo sa tu všetko možné. Všetky senzory a motory NXT sú kompatibilné s EV3 a uznávané ako NXT. Senzory EV3 nefungujú s NXT, ale motory EV3 sa zdajú byť kompatibilné. Kocku NXT je možné naprogramovať pomocou softvéru EV3, ale niektoré funkcie nemusia byť dostupné, no kocku EV3 pomocou softvéru NXT nemôžete naprogramovať bez riešení tretích strán.

Vo vnútri krabice

Už keď som bola malá a chodila som s rodičmi do centrálneho Detského sveta (keď to ešte bolo), do Lubjanky - ani vtedy som nevedela spustiť oči z krabíc s LEGO. Potom tu nebol ani Giktime, dokonca ani Habr, ale odvtedy zostali krabice stále rovnako svetlé a šťavnaté, dokonca aj v dospelosti aktivujú proces slinenia) V tomto ohľade sa ostatní výrobcovia majú čo učiť.

Súčasťou škatule je vlastne (ak je rozrezaná) dráha s rôznymi farebnými zónami, ktorú je možné použiť pre roboty s farebnými senzormi.

Všetky diely sú prehľadne usporiadané vo vrecúškach, sada obsahuje návod a sadu nálepiek. Poďme sa rýchlo pozrieť na to, čo bolo súčasťou súpravy.

seba EV3, je to intelektuálny blok, je srdcom systému, je to „tehla“ alebo „kocka“. Slúži ako riadiace centrum a elektráreň pre vášho robota a má nasledujúce funkčné prvky:

- Multifunkčný monochromatický displej s rozlíšením 178x128
- Šesťtlačidlové ovládacie rozhranie s funkciou zmeny podsvietenia (3 farby) na označenie prevádzkového režimu
- 4 vstupné porty (1, 2, 3, 4) pre pripojenie senzorov
- 4 výstupné porty (A, B, C, D) na vykonávanie príkazov
- 1 miniUSB konektor pre pripojenie EV3 k počítaču
- 1 hostiteľský port USB (napríklad na pripojenie niekoľkých EV3 v jednom reťazci)
- 1 slot pre pamäťové karty microSD (až 32 GB) - na zvýšenie množstva dostupnej pamäte EV3
- Vstavaný reproduktor

EV3 Brick tiež podporuje Bluetooth, WiFi (cez NETGEAR WNA1100 Wireless-N 150 USB Adapter) a má API pre komunikáciu s počítačmi, ktoré umožňuje vytvárať programy a nastavovať dátové protokoly priamo na mikropočítači EV3.

»Veľký servomotor EV3 (2 kusy)... Navrhnuté pre prácu s mikropočítačom EV3 a má vstavaný snímač otáčania s presnosťou merania 1 stupeň. Pomocou tohto snímača je možné motor pripojiť k iným motorom, čo umožňuje robotu pohybovať sa konštantnou rýchlosťou. Okrem toho možno snímač otáčania použiť v rôznych experimentoch na presné čítanie údajov o vzdialenosti a rýchlosti.

- Vstavaný snímač otáčania s presnosťou merania až do 1 stupňa
- Maximálne otáčky až 160-170 ot./min
- Maximálny krútiaci moment 40 Ncm

»Stredné servo EV3. Ideálne pre úlohy, kde rýchlosť a odozva, ako aj veľkosť robota, sú dôležitejšie ako jeho kapacita.

- Vstavaný snímač otáčania s presnosťou merania až do 1 stupňa
- Maximálne otáčky až 240-250 ot./min
- Maximálny krútiaci moment 12 Ncm
- Automatická identifikácia pomocou softvéru EV3

»Snímač farieb (EV3). Schopný rozpoznať 8 rôznych farieb, hoci môže byť použitý aj ako svetelný senzor.

- Meria odrazené červené svetlo a okolité svetlo, od úplnej tmy po jasné slnečné svetlo
- Fixuje a definuje 8 farieb
- Vzorkovacia frekvencia do 1 kHz
- Automatická identifikácia pomocou softvéru EV3

»Dotykový snímač (EV3). Umožňuje robotovi reagovať na dotyk, rozpoznáva tri situácie: dotyk, kliknutie a uvoľnenie. Je tiež schopný určiť počet kliknutí, jednorazových aj viacnásobných.

»Digitálny IR senzor (EV3). Na určenie prístupu robota. Je tiež schopný zachytiť infračervené signály z infračerveného majáku, čo umožňuje vytváranie diaľkovo ovládaných robotov, navigačných systémov na prekonávanie prekážok.

- Merania priblíženia / odklonu v okruhu 50-70 cm
- Polomer snímania IR signálov až 2 metre
- Až 4 samostatné kanály na príjem signálu
- Prijímajte príkazy diaľkového IR ovládania
- Automatická identifikácia pomocou softvéru EV3

»Vzdialený infračervený maják. Navrhnuté pre použitie s IR senzorom EV3. Maják vysiela IR signál zachytený senzorom - môže byť použitý ako diaľkové ovládanie pre mikropočítač EV3, prenášajúci signály do IR senzora.

- Až 4 samostatné kanály prenosu signálu (zapínanie priamo na tele)
- Má tlačidlo a prepínač na zapnutie / vypnutie
- Keď IR maják funguje, zelená LED svieti
- Automatické vypnutie pri nečinnosti dlhšie ako 1 hodinu
- Akčný rádius do 2 metrov

Samostatná taška obsahuje vodiče na pripojenie snímačov a motorov ku kocke a tiež USB kábel na pripojenie kocky k počítaču.

Treba poznamenať dva dôležité body. Po prvé, existujú ďalšie Lego senzory, ako napríklad:

»Gyroskopický senzor (EV3). Digitálny gyroskopický senzor EV3 meria rotačný pohyb robota, ako aj zisťuje zmeny jeho pohybu a polohy. Režim merania uhla s presnosťou ± 3 stupne; vstavaný gyroskop deteguje rotácie s krútiacim momentom až 440 stupňov / s; vzorkovacia frekvencia do 1 kHz.

»Ultrazvukový senzor (EV3). Generuje zvukové vlny a zaznamenáva ich odrazy od objektov, čím meria vzdialenosť k objektom. Dá sa použiť aj v režime sonaru, ktorý vyžaruje jednotlivé vlny. Dokáže zachytiť zvukové vlny, ktoré spúšťajú programy. Meria vzdialenosti od 1 do 250 cm a presnosť merania je ± 1 cm.

A po druhé, podporované sú senzory a ďalšie príslušenstvo od tretích výrobcov ako HiTechnic a Mindsensors – ponúkajú všetky druhy joystickov, infračervené senzory vzdialenosti, magnetické senzory, kompasy, gyroskopy, akcelerometre, časovače, multiplexery, guľové kĺby atď. Ak si teda položíte otázku, môžete nájsť veľa zaujímavých vecí.

Vo všeobecnosti, ako ste už pochopili, LEGO je pre skutočných chlapov!

Prvý model

Súprava je dodávaná s papierovým návodom na použitie, podľa ktorého si môžete zostaviť jeden model - akési pásové samohybné vozidlo.

Najprv som bol prekvapený, pretože aj v tých najjednoduchších sadách (séria ako LEGO Creator) je vždy niekoľko návodov a potom zrazu oľutovali papier alebo nenašli miesto v krabici. Ukázalo sa ... že iba na oficiálnej webovej stránke sa navrhuje zostaviť 17 rôznych robotov zo sady dielov! Preto by bolo 17 návodov v škatuľke naozaj zbytočných (ako pre logistiku, tak aj pre lesy prírody). Roboty sa nazývajú EV3RSTORM, GRIPP3R, R3PTAR, SPIK3R a TRACK3R. ROBODOZ3R, BANNER PRINT3R, EV3MEG, BOBB3, MR-B3AM, RAC3 TRUCK, KRAZ3, EV3D4, EL3CTRIC GUITAR, DINOR3X, WACK3M a EV3GAME - návod na ne si bude potrebné stiahnuť z internetu, ako aj softvér na pripojenie EV3 počítač.

Návod je najpodrobnejší, je ťažké ho pokaziť. Povedal synže diely vo vrecúškach nie sú veľmi dobre zabalené - hneď na prvej strane možno budete musieť otvoriť 3 rôzne vrecúška, ale to sú tiež drobnosti.

Kocka EV3 musí byť napájaná, na čo môžete použiť dobíjaciu batériu (nie je súčasťou balenia) alebo 6 AA batérií. Pohľad do budúcnosti - na napájanie IR majáku (alias diaľkového ovládača) budú potrebné ďalšie 2 batérie (ale už malé prsty).

Dieťa (7 rokov) zložilo prvý model asi za 30 minút.

Ukázalo sa, že tento proces nie je taký vzrušujúci ako napríklad skladanie modelov LEGO Technics - pokyny naznačujú zostavenie ďaleko od najzaujímavejšieho robota: existujú iba veľké časti, medzi ktorými boli takmer všetky senzory a motory, zjavne na demonštráciu práce. každého z nich.

Výsledok však prekonal všetky detské očakávania - prvýkrát zostavil model, ktorý sa mohol pohybovať sám: tam a späť, otáčať sa, otáčať na mieste, skrútený chápadlami ...

Spustenie sa vykonáva z kocky EV3 stlačením niekoľkých tlačidiel na prednom paneli. Niektoré akcie sa dajú naprogramovať priamo na kocke: vyberte si počet opakovaní, nastavte zvukový signál a podobne – nemôžete povedať všetko v jednom článku, návodoch na fajčenie.

softvér

Uvedený model nebolo potrebné programovať cez počítač. Napriek tomu existuje taká možnosť, zatiaľ čo na rôznych úrovniach hardcore.

Pre dieťa bude najjednoduchšie začať s výrobcom ponúkaným softvérom, ktorý je dostupný pre Windows aj pre OS X. V druhom prípade má distribučná súprava 666 MB a nainštalovaná aplikácia zaberie gigabajt. Volá sa LEGO Mindstorms EV3 Home Edition a bola vyvinutá v spolupráci s notoricky známou spoločnosťou LabView. Webová stránka LEGO má pomerne veľa programovacích tutoriálov.

Hneď po spustení sa pred nami objaví interaktívna „garáž“ robotov, ktorých je možné poskladať zo sady:




Vyberieme si ten, ktorý sa nám páči a začneme zbierať: uvidíme interaktívny návod na zostavenie, videá, ako aj výber rôznych misií, ktoré možno so zostaveným robotom vykonávať. To je dôvod, prečo distribúcia tak zavážila.








Nevidím dôvod všetko podrobne popisovať: aplikáciu si stiahnete sami rýchlejšie a uvidíte, čo tam je a na akej úrovni. Ak nespomeniem jeden z nedostatkov, ktorý si pamätám najviac: rozhranie nie je práve najprívetivejšie (hlavne pre deti) – aplikácia zaváňa klientom banky.

Ešte raz treba podotknúť, že kocku EV3 je možné ovládať zo smartfónu na operačných systémoch Android alebo iOS, pre ktoré existujú samostatné aplikácie.

Ak toto všetko nestačí, môžete zvýšiť stupeň hardcore. Pre kocku EV3 existujú rôzne firmvéry, ktoré umožňujú rozšíriť jej možnosti, rýchlosť atď. Tu je napríklad alternatívny firmvér leJOS EV3 - firmvér s jvm, ktorý vám umožňuje naprogramovať EV3 v Jave. Chcete v inom jazyku? Ok Google – na výber máte takmer 60 možností: ASM / C / C ++ / Perl / Python / Ruby / VB / Haskell / Lisp / Matlab / LabVIEW a oveľa, oveľa viac.

Nebudem o tom hovoriť podrobnejšie z niekoľkých dôvodov: po prvé, programátor odo mňa je úplný falošný (všetky nádeje pre môjho syna), a po druhé, zatiaľ sa nám podarilo zostaviť iba jeden model (a cez víkend budeme vezmite si druhú) a do tretice ste už zadali objednávku na tohto dizajnéra a čoskoro všetko zistíte sami;) Ale vážne, článok je už obrovský - je lepšie si preštudovať dve referencie: jednu a dve.

No a ďalším veľkým plusom sú LEGO komunity, ktorých je plno po celom svete. Môžete si byť istí, že v ktorejkoľvek fáze experimentov s robotmi môžete vždy nájsť rovnako zmýšľajúcich ľudí a tých, ktorí môžu pomôcť s riešením problému. Okrem priateľských komunít sa na internete zverejňuje veľké množstvo rôznych návodov, modelov, zdrojov, videí a školiacich materiálov. To všetko znamená jediné: s Mindstorms sa nebudete nudiť.

Klady a zápory

Produkty spoločnosti LEGO sú známe svojou kvalitou už niekoľko rokov, takže v tomto ohľade neexistujú žiadne sťažnosti: veľkolepá krabica, diely, nálepky, pokyny - všetko je prepracované do najmenších detailov. Dovolím si preto privrieť oči pred všetkými „malými plusmi“ oproti jednému veľkému: rôznorodosťou možných kombinácií prevedení, ktoré sa dajú vyrobiť aj zo štandardnej sady dielov (o dodatočných sa netreba baviť sady) je obmedzená len vašou predstavivosťou. Schopnosť naprogramovať zostavený model rôznymi spôsobmi je ďalším plusom, ktorý je v skutočnosti oveľa viac, než sa na prvý pohľad zdá.

Ale zo skutočne významných nevýhod som našiel iba jednu: cenu. Ešte v lete sa LEGO Mindstorms EV3 dalo kúpiť za 14-15 tisíc, no rapídny nárast kurzu evergreen prezidenta cenu zvýšil na 17 tisíc. Niekto povie: „ áno, skvelý konštruktér ... ALE DRAHÉ F!„A bude mať pravdu. Pri štúdiu stavebnice a jej možností ma uchvátilo množstvo prostriedkov, ktoré boli do jej tvorby investované; Chápem, že je tam kopa elektroniky a všeličo iné ... ale aj tak sa neviem zmieriť s takýmito nákladmi na konštruktéra. Za tieto peniaze môžete dostať človeka z väzenia (c) vybrať si mnoho ďalších darčekov: kvadrokoptéru, rádiom riadený model ICE, plnohodnotný elektrický motocykel, rok tréningu v športovej sekcii, tablet .. a veľa vecí! Ale môžete ísť športovať kedykoľvek a zdá sa, že to nie je tak celkom dar a tá istá kvadrokoptéra bude bzučať až do prvého vážneho zlyhania. Lego je v tomto smere oveľa dlhodobejší darček, spájajúci podnikanie s potešením, s neskutočne veľkým potenciálom. Áno, na tom istom tablete sa dá naučiť aj programovať, ale keď už necítite výsledok svojej práce rukami, už to nie je také vzrušujúce. Preto sa rozhodnite sami.

Ó áno. Výrobca umiestni túto súpravu pre deti od 10 rokov, ale už aj 7-ročné dieťa malo záujem hrať sa - začal sa proces rýchleho vývoja. Koľko si myslíš títo ľudia a kedy si kúpia svoje prvé Porsche?)

Koniec

Každý z nás si spája Nový rok so snehovými pannami, vianočným stromčekom, mandarínkami, miskou Oliviera a samozrejme darčekmi. A ak hovoríme o deťoch, tak darčeky, ktoré majú, sú ďaleko, oooo, nie sú na poslednom mieste tohto zoznamu. A ak sa stane, že váš syn vyrastie, potom nemôžete ani pochybovať o tom, že tento konštruktér pod stromček ho privedie k prasiatkemu kvíleniu radosti. A vzhľadom na to, že po novoročnom ohňostroji budete mať takmer týždeň na to, aby ste sa s dieťaťom hlbšie zabárali do kociek a drôtov ... kupujete mu dieťa, však?

Šťastný nový rok!

USB pripojenie

LEGO Mindstorms EV3 sa dá pripojiť k PC alebo inému EV3 cez USB pripojenie. Rýchlosť a stabilita pripojenia sú v tomto prípade lepšie ako pri akejkoľvek inej metóde vrátane Bluetooth.

LEGO Mindstorms EV3 má dva USB porty.

Daisy reťazová komunikácia medzi LEGO EV3 a ďalšími LEGO EV3 kocikami.

Režim Daisy chain spája dve alebo viac kociek LEGO EV3.

Tento režim:

  • navrhnutý na prepojenie viac ako jedného LEGO Mindstorms EV3;
  • slúži na pripojenie viacerých snímačov, motorov a iných zariadení;
  • umožňuje komunikáciu medzi niekoľkými LEGO Mindstorms EV3 (až 4), čo nám dáva až 16 externých portov a rovnaký počet interných portov;
  • umožňuje riadiť celý reťazec z hlavného LEGO Mindstorms EV3;
  • nemôže fungovať s aktívnym pripojením Wi-Fi alebo Bluetooth.

Ak chcete povoliť režim slučkového pripojenia, prejdite do okna nastavení projektu a začiarknite políčko.

Keď je zvolený tento režim, potom pre ktorýkoľvek motor môžeme vybrať EV3 Brick, ktorý sa má použiť, a požadované senzory.

V tabuľke nižšie sú uvedené možnosti použitia tehál EV3:

Akcia

Stredný motor

Veľký motor

Riadenie

Nezávislý manažment

Gyroskopický

Infračervené

Ultrazvukové

Rotácia motora

Teploty

Merač energií

Zvuk

Bluetooth pripojenie

Bluetooth umožňuje LEGO Mindstorms EV3 pripojiť sa k počítačom, ďalším LEGO Mindstorms EV3, smartfónom a ďalším zariadeniam Bluetooth. Komunikačný dosah cez Bluetooth je až 25 m.

K jednému LEGO Mindstorms EV3 je možné pripojiť až 7 kociek. EV3 Master Brick vám umožňuje odosielať a prijímať správy pre každý EV3 Slave. EV3 Slave môžu posielať správy iba hlavnej EV3 Brick, nie navzájom.

Sekvencia pripojenia Bluetooth EV3

Ak chcete navzájom spojiť dve alebo viac kociek EV3 cez Bluetooth, postupujte takto:

1. Otvorte kartu Prispôsobenie.

2. Vyberte Bluetooth a stlačte stredné tlačidlo.

3. Dáme začiarkavacie políčko viditeľnosť Bluetooth.

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

5. Postupujte podľa vyššie uvedeného postupu pre požadovaný počet kociek EV3.

6. Prejdite na kartu Pripojenie:

7. Kliknite na tlačidlo Hľadať:

8. Vyberte EV3, ku ktorému sa chcete pripojiť (alebo ku ktorému sa chcete pripojiť) a stlačte Stredové tlačidlo.

9. Jeden a druhý blok spojíme prístupovým kľúčom.

Ak je všetko vykonané správne, "<>“, rovnakým spôsobom môžete pripojiť ďalšie kocky EV3, ak sú viac ako dve.

Ak vypnete LEGO EV3, spojenie sa stratí a budete musieť zopakovať všetky body.

Dôležité: pre každý blok musí byť napísaný jeho vlastný program.

Ukážkový program:

Prvý blok: Keď stlačíte dotykový senzor, prvá tehla EV3 prenesie text do druhého bloku po 3 sekundách oneskorenia (hlavný blok).

Príklad programu pre blok 2:

Druhý blok čaká na prijatie textu z prvého bloku a hneď ako ho dostane, zobrazí na 10 sekúnd slovo (v našom príklade slovo „Ahoj“) (podradený blok).

Wi-Fi pripojenie

Komunikácia na dlhšie vzdialenosti je možná pripojením Wi-Fi dongle k USB portu na EV3.

Ak chcete používať Wi-Fi, musíte na EV3 Brick nainštalovať vyhradenú kocku pomocou USB konektora (Wi-Fi adaptér (Netgear N150 Wireless Adapter (WNA1100) a tiež môžete pripojiť Wi-Fi dongle).

Tento článok sa zameria na novú verziu konštruktéra - LEGO Mindstorms Education EV3. Ale skôr, než sa budeme rozprávať o inováciách v EV3, pozrime sa bližšie na sériu konštruktérov LEGO Mindstorms.

LEGO Mindstorms je robotická stavebnica pre deti od 10 rokov. Diely LEGO Technis sa používajú ako stavebné kamene pre robota - mnohí chlapci ich už poznajú od konštruktérov "Technológia a fyzika", "Pneumatika". Postaviť kostru robota však nestačí: je potrebné ho „naučiť“ prijímať informácie z okolia a reagovať na ne. Na tento účel sa používajú špeciálne zariadenia - senzory: umožňujú určiť farbu, osvetlenie, vzdialenosť k blízkym objektom a oveľa viac. Robot dokáže reagovať na „podnety“ pomocou motorov – buď niekam ísť, alebo niečo urobiť – napríklad uhryznúť páchateľa do prsta. A „mozog“ robota je špeciálna programovateľná jednotka, ku ktorej sú pripojené všetky motory a senzory.

Prejdime k zloženiu sady LEGO Mindstorms EV3. Tu je to, čo obsahuje vzdelávacia súprava:

  • 1 programovateľný blok
  • 3 motory:
    • 2 veľké motory
    • 1 stredný motor
  • 5 senzorov:
    • 2 dotykové senzory
    • 1 farebný snímač
    • 1 ultrazvukový snímač vzdialenosti
    • 1 gyroskop
  • Batéria robota
  • 528 dielikov Lego Technic

Senzory a motory

Poďme sa pozrieť na to, čo sa zmenilo v EV3 oproti staršej verzii NXT.

Sada bude obsahovať 3 motory, ale jeden z nich sa bude líšiť veľkosťou aj technickými vlastnosťami.

Zvukový senzor bol nahradený gyroskopom. Ostatné typy snímačov zostávajú rovnaké.

Ďalšou funkciou je autodetekcia snímačov a motorov pri ich pripojení k bloku - o tejto funkcii budem hovoriť v časti popisujúcej nové programovacie prostredie EV3.

Charakteristiky snímačov a motorov sú uvedené nižšie.

Veľmi podobný senzoru predchádzajúcej verzie. Detekuje stlačenie alebo uvoľnenie tlačidla a dokáže počítať aj jedno alebo viac stlačení.

Farebný senzor

Senzor farieb EV3 rozpozná 7 farieb a dokáže odhaliť nedostatok farieb. Rovnako ako v predchádzajúcej verzii môže fungovať ako svetelný senzor.

  • Meria odrazené červené svetlo a okolité svetlo
  • Dokáže rozlišovať medzi bielou a čiernou farbou alebo farbami: modrá, zelená, žltá, červená, biela a hnedá
  • Pracovná frekvencia: 1 kHz

Gyroskop

Gyro senzor EV3 meria rotačný pohyb robota a zmeny polohy.

  • Môže sa použiť na určenie aktuálneho smeru otáčania
  • Presnosť: +/- 3 stupne pri 90 stupňoch otáčky (v režime merania sklonu)
  • Dokáže rozpoznať maximálne 440 stupňov/s (v gyroskopickom režime)
  • Pracovná frekvencia: 1 kHz

Ultrazvukový snímač vzdialenosti


K hlavnej funkcii EV3 Ultrasonic Sensor pribudla ďalšia – dokáže „počúvať“ aj ultrazvukové vibrácie, ktoré vydávajú iné ultrazvukové senzory.

  • Dokáže merať vzdialenosť v rozsahu 3 - 250 cm.
  • Presnosť merania: +/- 1 cm
  • Rozlíšenie výsledku merania: 0,1 cm.
  • Možno použiť na vyhľadávanie iných aktívnych ultrazvukových senzorov (režim počúvania)
  • Červené LED podsvietenie okolo "očí"

Veľký motor

Veľký servomotor EV3 je veľmi podobný predchádzajúcej verzii motora NXT, ale kryt motora je o niečo väčší (prakticky zaberá 14x7x5 otvorov oproti predchádzajúcemu 14x6x5). Zmenili sa aj upevňovacie body motorov a ich typ.

  • Maximálne otáčky - 160 - 170 ot./min.
  • Nastavený krútiaci moment - 40 N / cm
  • Skutočný krútiaci moment je 20 N / cm.

Stredný motor

Stredný servomotor EV3 je založený na motore Power Function rovnakej veľkosti. Len snímač uhla natočenia a pripojovací port vyžadovali ďalší priestor. Tento motor je ideálny pre nízke zaťaženie a vysoké rýchlosti.

  • Maximálne otáčky - 240-250 ot./min.
  • Nastavený krútiaci moment - 12 N / cm
  • Skutočný krútiaci moment je 8 N / cm.
  • Zabudovaný uhlový snímač (kodér) motora s presnosťou 1 stupňa

Senzory, motory a káble NXT sú kompatibilné s EV3, takže všetky predtým postavené roboty môžu byť ovládané novou jednotkou.

Programovateľná tehla EV3

Veľkými zmenami prešiel aj mikropočítač EV3. V porovnaní s NXT má blok EV3 rýchlejší procesor, väčšiu pamäť. Firmvér bloku EV3 je založený na bezplatnom OS Linux, čo umožňuje vytvoriť si vlastný firmvér pre blok. Teraz je možné pripojiť robota k počítaču nielen cez USB a Bluetooth, ale aj cez Wi-Fi. Roboty môžu medzi sebou komunikovať aj cez USB, Bluetooth a Wi-Fi.

Nižšie je uvedená porovnávacia tabuľka špecifikácií NXT a EV3:


NXT EV3
CPU Atmel 32-bitový ARM AT91SAM7S256
48 MHz
256 KB FLASH pamäť
64 KB pamäte RAM
ARM9
300 MHz
16 Mb Flash pamäť
64 Mb pamäte RAM
Spoluprocesor Atmel 8-bitový ARM AVR, ATmega48
8 MHz
4 KB FLASH pamäť
512 bajtová pamäť RAM
chýba
Operačný systém Vlastnícky Linux
Vstupné porty (pre senzory) 4 porty
Podporuje analógové, digitálne senzory
Prenosová rýchlosť: 9600 bps (I2C)
4 porty
Podporuje analógové, digitálne senzory

Prenosová rýchlosť: až 460,8 Kbps (UART)
Výstupné porty (pre motory) 3 porty
4 porty
USB prenos dát Používaný režim plnej rýchlosti: 12 Mbps Používa sa vysokorýchlostný režim: 480 Mbps
Pripojenie zariadení USB Žiadna možnosť Je možné sériové pripojenie až 3 zariadení vrátane sieťových kariet wi-fi a flash kariet
čítačka SD kariet Chýba Podporuje miniSD karty, maximálna kapacita 32 GB
Pripojenie k mobilným zariadeniam Pripojenie k zariadeniam s OS Android je možné Možno pripojiť k zariadeniam so systémom Android a iOS (iPhone, iPad)
Obrazovka LCD, monochromatický
100 * 64 pixelov
LCD, monochromatický
178 * 128 pixelov
Interakcia Bluetooth
USB 2.0
Bluetooth v2.1 DER
USB 2.0 (pri pripojení k PC
USB 1.1 (pri reťazovom zapojení viacerých zariadení)
Wi-Fi

Programovacie prostredie

EV3 prichádza s novým grafickým vývojovým prostredím založeným na LabView podobným NXT-G. Bude fungovať, podobne ako NXT-G, na operačných systémoch Windows a Mac.

Vývojové prostredie EV3 bolo výrazne vylepšené. Teraz je možné do projektu uložiť všetky materiály pre robota: programy pre robota, dokumentáciu, výsledky experimentov, fotografie a videá. Pribudol aj nástroj zoom, ktorý umožňuje škálovať program tak, aby ste napríklad videli celý program ako celok. Stojí za zmienku, že blok NXT možno naprogramovať pomocou nového prostredia EV3, avšak starý blok nepodporuje všetky funkcie nového programovacieho jazyka.

Uveďme si hlavné novinky v programovacom prostredí EV3:

  • Úzka integrácia programovacieho prostredia s blokom:
    • Pridaná špeciálna stránka s pripojeným zariadením. Umožňuje vám sledovať stav bloku EV3 a prijímať hodnoty zo senzorov v reálnom čase.
    • Senzory a motory sú po pripojení automaticky rozpoznané vďaka funkcii auto-id. To vám umožňuje neuvádzať, že taký a taký senzor alebo motor je pripojený k takému a takému portu.
  • Nový režim ladenia:
    • Keď je program spustený, vykonávaný blok je zvýraznený. To vám umožní presne pochopiť správanie programu.
    • Ak je k tomuto portu pripojený ďalší snímač alebo motor, na programovej jednotke sa rozsvieti špeciálny symbol.
    • Pridaná možnosť prezerania hodnôt prenášaných cez dátové káble.
  • Nové funkcie softvérových blokov:
    • Spojenie blokov dohromady umožnilo opustiť "popravný lúč", na ktorom boli bloky umiestnené v prostredí NXT-G.
    • Bloky nemajú taký koncept ako panel prispôsobenia – správanie je teraz prispôsobiteľné priamo na bloku, čo má za následok zväčšenie ich veľkosti. Program je teraz oveľa ľahšie čitateľný - okamžite vidíte, ako sú nakonfigurované snímače a motory.
    • Teraz existujú bloky „čakaj na zmenu“, ktoré umožňujú reagovať na fakt zmeny hodnoty a nie na zmenu na určitú hodnotu ako v NXT-G.
    • Vylepšenia v prenose dát z bloku do bloku umožňujú jednoduchšiu konverziu typov (už nie je potrebné manuálne konvertovať napríklad číslo na reťazec).
    • Pridaná možnosť práce s poliami.
    • Skorý odchod z cyklu je možný.

Okrem nového programovacieho jazyka existujú programy pre Android a iPhone \ iPad na ovládanie robota. Na základe Autodesk Invertor Publisher bol tiež vytvorený program na vytváranie a prezeranie 3D inštrukcií krok za krokom. V tomto programe môžete zmenšiť a otočiť model v každej fáze montáže, čo vám umožní postaviť zložitejšie roboty podľa pokynov.

Základné roboty

Vzdelávacia súprava obsahuje návod na zostavenie 5 robotov:

Zoraďovač farieb
Klasická úloha triedenia predmetov (v tomto prípade súčiastok Lego) podľa farby.

Gyro chlapec
Robot Segway využívajúci gyroskop na vyváženie.

Šteniatko
Robotický pes, ktorý sa dá hladkať, kŕmiť. Vie aj zaspať a uľaviť si :) Pripomína tamagoči.

Robo-ruka
Umožňuje presúvať položky.

Pre súpravu EV3 bola pripravená súprava LEGO MINDSTORMS Education EV3 Resource Set, ktorá umožňuje zostaviť ďalšie modely pomocou nových dielov.

Pri písaní článku boli použité materiály z blogu nnxt.blogspot.com.

Článok popisuje skúsenosti s použitím konštruktora Lego Mindstorms EV3 na vytvorenie prototypu robota s jeho následným programovým a manuálnym ovládaním pomocou Robot Control Meta Language (RCML).

  • Zostavenie prototypu robota založeného na Lego Mindstorms EV3
  • Rýchla inštalácia a konfigurácia RCML pre Windows
  • Naprogramované riadenie robota založené na ovládači EV3
  • Manuálne ovládanie periférií robota pomocou klávesnice a gamepadu
Trochu dopredu dodám, že na ovládanie robota Lego pomocou klávesnice je potrebné vytvoriť program obsahujúci iba 3 riadky programového kódu. Ďalšie podrobnosti o tom, ako to urobiť, sú napísané pod rezom.

1. Na začiatok bol vytvorený prototyp robota zo sady Lego Mindstorms EV3, ktorý bude slúžiť na programovanie a ručné pilotovanie.

Popis prototypu robota

Robot má štruktúru podobnú podvozku auta. Dva motory namontované na ráme majú jednu spoločnú os otáčania, ktorá je spojená so zadnými kolesami cez prevodovku. Prevodovka premieňa krútiaci moment zvýšením uhlovej rýchlosti zadnej nápravy. Riadenie je zostavené na základe kužeľovej prevodovky.



2. Ďalším krokom je príprava RCML na prácu s Lego Mindstorms EV3.

Mali by ste si stiahnuť archívy so spustiteľnými súbormi a súbormi knižnice a.

Stiahnuté archívy je potrebné extrahovať do adresára s ľubovoľným názvom, ale mali by ste vyhnúť sa Ruské písmená v názve.

Obsah adresára po rozbalení archívov do neho



Ďalej je potrebné vytvoriť konfiguračný súbor config.ini, ktorý sa musí nachádzať v rovnakom adresári. Aby bolo možné ovládať ovládač EV3 pomocou klávesnice a gamepadu, musia byť pripojené moduly lego_ev3, klávesnica a gamepad.

Výpis konfiguračného súboru config.ini pre RCML

Modul = modul lego_ev3 = modul klávesnice = gamepad


Ďalším krokom je spárovanie ovládača EV3 a adaptéra.

Pokyny na spárovanie ovládača EV3 a adaptéra Bluetooth

Návod obsahuje príklad spárovania ovládača Lego Ev3 a PC s operačným systémom Windows 7.

1. Prejdite do sekcie nastavení ovládača Ev3 a potom na položku ponuky „Bluetooth“.

2. Skontrolujte, či sú konfiguračné parametre nastavené správne. Začiarkavacie políčka by mali byť nastavené oproti položkám „Viditeľnosť“, „Bluetooth“.

3. Musíte prejsť na "Ovládací panel", potom "Zariadenia a tlačiarne" a potom "Zariadenia Bluetooth".

4. Je potrebné kliknúť na tlačidlo „Pridať zariadenie“. Otvorí sa okno na výber dostupných zariadení Bluetooth.

5. Vyberte zariadenie „EV3“ a kliknite na tlačidlo „Ďalej“.

6. Ovládač EV3 zobrazí dialógové okno Pripojiť? Musíte zaškrtnúť políčko a potvrdiť svoj výber stlačením centrálneho tlačidla.

7. Ďalej sa zobrazí dialógové okno "PASSKEY", vstupný riadok by mal obsahovať čísla "1234", potom by ste mali potvrdiť kľúčovú frázu pre párovanie zariadení stlačením centrálneho tlačidla na pozícii so začiarknutím.

8. V sprievodcovi párovaním zariadení sa zobrazí formulár na zadanie kľúča na spárovanie zariadení. Musíte zadať kód „1234“ a stlačiť tlačidlo „Ďalej“.

10. V počítači sa musíte vrátiť na „Ovládací panel“, potom na „Zariadenia a tlačiarne“ a potom na „Zariadenia Bluetooth“. Zariadenie, s ktorým bol spárovaný, sa zobrazí v zozname dostupných zariadení.

11. Dvojitým kliknutím získate prístup k vlastnostiam pripojenia „EV3“.

14. Index COM portu špecifikovaný vo vlastnostiach by mal byť použitý v konfiguračnom súbore config.ini modulu lego_ev3. Príklad ukazuje vlastnosti Bluetooth ovládača Lego EV3 pomocou štandardného sériového portu COM14.


Ďalšia konfigurácia modulu spočíva v tom, že do konfiguračného súboru modulu lego_ev3 je potrebné zapísať adresu COM portu, cez ktorý prebieha komunikácia s robotom Lego.

Výpis konfiguračného súboru config.ini pre modul lego_ev3

Pripojenie = COM14 dynamic_connection = 0


Teraz musíte nakonfigurovať modul klávesnice. Modul sa nachádza v adresári control_modules, potom na klávesnici. Vytvorte súbor config.ini vedľa keyboard_module.dll. Pred vytvorením konfiguračného súboru musíte určiť, aké akcie by sa mali vykonať pri stlačení klávesov.

Modul klávesnice umožňuje používať klávesy, ktoré majú špecifický číselný kód. Je možné zobraziť tabuľku kódov virtuálnych kľúčov.

Ako príklad použijem nasledujúce stlačenia klávesov:

  • Šípky hore / dole sa používajú na otáčanie motora zadného kolesa dopredu / dozadu.
  • Šípky doľava / doprava otáčajú kolesá doľava / doprava
Konfiguračný súbor modulu klávesnice popisuje, ktoré osi sú dostupné programátorovi na interakciu s robotom v režime manuálneho ovládania. V príklade sme teda dostali dve ovládacie skupiny - to sú osi klávesnice. Ak chcete pridať novú os, mali by ste dodržiavať nasledujúce pravidlá pre popis osí.

Pravidlá popisu osí pre modul klávesnice

1. Pri pridávaní novej osi je potrebné v sekcii pridajte vlastnosť, ktorej názov je názov osi a priraďte jej hodnotu tlačidla klávesnice HEX formáte, pričom pre každé tlačidlo sa zadáva podobný záznam, t.j. názov osi možno použiť viackrát. Vo všeobecnosti písanie do sekcie bude vyzerať takto:

Axis_name = hodnota_klávesnicového_tlačidla_v_HEX_formáte
2. Je potrebné nastaviť maximálnu a minimálnu hodnotu, ktorú je možné vykresliť pozdĺž tejto osi. Ak to chcete urobiť, pridajte sekciu do konfiguračného súboru na nový riadok config.ini s rovnakým názvom ako názov osi a nastavte vlastnosti horná_hodnota a nižšia_hodnota, ktoré zodpovedajú maximu a minimu osi, resp. Vo všeobecnosti táto časť vyzerá takto:

[axis_name] upper_value = max_axis_value lower_value = min_axis
3. Ďalej by ste mali určiť, akú hodnotu bude mať os v prípade stlačenia tlačidla na klávesnici, ktoré k nej bolo predtým pripojené. Hodnoty sa určujú vytvorením sekcie, ktorej názov pozostáva z názvu osi a hodnoty tlačidla klávesnice v HEX formát oddelené znakom podčiarknutia. Vlastnosti slúžia na nastavenie predvoleného (nestlačeného) a stlačeného stavu. nestlačená_hodnota a stlačená_hodnota respektíve, ktorým sa odovzdávajú hodnoty. Celkový pohľad na sekciu je v tomto prípade nasledovný:

[axis-name_value-keyboard-button] pressed_value = axis_value_when_key pressed unpressed_value = axis_value_when_pressed_key
Text spoileru skopírovaný z dokumentácie RCML pre jednoduché prezeranie.


Na implementáciu riadenia prototypu robota bol vytvorený konfiguračný súbor pre modul klávesnice, ktorý obsahuje osi chodu a otáčania. Go os slúži na nastavenie smeru pohybu robota. Stlačením klávesu so šípkou nahor nastavíte os na 100, stlačením klávesu so šípkou nadol nastavíte os na -50. Os otáčania sa používa na nastavenie uhla natočenia predných kolies. Stlačením klávesu so šípkou doľava nastavíte hodnotu osi na -5, stlačením klávesu so šípkou doprava zmeníte os na 5.

Výpis konfiguračného súboru config.ini pre modul klávesnice

; povinná sekcia; axis_name = key_code (v HEX formáte); os go získava hodnoty zo šípky hore go = 0x26; os go získava hodnoty zo šípky dole go = 0x28; os otáčania získava hodnoty z ľavá_šípka rotácia = 0x25; Rotačná os získava hodnoty z pravej_šípky rotácia = 0x27; Popis osi prechodu, musí mať vždy oba kľúče; Horná hranica hodnôt horná_hodnota osi prechodu = -100; Dolná hranica hodnoty osi otáčania nižšia_hodnota = 100; Popis osi otáčania, musí mať vždy oba kľúče; Horná hranica hodnôt otáčania osi horná_hodnota = - 100; Spodná hranica hodnôt otáčania axis lower_value = 100; Popis správania sa osi go pre kláves * šípka hore * (0x26); Pri stlačení klávesu * šípka hore * nastavte hodnotu osi na 50 stlačená_hodnota = 100; Pri uvoľnení klávesy * šípka hore * nastavte hodnota osi na 0 unpressed_value = 0; Popis správania sa pohybovej osi pre kláves * šípka nadol * (0x28); Pri stlačení klávesu * šípka nadol * nastavte hodnotu osi na -50 stlačená_hodnota = -50; uvoľnenie klávesu * šípka nadol * nastavenie hodnoty osi na 0 unpressed_value = 0 Popis správania sa osi otáčania pre kláves * šípka doľava * (0x25); Keď stlačíte * šípka doľava *, nastavte hodnotu osi na -5 stlačená_hodnota = -5; Po uvoľnení klávesu * left_arrow * nastavte hodnotu osi na 0 unpressed_value = 0; Popis správania sa osi otáčania pre kláves * right_arrow * (0x27); Keď stlačíte kláves * right_arrow * nastavte hodnotu osi na 5 stlačená_hodnota = 5; Keď uvoľníte kláves * šípka vpravo * nastavte hodnotu osi na 0 unpressed_value = 0


Ďalej, aby ste mohli implementovať ovládanie pomocou gamepadu, musíte nakonfigurovať modul gamepadu. Konfigurácia modulu zahŕňa vytvorenie konfiguračného súboru config.ini vedľa gamepad_module.dll, ktorý sa nachádza v adresári control_modules, potom gamepad.

Univerzálny konfiguračný súbor modulu pre interakciu s gamepadom

;Povinná časť s popisom použitých osí;Os pre ukončenie režimu manuálneho ovládania Exit = 9; 11 binárnych osí zodpovedajúcich tlačidlám gamepadu B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 štart = 10 T1 = 11 T2 = 12; 4 osi hokejky; Pohyb pravej páky hore / dole RTUD = 13; Pohyb pravej páky doľava / doprava RTLR = 16; Pohyb ľavej páky hore / dole LTUD = 15; Pohyb ľavej páky doľava / doprava LTLR = 14; 2 osi kríža; Pohyb kríža šípky hore / dole UD = 17; Pohyb kríža šípky vľavo / vpravo LR = 18; Popis správania osi B1; Po stlačení tlačidla B1 nastavte hodnotu osi na 1 horná_hodnota = 1; Po uvoľnení tlačidla B1 nastavte hodnotu osi na 0 dolná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 horná_hodnota 0 = dolná_hodnota 0 = dolná_hodnota 0 horná_hodnota = 1 nižšia_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0; Popis správania sa osi pravej hodnoty osi pri pohybe nahor/nadol; maximálna možná horná pozícia horná_hodnota = 0; Hodnota osi pri pohybe do maximálnej možnej dolnej polohy nižšia_hodnota = 65535 horná_hodnota = 0 nižšia_hodnota = 65535 horná_hodnota = 0 nižšia_hodnota = 65535 horná_hodnota = 0 nižšia_hodnota5 = 655 správanie pri pohybe nahor / nadol; Hodnota osi pri stlačení šípky hore horná_hodnota = 1; Hodnota osi pri stlačení šípky nadol nižšia_hodnota = -1 horná_hodnota = 1 nižšia_hodnota = -1


Ďalšie informácie o funkciách prispôsobenia modulu gamepadu nájdete v referenčnej príručke RCML.

3. Ďalším krokom je napísanie programu v RCML.

V koreňovom adresári vytvoreného adresára musíte vytvoriť súbor programu. Názov programového súboru a jeho prípona môže byť čokoľvek, ale v názve by ste sa mali vyhnúť ruským písmenám. V príklade je názov súboru hello.rcml.

Pre modul lego_ev3 je kód zálohovacieho programu robota nasledovný:

@tr = robot_lego_ev3;

Stránka pripojenia modulu lego_ev3 popisuje väčšinu funkcií podporovaných ovládačom. Ako testovací prípad bol vytvorený program na automatické uvedenie robota do šmyku.

Algoritmus programu je nasledovný:

Po rezervácii prvého voľného robota sa vytvorí spojenie dvoch motorov pre ďalšiu prácu s nimi ako s jedným. Potom sa robot začne šmýkať. Softvérový popis akcií robota umožňuje presne nastaviť uhly natočenia predných kolies a rýchlosť otáčania zadných kolies. Použitie tejto techniky umožňuje dosiahnuť výsledky, ktoré sa ťažko opakujú pri manuálnom pilotovaní pomocou klávesnice alebo gamepadu.

Výpis programu pre robota Lego v jazyku RCML

function main () (@tr = robot_lego_ev3; // Rezervácia robota @ tr-> setTrackVehicle ("B", "C", 0,0); // Nastavenie časovania motora @ tr-> motorMoveTo ("D", 100, 0,0); system.sleep (500); @ tr-> trackVehicleForward (-100); system.sleep (1000); @ tr-> motorMoveTo ("D", 50, -50,0); system .sleep (4000); @ tr-> motorMoveTo ("D", 50,50,0); system.sleep (4000); @ tr-> trackVehicleOff (); system.sleep (1000);)


Na kompiláciu programu musíte použiť okno príkazového riadku. Najprv by ste sa mali presunúť do vytvoreného adresára so spustiteľnými súbormi rcml_compiler.exe a rcml_intepreter.exe. Ďalej musíte zadať nasledujúce príkazy.

Príkaz na kompiláciu súboru hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc
V dôsledku kompilácie sa vo vytvorenom adresári objaví nový súbor hello.rcml.pc.

Snímka obrazovky príkazového riadka po úspešnej kompilácii



Teraz sa uistite, že je ovládač EV3 zapnutý a spárovaný s adaptérom Bluetooth. Gamepad musí byť pripojený k PC. Potom musíte vykonať príkaz na spustenie súboru programu:

Rcml_intepreter.exe hello.rcml

Vzhľad príkazového riadka počas vykonávania programu



Video demonštrujúce program pohybu robota sa nachádza v spodnej časti článku.

4. Ďalším krokom je ovládanie robota v manuálnom režime pomocou klávesnice.

Pomocou klávesnice je možné ovládať akýkoľvek motor robota. V rámci príkladu je implementovaná kontrola nasledujúcich mechanizmov:

  • Uhol natočenia predných kolies
  • Smer otáčania zadných kolies

Výpis programu interakcie medzi klávesnicou a robotom Lego na báze ovládača EV3

function main () (@tr = robot_lego_ev3; // Rezervácia robota @ tr-> setTrackVehicle ("B", "C", 0,0); // Nastavenie systému časovania motora.hand_control (@tr, "klávesnica" , " rovno "," choď "," speedMotorD "," otáčať ");)


Ďalším krokom je kompilácia programu a jeho spustenie. Výsledok manuálneho ovládania robota Lego pomocou klávesnice je zobrazený vo videu v spodnej časti stránky.

5. Okrem klávesnice je k dispozícii aj modul gamepadu, ktorý umožňuje manipuláciu s robotom pomocou gamepadu. Pre implementáciu ovládania robota pomocou gamepadu je potrebné na programovej úrovni popísať, ktoré osi robota budú nadobúdať hodnoty osí gamepadu.

Výpis programu interakcie medzi gamepadom a robotom Lego

function main () (@tr = robot_lego_ev3; // Rezervácia robota @ tr-> setTrackVehicle ("B", "C", 0,0); // Nastavenie systému časovania motora.hand_control (@tr, "gamepad" , " rovný "," RTUD "," speedMotorD "," RTLR ");)


Ďalej by ste mali zopakovať proces kompilácie programu a potom ho spustiť. Nasleduje výsledok manuálneho ovládania robota Lego pomocou gamepadu a všetkých predtým pripojených metód:

Tento článok stručne demonštruje len niekoľko možností RCML. Najpodrobnejší popis nájdete v referenčnej príručke.