LEGO Mindstorms Education EV3 - Recenzia dizajnéra. Prečítajte si najnovšie správy zo sveta Lega – EduCube. LEGO Mindstorms EV3. Hračka Skynet. Domov Ako pridať ďalšie moduly lego ev3

Ak máte akékoľvek otázky, ktoré by ste chceli vedieť o novom dizajnérovi (ako niečo konkrétne funguje, vykonajte experiment so snímačmi alebo motormi) - napíšte nám - vyskúšame vaše návrhy. O EV3 sa tak môžete dozvedieť oveľa viac ešte pred uvedením do predaja.

Teraz to všetko začína recenziou softvér Blok EV3 (firmvér EV3).

Jednou z vlastností novej jednotky je, že jej zapnutie a vypnutie trvá dlho. Z časového hľadiska je proces porovnateľný so zaradením mobilný telefón alebo domáci router, t.j. 20-30 sekúnd. 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é grafické prvky, rozhranie okna. 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 je blok NXT. Na základe prítomnosti rozhrania okna s integrovanými tlačidlami a posuvnými lištami možno predpokladať, že zariadenia ako externé Touchpad teraz to bude dávať ešte väčší zmysel.


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

Navigácia cez načítané programy, 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 vám prechádzať cez objekty systému súborov v bloku. Systém súborov teraz podporuje tradičnú hierarchiu: súbory a adresáre.


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


IN aktuálna verzia Existujú štyri softvérové ​​bloky takýchto aplikácií:

  • Zobraziť senzory
  • Ovládanie motora
  • Diaľkové ovládanie
  • Programovanie na bloku
Štvrtá obrazovka je konfigurácia. Okrem toho základné nastavenia: úroveň zvuku, časovač nečinnosti, zapnutie BlueTooth a WiFi vám umožňuje zistiť informácie o softvéri jednotky:



Výber konkrétnej položky ponuky/aplikácie prebieha pomocou stredného tlačidla na klávesnici. Ak chcete ukončiť akúkoľvek položku ponuky alebo aplikáciu, musíte stlačiť 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. Navyše deklarovaná funkčnosť automatická detekcia senzory vám umožňuje manuálne neindikovať, ktorý senzor je kam pripojený.

V hornej časti sa zobrazujú informácie zo snímačov motora, v spodnej časti sa zobrazujú informácie zo snímačov. V strede obrazovky - informácie o konkrétne zariadenie(V konkrétny prístav), ktoré je možné zvoliť stlačením ovládacích tlačidiel na klávesnici. Informácie zahŕňajú grafické znázornenie senzora, jeho názov a aktuálne hodnoty:

Dotykový senzor:


Gyroskopický senzor:


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


Ultrazvukový snímač vzdialenosti:

Tu, mimochodom, môžete vidieť, že senzor teraz tvrdí, že dokáže merať vzdialenosti s presnosťou na milimetre a minimálna nameraná vzdialenosť je teraz 3 cm.

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


Ďalšou aplikáciou je ovládanie motora. V podstate vám umožňuje používať tlačidlá na otáčanie motorov. 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 nebolo možné vyskúšať, keďže štandardná dodávka edukačnej verzie stavebnice EV3 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é z infračerveného majáku.


Samozrejme, najviac zaujímavá aplikácia je programovanie v bloku. Bol výrazne prepracovaný: 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.


Keď sa otvorí aplikácia na písanie programu, zobrazí sa prázdna slučka vykonávania (vykoná sa iba jedna iterácia) a návrh na vloženie prvého bloku. Pomocou tlačidla "Hore" môžete vložiť blok.


V zobrazenom okne výberu bloku je k dispozícii 17 blokov (6 blokov akcií a 11 blokov čakania) plus akcia vymazania aktuálneho bloku.



Poradie výberu a postupnosť blokov určuje programátor. Neznamená to, že po každom akčnom bloku musí nasledovať blok čakania, ako to bolo predtým v prípade bloku NXT.

Zvolený blok v programe vyzerá takto:


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


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


Napríklad blok čakania udalosti 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 sú ďalšie príklady blokov čakania:

Časový blok čakania (dá sa presne 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. Už nie je potrebné dodržiavať pravidlo, že určité senzory musia byť pripojené k určitým portom.

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


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 neskoršie 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:


Vytvorený program môžete neskôr 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:


USB pripojenie

LEGO Mindstorms EV3 je možné pripojiť k PC alebo inému EV3 cez USB pripojenie. Rýchlosť a stabilita pripojenia v v tomto prípade lepšie ako ktorákoľvek iná metóda vrátane Bluetooth.

LEGO Mindstorms EV3 má dva USB porty.

Komunikácia medzi LEGO EV3 a inými LEGO EV3 blokmi v reťazovom režime.

Režim Daisy chain sa používa na spojenie dvoch alebo viacerých LEGO EV3 kociek.

Tento režim:

  • navrhnutý na prepojenie viac ako jedného LEGO Mindstorms EV3;
  • slúži na pripojenie viac snímače, motory a iné zariadenia;
  • 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 ovládať celý reťazec z hlavného LEGO Mindstorms EV3;
  • nemôže fungovať, keď je aktívny Wi-Fi pripojenie alebo Bluetooth.

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

Keď je zvolený tento režim, potom pre akýkoľvek motor môžeme vybrať blok EV3, ktorý bude použitý, a potrebné snímače.

V tabuľke sú uvedené možnosti použitia blokov EV3:

Akcia

Stredný motor

Veľký motor

Riadenie

Nezávislé riadenie

Gyroskopický

Infračervené

Ultrazvukové

Rotácia motora

Teploty

Merač energií

Zvuk

Pripojenie cez Bluetooth

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

K jednému LEGO Mindstorms EV3 môžete pripojiť až 7 kociek. EV3 Master Brick vám umožňuje odosielať a prijímať správy do každého EV3 Slave. EV3 Slaves môžu posielať správy iba do EV3 Master Brick, nie navzájom.

Sekvencia pripojenia EV3 cez Bluetooth

Ak chcete navzájom spojiť dva alebo viac blokov EV3 cez Bluetooth, musíte vykonať nasledujúce kroky:

1. Otvorte kartu nastavenie.

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. Vykonajte vyššie uvedený postup 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 stredné tlačidlo.

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

Ak urobíte všetko správne, v ľavom hornom rohu sa zobrazí ikona "<>“, pripojte ďalšie bloky EV3 rovnakým spôsobom, ak ich je viac ako dva.

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

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

Príklad programu:

Prvý blok: Keď sa stlačí dotykový senzor, prvý blok EV3 odošle text do druhého bloku s oneskorením 3 sekúnd (hlavný blok).

Príklad programu pre blok 2:

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

Pripojte sa cez Wi-Fi

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

Na používanie Wi-Fi je potrebné nainštalovať špeciálny modul na blok EV3 pomocou USB konektora (Wi-Fi adaptér (Netgear N150 Wireless Adapter (WNA1100), alebo môžete pripojiť Wi-Fi Dongle).

Ak vám rovnako ako nám chýbajú možnosti štandardných snímačov EV3, nestačia vám 4 porty pre snímače vo vašich robotoch alebo chcete k robotovi pripojiť nejaké exotické periférie – tento článok je určený práve vám. Verte mi, podomácky vyrobený snímač pre EV3 je jednoduchší, ako sa zdá. Na experiment sa perfektne hodí „tlačidlo hlasitosti“ zo starého rádia alebo pár klincov zapichnutých do zeme v kvetináči ako snímač pôdnej vlhkosti.

Prekvapivo každý port snímača EV3 skrýva množstvo rôznych protokolov, hlavne kvôli kompatibilite so snímačmi NXT a tretích strán. Pozrime sa, ako funguje kábel EV3


Je to zvláštne, ale červený vodič je uzemnený (GND), zelený vodič je plusom 4,3V napájacieho zdroja. Modrý vodič je SDA pre zbernicu I2C a TX pre protokol UART. Okrem toho je modrý vodič vstupom analógovo-digitálneho prevodníka pre EV3. Žltý vodič je SCL pre zbernicu I2C a RX pre protokol UART. Biely vodič je vstupom analógovo-digitálneho prevodníka pre senzory NXT. Čierny - digitálny vstup, pre senzory kompatibilné s NXT - duplikuje GND. Nie je to ľahké, však? Poďme pekne po poriadku.

Analógový vstup EV3

Každý port snímača má kanál analógovo-digitálneho prevodníka. Používa sa pre senzory ako dotykový senzor (tlačidlo), svetelný senzor NXT a senzor farieb v režime odrazeného svetla a okolitého svetla, zvukový senzor NXT a teplomer NXT.

Odpor 910 ohmov, zapojený podľa schémy, hovorí ovládaču, že tento port musí byť prepnutý do režimu analógového vstupu. V tomto režime môžete k EV3 pripojiť akýkoľvek analógový senzor, napríklad z Arduina. Výmenný kurz s takýmto senzorom môže dosiahnuť niekoľko tisíc dotazov za sekundu, toto je najrýchlejší typ senzora.

Svetelný senzor

Teplomer

Senzor pôdnej vlhkosti

Môžete tiež pripojiť: mikrofón, tlačidlo, IR diaľkomer a mnoho ďalších bežných senzorov. Ak 4,3V napájanie nestačí pre senzor, môžete ho napájať 5V z USB portu umiestneného na boku ovládača EV3.

Vyššie uvedený „gombík hlasitosti“ (tiež známy ako premenný odpor alebo potenciometer) je vynikajúcim príkladom analógového snímača - možno ho pripojiť takto:

Ak chcete čítať hodnoty z takéhoto snímača v štandardnom programovacom prostredí LEGO, musíte použiť modrý blok RAW

I2C protokol

Ide o digitálny protokol, pracuje na ňom napríklad ultrazvukový senzor NXT a mnoho Hitechnic senzorov, ako napríklad IR Seeker alebo Color Sensor V2. Pre iné platformy, napríklad pre Arduino, existuje veľa i2c senzorov, môžete ich tiež pripojiť. Schéma je nasledovná:

Odpor 82 ohmov odporúča LEGO Group, ale rôzne zdroje uvádzajú 43 ohmov alebo menej. V skutočnosti sme sa pokúsili tieto odpory úplne opustiť a všetko funguje, aspoň „na stole“. V skutočnom robote pracujúcom v podmienkach rôznych druhov rušenia by mali byť linky SCL a SDA stále pripojené k napájaciemu zdroju cez odpory, ako je znázornené na obrázku vyššie. Prevádzková rýchlosť i2c v EV3 je pomerne nízka, približne 10 000 kbps, a preto je obľúbený Hitechnic Color Sensor V2 taký pomalý :)

Bohužiaľ, pre štandardný EV3-G od LEGO neexistuje plnohodnotný blok pre obojsmernú komunikáciu so snímačom i2c, ale pomocou programovacích prostredí tretích strán, ako sú RobotC, LeJOS alebo EV3 Basic, môžete komunikovať s takmer všetkými snímačmi i2c. .

Schopnosť EV3 pracovať pomocou protokolu i2c otvára zaujímavú možnosť pripojenia viacerých senzorov k jednému portu. Protokol I2C umožňuje pripojiť až 127 podriadených zariadení na jednu zbernicu. Vieš si predstaviť? 127 senzorov pre každý EV3 port :) Navyše sa často v jednom zariadení kombinuje kopa i2c senzorov, napríklad na fotke nižšie je senzor 10 v 1 (obsahuje kompas, gyroskop, akcelerometer, barometer atď.)

UART

Takmer všetky štandardné non-EV3 senzory, s výnimkou Touch Sensor, fungujú pomocou UART protokolu a preto nie sú kompatibilné s NXT ovládačom, ktorý má síce rovnaké konektory, ale nemá na svojom senzore implementovaný UART prístavov. Pozrite sa na schému, je o niečo jednoduchšia ako v predchádzajúcich prípadoch:

Senzory UART automaticky prispôsobujú rýchlosť svojej činnosti EV3. Najprv sa pripájajú rýchlosťou 2400 kbit/s, dohodnú sa na prevádzkových režimoch a výmenných kurzoch, potom prejdú na zvýšenú rýchlosť. Typické výmenné kurzy pre rôzne senzory sú 38400 a 115200 kbit/s.
LEGO implementovalo do svojich UART senzorov pomerne komplikovaný protokol, takže neexistujú žiadne senzory tretích strán, ktoré by pôvodne neboli určené pre túto platformu, no sú s ňou kompatibilné. Tento protokol je však veľmi vhodný na pripojenie „domácich“
senzory založené na mikrokontroléroch.
Existuje úžasná knižnica pre Arduino s názvom EV3UARTEmulation, ktorú napísal slávny vývojár LeJOS Lawrie Griffiths, čo umožňuje tejto doske predstierať, že ide o snímač kompatibilný s UART-LEGO. Jeho blog LeJOS News obsahuje množstvo príkladov pripojenia plynových senzorov, senzora IMU a digitálneho kompasu pomocou tejto knižnice.

Nižšie vo videu je príklad použitia domáceho senzora. Nemáme dostatok originálnych LEGO snímačov vzdialenosti, takže na robota používame podomácky vyrobený:


Úlohou robota je začať od zelenej bunky, nájsť cestu von z bludiska (červená bunka) a vrátiť sa do východiskového bodu najkratšou cestou bez toho, aby sa dostal do slepých uličiek.

Článok popisuje skúsenosti s použitím konštruktora Lego Mindstorms EV3 na vytvorenie prototypu robota s jeho následným softvérový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
  • Softvérové ​​riadenie robota na báze ovládača EV3
  • Manuálne ovládanie periférií robota pomocou klávesnice a gamepadu
Keď sa pozriem trochu dopredu, dodám, že na implementáciu ovládania 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 z konštruktéra Lego Mindstorms EV3, ktorý bude slúžiť na programovanie a manuálne pilotovanie.

Popis prototypu robota

Robot má dizajn 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ľového prevodu.



2. Ďalším krokom je príprava RCML na prácu s konštruktorom 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 musia byť extrahované 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. Ak chcete implementovať možnosť ovládať ovládač EV3 pomocou klávesnice a gamepadu, musíte pripojiť 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


Ďalej je potrebné spárovať ovládač EV3 a adaptér.

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

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

1. Musíte prejsť do sekcie nastavení ovládača Ev3 a potom do položky ponuky „Bluetooth“.

2. Skontrolujte, či sú konfiguračné parametre správne nastavené. Políčka „Viditeľnosť“, „Bluetooth“ musia byť začiarknuté.

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

4. Musíte 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 „Connect?“. Musíte začiarknuť políčko a potvrdiť svoj výber stlačením stredného tlačidla.

7. Ďalej sa zobrazí dialógové okno „PASSKEY“, vo vstupnom riadku by mali byť uvedené čísla „1234“, potom by ste mali potvrdiť kľúčovú frázu pre párovanie zariadení stlačením stredného 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 pá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“. V zozname dostupných zariadení sa zobrazí zariadenie, s ktorým bolo spárované.

11. Dvojitým kliknutím prejdete na vlastnosti 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 pripojenia 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. Mali by ste vytvoriť konfiguračný súbor config.ini vedľa súboru keyboard_module.dll. Pred vytvorením konfiguračného súboru musíte určiť, aké akcie sa majú vykonať pri stlačení klávesov.

Modul klávesnice umožňuje používať klávesy, ktoré majú špecifický číselný kód. Môžete si pozrieť 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 má programátor k dispozícii na interakciu s robotom v režime manuálneho ovládania. V príklade sú teda dve ovládacie skupiny - to sú osi klávesnice. Ak chcete pridať novú os, musíte dodržiavať nasledujúce pravidlá pre popis osí.

Pravidlá pre popis 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 a pre každé tlačidlo sa vytvorí podobný záznam, t.j. názov osi možno použiť viackrát. Vo všeobecnosti písanie do sekcie bude vyzerať takto:

Názov osi = hodnota_tlačidla_klávesnice vo formáte_HEX_HEX
2. Je potrebné nastaviť maximálnu a minimálnu hodnotu, ktorú je možné vykresliť pozdĺž tejto osi. Ak to chcete urobiť, musíte pridať sekciu do konfiguračného súboru na nový riadok config.ini, rovnaký 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 sekcia vyzerá takto:

[názov_osi] horná_hodnota = maximálna_hodnota_osi_dolná_hodnota = minimálna_hodnota_osi
3. Ďalej musíte určiť, akú hodnotu bude mať os, ak stlačíte tlačidlo 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é podčiarkovníkom. Ak chcete nastaviť predvolený (nestlačený) a stlačený stav, použite vlastnosti nestlačená_hodnota A stlačená_hodnota respektíve, do ktorých sa hodnoty prenášajú. Celkový pohľad na sekciu v tomto prípade vyzerá takto:

[axis-name_keyboard-value] pressed_value = axis_value when_press_key_pressed_unpressed_value = axis_value_when_key_pressed
Text spojlera je skopírovaný z dokumentácie RCML kvôli ľahšiemu prezeraniu.


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. Keď stlačíte kláves „šípka hore“, os dostane hodnotu 100, keď stlačíte kláves „šípka dole“, os dostane hodnotu -50. Os otáčania sa používa na nastavenie uhla natočenia predných kolies. Keď stlačíte ľavú šípku, hodnota osi bude -5, keď stlačíte pravú šípku, hodnota osi bude 5.

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

;Požadovaná sekcia ;axis_name = key_code (v HEX formáte) ;go axis prijíma hodnoty zo šípky hore go = 0x26 ;go axis prijíma hodnoty z go_arrow_arrow = 0x28 ;rotate os prijíma hodnoty zo šípky vľavo rotácia = 0x25 ;rotácia osi prijíma hodnoty zo šípky vpravo rotovať = 0x27 ;Popis osi prechodu, musí mať vždy oba kľúče ;Horný limit hodnôt osi prechodu horná_hodnota = -100 ;Dolný limit hodnôt osi prechodu dolná_hodnota = 100 ;Popis os otáčania, musí mať vždy oba kľúče;Horná hranica hodnôt osi otáčania horná_hodnota = - 100 ;Dolná hranica hodnôt osí otáčanie dolná_hodnota = 100 ;Popis správania sa osi go pre kláves *šípka_nahor* (0x26 ) ;Pri stlačení klávesu *šípka_nahor* nastavte hodnotu osi na 50 stlačená_hodnota = 100 ;Po uvoľnení klávesu *šípka_nahor* nastavte hodnotu osi na 0 nestlačená_hodnota = 0 ;Popis správania sa osi pre pohyb *šípka_nadol * kláves (0x28) ;Pri stlačení klávesu *šípka_nadol* nastavte hodnotu osi na -50 stlačená_hodnota = -50 ;Pri uvoľnení klávesu *šípka_nadol* nastavte hodnotu osi na 0 nestlačená_hodnota = 0 ;Popis správania osi otáčania pre kláves *šípka_vľavo* (0x25) ;Pri stlačení klávesu *šípka_vľavo* nastavte hodnotu osi na -5 stlačená_hodnota = -5 ;Pri uvoľnení klávesu *šípka_doľava* nastavte hodnotu osi na 0 nestlačená_hodnota = 0 ;Popis správanie osi otáčania pre kláves *šípka_vpravo* (0x27) ;Pri stlačení klávesu *šípka_vpravo* nastavte hodnotu osi na 5 stlačená_hodnota = 5 ;Pri uvoľnení klávesu *šípka_vpravo* nastavte hodnotu osi na 0 nestlačená_hodnota = 0


Ďalej, ak chcete 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

;Požadovaná časť s popisom použitých osí ;Os na ukončenie režimu manuálneho ovládania Výstup = 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;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/doleUD = 17 ;Pohyb kríža šípky vľavo/vpravoLR = 18 ;Popis správania sa osi B1;Pri stlačení tlačidla B1 nastavte hodnotu osi na 1 horná_hodnota = 1;Pri uvoľnení tlačidla B1 nastavte hodnotu osi na 0 nižšia_hodnota = 0 horná_hodnota = 1 dolná_hodnota = 0 horná_hodnota = 1 dolná_hodnota = 0 horná_hodnota = 1 dolná_hodnota = 0 horná_hodnota = 1 dolná_hodnota = 0 horná_hodnota = 1 horná_hodnota = 1 horná_hodnota 1 nižšia_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 horná_hodnota = 1 spodná_hodnota = 0 ;Popis správania sa pravej osi páčky pri pohybe nahor/nadol k osi možná horná pozícia horná_hodnota = 0 ;Hodnota osi pri presune do maximálnej možnej dolnej polohy dolná_hodnota = 65535 horná_hodnota = 0 dolná_hodnota = 65535 horná_hodnota = 0 dolná_hodnota = 65535 horná_hodnota = 0 dolná_hodnota = 65535 správanie Dxi up-535 /pohyb nadol ;Hodnota osi pri stlačení šípky hore horná_hodnota = 1 ;Hodnota osi pri stlačení šípky dole dolná_hodnota = -1 horná_hodnota = 1 dolná_hodnota = -1


Ďalšie informácie o špecifikách nastavenia modulu gamepadu sú zobrazené 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. Názov súboru použitý v príklade je hello.rcml.

Pre modul lego_ev3 má rezervačný kód robota nasledujúci tvar:

@tr = robot_lego_ev3;

Stránka pripojenia modulu lego_ev3 popisuje väčšinu funkcií podporovaných ovládačom. Ako testovací príklad 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 medzi oboma motormi pre následnú prácu s nimi, akoby boli jedným. Potom robot začne vykonávať drifty. Softvérový popis činností robota vám umožňuje presne nastaviť uhly natočenia predných kolies a rýchlosť otáčania zadných kolies. Použitie tejto techniky vám 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; //Rezervovať robota @tr->setTrackVehicle("B","C",0,0); //Nastavenie synchronizácie motora @tr->motorMoveTo("D",100 , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); system. spánok (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); )


Na kompiláciu programu musíte použiť príkazový riadok okna. 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 riadku po úspešnej kompilácii



Teraz sa musíte uistiť, že ovládač EV3 je 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 riadku počas vykonávania programu



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

4. Ďalším krokom je manuálne ovládanie robota pomocou klávesnice.

Pomocou klávesnice môžete ovládať akýkoľvek motor robota. Príklad implementuje riadenie nasledujúcich mechanizmov:

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

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

function main() ( @tr = robot_lego_ev3; //Rezervujte robota @tr->setTrackVehicle("B","C",0,0); //Nastavenie systému synchronizácie motora.hand_control(@tr,"keyboard", "rovno", "choď", "speedMotorD","otočiť"); )


Ďalej musíte program skompilovať a spustiť. 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 dostupný aj modul gamepadu, ktorý umožňuje manipuláciu s robotom pomocou gamepadu. Pre implementáciu ovládania robota pomocou gamepadu je potrebné na úrovni programu popísať, ktoré osi robota budú nadobúdať hodnoty osí gamepadu.

Výpis programu na interakciu medzi gamepadom a robotom Lego

function main() ( @tr = robot_lego_ev3; //Rezervujte robota @tr->setTrackVehicle("B","C",0,0); //Nastavenie synchronizácie motora system.hand_control(@tr,"gamepad", "priamy", "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 niektoré z možností RCML. Najpodrobnejší popis nájdete v referenčnej príručke.

Popis prezentácie po jednotlivých snímkach:

1 snímka

Popis snímky:

2 snímka

Popis snímky:

Rozhranie EV3 Brick EV3 Brick je riadiace centrum, ktoré poháňa vaše roboty. Pomocou obrazovky, ovládacích tlačidiel Brick a rozhrania EV3 Brick, ktoré obsahuje štyri hlavné okná, máte prístup k úžasnému množstvu jedinečných funkcií EV3 Brick. Môžu to byť jednoduché funkcie, ako je spustenie a zastavenie programu, alebo zložité, ako je písanie samotného programu.

3 snímka

Popis snímky:

Rozhranie: Ponuka EV3 má ponuku, ktorá sa skladá zo 4 častí: Nedávne programy Navigácia v súboroch Aplikácie Brick Nastavenia Brick

4 snímka

Popis snímky:

Nedávne programy Spustite programy nedávno stiahnuté z vášho stolného počítača. Toto okno zostane prázdne, kým nezačnete sťahovať a spúšťať programy. V tomto okne sa zobrazia programy, ktoré ste nedávno spustili. Program v hornej časti zoznamu, ktorý je predvolene vybratý, je program, ktorý bol spustený ako posledný.

5 snímka

Popis snímky:

Správca súborov Prístup a správa všetkých súborov uložených v pamäti mikropočítača, ako aj na pamäťovej karte. Z tohto okna budete pristupovať a spravovať všetky súbory vo vašej EV3 Brick, vrátane súborov uložených na SD karte. Súbory sú usporiadané do priečinkov projektu, ktoré okrem skutočných programových súborov obsahujú aj zvuky a obrázky použité v každom projekte. Súbory je možné presúvať alebo mazať pomocou navigátora súborov. Programy vytvorené pomocou programovacieho prostredia modulov a aplikácií na zaznamenávanie údajov modulu sú uložené oddelene v priečinkoch BrkProg_SAVE a BrkDL_SAVE.

6 snímka

Popis snímky:

EV3 Control Box Applications má 4 predinštalované aplikácie: A. Port View. B. Ovládanie motora. B. IR ovládanie. D. Modulové programovacie prostredie.

7 snímka

Popis snímky:

A. Port View V prvom okne aplikácie Port View môžete rýchlo vidieť, ku ktorým portom sú pripojené senzory alebo motory. Pomocou ovládacích tlačidiel EV3 Brick prejdite na jeden z obsadených portov a uvidíte aktuálne hodnoty zo senzora alebo motora. Nainštalujte niekoľko snímačov a motorov a experimentujte s rôznymi nastaveniami. Ak chcete zobraziť alebo zmeniť aktuálne nastavenia pre nainštalované motory a snímače, stlačte stredné tlačidlo. Ak sa chcete vrátiť do hlavného okna aplikácie modulu, kliknite na tlačidlo „Späť“.

8 snímka

Popis snímky:

B. Ovládanie motora Ovládanie pohybu dopredu alebo dozadu akéhokoľvek motora pripojeného k jednému zo štyroch výstupných portov. Existujú dva rôzne režimy. V jednom režime budete môcť ovládať motory pripojené k portu A (pomocou tlačidiel Hore a Dole) a k portu D (pomocou tlačidiel Doľava a Doprava). V druhom režime ovládate motory pripojené k portu B (pomocou tlačidiel Hore a Dole) a portu C (pomocou tlačidiel Doľava a Doprava). Prepínanie medzi týmito dvoma režimami sa vykonáva pomocou centrálneho tlačidla. Ak sa chcete vrátiť do hlavného okna aplikácie modulu, kliknite na tlačidlo „Späť“.

Snímka 9

Popis snímky:

IR ovládanie Ovládanie pohybu dopredu alebo dozadu akéhokoľvek motora pripojeného k jednému zo štyroch výstupných portov pomocou diaľkového infračerveného majáku ako diaľkového ovládača a infračerveného senzora ako prijímača (infračervený senzor musí byť pripojený k portu 4 na EV3 Brick) . Existujú dva rôzne režimy. V jednom režime budete používať kanály 1 a 2 na diaľkovom infračervenom majáku. Na kanáli 1 budete môcť ovládať motory pripojené k portu B (pomocou tlačidiel 1 a 2 na diaľkovom IR majáku) a portu C (pomocou tlačidiel 3 a 4 na diaľkovom IR majáku). Na kanáli 2 budete môcť ovládať motory pripojené k portu A (pomocou tlačidiel 1 a 2) a k portu D (pomocou tlačidiel 3 a 4). V inom režime môžete motory ovládať rovnakým spôsobom pomocou kanálov 3 a 4 na diaľkovom infračervenom majáku. Prepínanie medzi týmito dvoma režimami sa vykonáva pomocou centrálneho tlačidla. Ak sa chcete vrátiť do hlavného okna aplikácie modulu, kliknite na tlačidlo „Späť“.

10 snímka

Popis snímky:

Programovacie prostredie Brick Brick Brick sa dodáva so softvérom, ktorý je na ňom nainštalovaný. Aplikácia je podobná softvéru nainštalovanému vo vašom počítači. Tieto pokyny obsahujú základné informácie, ktoré potrebujete, aby ste mohli začať.

11 snímka

Popis snímky:

Nastavenia tehly EV3 Toto okno vám umožňuje zobraziť a upraviť rôzne všeobecné nastavenia v tehličke EV3.

12 snímka

Popis snímky:

Nastavenie hlasitosti Hlasitosť môžete zvýšiť alebo znížiť na karte Nastavenia v EV3.

Snímka 13