LEGO Mindstorms Education EV3 — dizainera apskats. Lasiet jaunākās ziņas no Lego pasaules — EduCube. LEGO Mindstorms EV3. Rotaļlieta Skynet. Sākums Kā pievienot papildu lego ev3 moduļus

Ja jums ir kādi jautājumi, kurus vēlaties uzzināt par jauno dizaineru (kā darbojas kaut kas konkrēts, veiciet eksperimentu ar sensoriem vai motoriem) - rakstiet mums - mēs izmēģināsim jūsu ieteikumus. Tādā veidā jūs varat uzzināt daudz vairāk par EV3 pat pirms tā nonākšanas pārdošanā.

Tagad viss sākas ar pārskatīšanu programmatūra EV3 bloks (EV3 programmaparatūra).

Viena no jaunās ierīces iezīmēm ir tā, ka tās ieslēgšana un izslēgšana prasa ilgu laiku. Laika ziņā process ir salīdzināms ar iekļaušanu Mobilais telefons vai mājas maršrutētājs, t.i. 20-30 sekundes. Pēc ieslēgšanas tiek parādīta šāda izvēlne:


Kā redzat, salīdzinot ar NXT bloku, daudz kas ir mainījies: uzlabojusies fontu kvalitāte, vairāk zīmēts grafiskie elementi, logu interfeiss. Pirmkārt, tas ir saistīts ar to, ka tagad ir palielinājies ekrāna izmērs - tas ir kļuvis 178 x 128 pikseļi, nevis 100 x 64, kā NXT blokam. Pamatojoties uz loga interfeisa klātbūtni ar iebūvētām pogām un ritjoslām, var pieņemt, ka tādas ierīces kā ārējais Skārienpaliktnis tagad pat būs lielāka jēga.


No pirmā loga iespējams izsaukt blokā ielādētās programmas, kā arī programmas, kas izveidotas tieši uz bloka. Tie. lai palaistu programmu, tagad ir jāveic mazāk klikšķu nekā uz NXT bloka.

Navigācija pa ielādētajām programmām, kā arī uz otro un nākamajiem ekrāniem (izvēlnes vienumiem) tiek veikta, izmantojot vadības pogas, no kurām tagad ir 4.


Otrais ekrāns - ļauj pārvietoties pa failu sistēmas objektiem blokā. Failu sistēma tagad atbalsta tradicionālo hierarhiju: failus un direktorijus.


Trešajā ekrānā ir apakšizvēlne - lietojumprogrammas, kas ļauj veikt dažādas darbības ar bloku:


IN pašreizējā versija Ir četri šādu lietojumprogrammu programmatūras bloki:

  • Skatīt sensorus
  • Motora vadība
  • Tālvadība
  • Programmēšana uz bloka
Ceturtais ekrāns ir konfigurācija. Turklāt pamata iestatījumi: skaņas līmenis, neaktivitātes taimeris, ieslēdzot Bluetooth un WiFi, ļauj uzzināt informāciju par ierīces programmatūru:



Konkrēta izvēlnes elementa/lietojumprogrammas atlase notiek, izmantojot tastatūras vidējo pogu. Un, lai izietu no jebkura izvēlnes vienuma vai lietojumprogrammas, jums jānospiež poga “Iziet”, kas tagad atrodas atsevišķi no galvenajām pogām - kreisajā pusē zem ekrāna.

Tagad jums vajadzētu atgriezties trešajā ekrānā un sākt iepazīties ar lietojumprogrammām. Tātad, lietojumprogramma "View sensors" (Port View).

Atšķirībā no līdzīga režīma NXT blokā, tagad varat redzēt informāciju par visām 8 ierīcēm, kas savienotas ar bloku vienlaikus. Turklāt deklarētā funkcionalitāte automātiska noteikšana sensori ļauj manuāli nenorādīt, kurš sensors kur ir pievienots.

Informācija no motora kodētājiem tiek parādīta augšpusē, informācija no sensoriem tiek parādīta apakšā. Ekrāna centrā - informācija par konkrēta ierīce(V konkrēta osta), ko var atlasīt, nospiežot tastatūras vadības pogas. Informācija ietver sensora grafisko attēlojumu, tā nosaukumu un pašreizējos rādījumus:

Pieskāriena sensors:


Žiro sensors:


Krāsu sensors atstarotās gaismas režīmā:


Ultraskaņas attāluma sensors:

Šeit, starp citu, var redzēt, ka sensors tagad apgalvo, ka var izmērīt attālumus ar milimetru precizitāti, un minimālais izmērītais attālums tagad ir 3 cm.

Informācija no kreisā motora kodētāja.


Nākamais pielietojums ir motora vadība. Būtībā tas ļauj izmantot pogas, lai pagrieztu motorus. Ar centrālo pogu jums jāizvēlas, kurus motorus griezt. Un pēc tam izmantojiet pogu pārus uz augšu un uz leju vai pa kreisi un pa labi, lai pagrieztu konkrētus motorus.


Trešo lietojumprogrammu izmēģināt nebija iespējams, jo EV3 komplekta izglītojošās versijas standarta komplektācijā nav iekļauts infrasarkanais attāluma sensors un infrasarkanā bāka. Bet acīmredzot šajā ekrānā varat konfigurēt, kuri motori tiks vadīti no infrasarkanās bākas.


Protams, visvairāk interesants pieteikums ir programmēšana uz bloka. Tas ir būtiski pārveidots: programma tagad var saturēt līdz 16 programmas elementiem (blokiem), un izveidotās programmas var saglabāt un, protams, atkārtoti atvērt modificēšanai.


Kad tiek atvērta programmas rakstīšanas lietojumprogramma, tiek parādīta tukša izpildes cilpa (tiks izpildīta tikai viena iterācija) un priekšlikums ievietot pirmo bloku. Bloku var ievietot, izmantojot pogu "Uz augšu".


Parādītajā bloku atlases logā ir pieejami 17 bloki (6 darbību bloki un 11 gaidīšanas bloki), kā arī pašreizējā bloka dzēšanas darbība.



Bloku atlases secību un secību nosaka programmētājs. Tas nenozīmē, ka pēc katra darbības bloka ir jābūt gaidīšanas blokam, kā tas bija iepriekš ar NXT bloku.

Programmā atlasītais bloks izskatās šādi:


Bloka darbību var norādīt, nospiežot centrālo pogu. Šim blokam, piemēram, varat mainīt robota griešanās leņķi un virzienu vai vispār apturēt motorus (piemēram, pēc iepriekšējā gaidīšanas bloka).


Pārvietojot “kursoru” pa kreisi vai pa labi, varat ievietot citu bloku:


Piemēram, attāluma sensora notikumu gaidīšanas bloks:


Un mainiet tā uzvedību (notikums notiks, ja attālums būs lielāks par 60 cm):


Blokus var ievietot starp esošajiem blokiem vai pat programmas sākumā.


Šeit ir vairāk gaidīšanas bloku piemēru:

Laika gaidīšanas bloks (jūs varat precīzi iestatīt, cik ilgi gaidīt):


Vai arī bloks notikuma gaidīšanai no žiroskopiskā sensora (varat iestatīt sensora griešanās leņķi).


Vēlreiz jāatzīmē, ka sensora automātiskās noteikšanas funkcionalitāte vienkāršo programmēšanas procesu ierīcē. Vairs nav jāievēro noteikums, ka noteiktiem sensoriem jābūt savienotiem ar noteiktiem portiem.

Ja programma ir jāizpilda vairākas reizes, vadības cilpas iterāciju skaitu var mainīt:


Programma tiek palaista, izvēloties pašu pirmo bloku:


Palaižot programmu, ekrānā tiks parādīts:


Programmu var saglabāt, un jūs varat norādīt faila nosaukumu vēlākai meklēšanai:



Burti tiek atlasīti, izmantojot tastatūru (sveiki, skārienpaliktnis!)

Ja mēģināsit aizvērt nesaglabātu programmu, tiks parādīts šāds ne pārāk skaidrs ziņojums un atskanēs nepatīkama skaņa:


Vēlāk varat atvērt izveidoto programmu un veikt tajā izmaiņas.


Protams, tiek atvērtas tikai blokā izveidotās programmas.

Nobeigumā es vēlos parādīt, kā izskatās bloka izslēgšana:


USB savienojums

LEGO Mindstorms EV3 var savienot ar datoru vai citu EV3, izmantojot USB savienojumu. Savienojuma ātrums un stabilitāte iekšā šajā gadījumā labāk nekā jebkura cita metode, tostarp Bluetooth.

LEGO Mindstorms EV3 ir divi USB porti.

Komunikācija starp LEGO EV3 un citiem LEGO EV3 klucīšiem margrietiņu ķēdes režīmā.

Margrietiņu ķēdes režīms tiek izmantots, lai savienotu divus vai vairākus LEGO EV3 blokus.

Šis režīms:

  • izstrādāts, lai savienotu vairāk nekā vienu LEGO Mindstorms EV3;
  • kalpo savienojumam vairāk sensori, motori un citas ierīces;
  • ļauj sazināties starp vairākiem LEGO Mindstorms EV3 (līdz 4), kas dod mums līdz 16 ārējiem portiem un tikpat daudz iekšējo portu;
  • ļauj kontrolēt visu ķēdi no galvenā LEGO Mindstorms EV3;
  • nevar darboties, kad tas ir aktīvs Wi-Fi savienojums vai Bluetooth.

Lai iespējotu ķēdes savienojuma režīmu, atveriet projekta iestatījumu logu un atzīmējiet izvēles rūtiņu.

Kad šis režīms ir izvēlēts, tad jebkuram motoram varam izvēlēties EV3 bloku, kas tiks izmantots un nepieciešamos sensorus.

Tabulā parādītas EV3 bloku izmantošanas iespējas:

Darbība

Vidējs motors

Liels motors

Stūrēšana

Neatkarīga vadība

Žiroskopisks

Infrasarkanais

Ultraskaņas

Motora rotācija

Temperatūras

Enerģijas skaitītājs

Skaņa

Savienojums, izmantojot Bluetooth

Bluetooth ļauj LEGO Mindstorms EV3 izveidot savienojumu ar datoru, citiem LEGO Mindstorms EV3, viedtālruņiem un citām Bluetooth ierīcēm. Sakaru diapazons, izmantojot Bluetooth, ir līdz 25 m.

Vienam LEGO Mindstorms EV3 var savienot līdz pat 7 klucīšiem. EV3 Master Brick ļauj nosūtīt un saņemt ziņojumus katram EV3 Slave. EV3 Slave var sūtīt ziņojumus tikai uz EV3 Master Brick, nevis viens otram.

EV3 savienojuma secība, izmantojot Bluetooth

Lai savienotu divus vai vairākus EV3 blokus savā starpā, izmantojot Bluetooth, jums jāveic šādas darbības:

1. Atveriet cilni Iestatījumi.

2. Izvēlieties Bluetooth un nospiediet centrālo pogu.

3. Mēs ieliekam Izvēles rūtiņa redzamība Bluetooth.

4. Pārbaudiet, vai Bluetooth zīme ("<") виден на верхней левой стороне.

5. Veiciet iepriekš minēto procedūru vajadzīgajam EV3 ķieģeļu skaitam.

6. Atveriet cilni Savienojums:

7. Noklikšķiniet uz pogas Meklēt:

8. Izvēlieties EV3, ar kuru vēlaties izveidot savienojumu (vai ar kuru vēlaties izveidot savienojumu), un nospiediet centrālo pogu.

9. Mēs savienojam pirmo un otro bloku ar piekļuves atslēgu.

Ja visu izdarīsit pareizi, augšējā kreisajā stūrī parādīsies ikona "<>", pievienojiet citus EV3 blokus tādā pašā veidā, ja no tiem ir vairāk nekā divi.

Ja izslēgsit LEGO EV3, savienojums tiks zaudēts un jums būs jāatkārto visas darbības.

Svarīgi: katram blokam ir jābūt uzrakstītai savai programmai.

Programmas piemērs:

Pirmais bloks: nospiežot skārienjutīgo sensoru, pirmais EV3 bloks pārsūta tekstu uz otro bloku ar 3 sekunžu aizkavi (galvenais bloks).

Programmas piemērs 2. blokam:

Otrais bloks gaida, lai saņemtu tekstu no pirmā bloka, un, tiklīdz tas to saņems, tas 10 sekundes parādīs vārdu (mūsu piemērā vārdu "Sveiki") (pakalpojuma bloks).

Izveidojiet savienojumu, izmantojot Wi-Fi

Saziņa ar lielāku attālumu ir iespējama, pievienojot Wi-Fi sargspraudni EV3 USB portam.

Lai izmantotu Wi-Fi, EV3 blokā ir jāinstalē īpašs modulis, izmantojot USB savienotāju (Wi-Fi adapteris (Netgear N150 bezvadu adapteris (WNA1100), vai arī varat pievienot Wi-Fi sargspraudni).

Ja jums, tāpat kā mums, trūkst standarta EV3 sensoru iespēju, nepietiek ar 4 portiem sensoriem jūsu robotos vai vēlaties savam robotam pievienot eksotiskas perifērijas ierīces - šis raksts ir domāts jums. Ticiet man, paštaisīts sensors EV3 ir vienkāršāks, nekā šķiet. Eksperimentam ir lieliski piemēroti “skaļuma poga” no veca radio vai pāris naglām, kas iedurtas zemē puķu podā kā augsnes mitruma sensors.

Pārsteidzoši, katrs EV3 sensora ports slēpj vairākus dažādus protokolus, galvenokārt saderībai ar NXT un trešo pušu sensoriem. Apskatīsim, kā darbojas EV3 kabelis


Tas ir dīvaini, bet sarkanais vads ir iezemēts (GND), zaļais vads ir 4,3 V barošanas avota pluss. Zilais vads ir gan SDA I2C kopnei, gan TX UART protokolam. Turklāt zilais vads ir EV3 analogā-digitālā pārveidotāja ieeja. Dzeltenais vads ir gan SCL I2C kopnei, gan RX UART protokolam. Baltais vads ir NXT sensoru analogā-digitālā pārveidotāja ieeja. Melns - digitālā ieeja, ar NXT saderīgiem sensoriem - tā dublē GND. Nav viegli, vai ne? Ejam kārtībā.

EV3 analogā ieeja

Katram sensora portam ir analogā-digitālā pārveidotāja kanāls. To izmanto tādiem sensoriem kā pieskāriena sensors (poga), NXT gaismas sensors un krāsu sensors atstarotās gaismas un apkārtējās gaismas režīmā, NXT skaņas sensors un NXT termometrs.

910 omu pretestība, kas savienota saskaņā ar shēmu, norāda kontrolierim, ka šis ports ir jāpārslēdz analogās ieejas režīmā. Šajā režīmā ar EV3 varat pievienot jebkuru analogo sensoru, piemēram, no Arduino. Maiņas kurss ar šādu sensoru var sasniegt vairākus tūkstošus aptauju sekundē, tas ir ātrākais sensora veids.

Gaismas sensors

Termometrs

Augsnes mitruma sensors

Varat arī pievienot: mikrofonu, pogu, IR tālmēru un daudzus citus izplatītus sensorus. Ja sensoram nepietiek ar 4,3 V strāvu, varat to barot ar 5 V no USB porta, kas atrodas EV3 kontrollera sānos.

Iepriekš minētā “skaļuma poga” (pazīstama arī kā mainīgais rezistors vai potenciometrs) ir lielisks analogā sensora piemērs – to var savienot šādi:

Lai standarta LEGO programmēšanas vidē nolasītu vērtības no šāda sensora, ir jāizmanto zils RAW bloks

I2C protokols

Šis ir digitālais protokols; pie tā darbojas, piemēram, NXT ultraskaņas sensors un daudzi Hitechnic sensori, piemēram, IR Seeker vai Color Sensor V2. Citām platformām, piemēram, Arduino, ir daudz i2c sensoru, tos var arī savienot. Shēma ir šāda:

LEGO Group iesaka pretestību 82 omi, taču dažādi avoti min 43 omi vai mazāk. Patiesībā mēs mēģinājām atteikties no šīm pretestībām vispār un viss darbojas, vismaz "uz galda". Reālā robotā, kas darbojas dažāda veida traucējumu apstākļos, SCL un SDA līnijām joprojām jābūt savienotām ar barošanas avotu, izmantojot pretestības, kā norādīts iepriekš redzamajā diagrammā. i2c darbības ātrums EV3 ir diezgan zems, aptuveni 10 000 kbps, tāpēc ikviena iecienītais Hitechnic Color Sensor V2 ir tik lēns :)

Diemžēl standarta LEGO EV3-G nav pilnvērtīga bloka divvirzienu saziņai ar i2c sensoru, taču, izmantojot trešās puses programmēšanas vides, piemēram, RobotC, LeJOS vai EV3 Basic, varat mijiedarboties ar gandrīz visiem i2c sensoriem. .

EV3 spēja darboties, izmantojot i2c protokolu, paver interesantu iespēju savienot vairākus sensorus vienam portam. I2C protokols ļauj pieslēgt līdz 127 vergu ierīcēm vienai kopnei. Vai varat iedomāties? Katram EV3 pieslēgvietai 127 sensori :) Turklāt nereti vienā ierīcē ir apvienots bars i2c sensoru, piemēram zemāk esošajā bildē ir sensors 10 in 1 (satur kompasu, žiroskopu, akselerometru, barometru utt.)

UART

Gandrīz visi standarta sensori, kas nav EV3, izņemot Touch Sensor, darbojas, izmantojot UART protokolu, un tāpēc tie nav saderīgi ar NXT kontrolleri, kuram, lai gan tam ir vienādi savienotāji, sensorā nav ieviests UART. ostas. Apskatiet diagrammu, tā ir nedaudz vienkāršāka nekā iepriekšējos gadījumos:

UART sensori automātiski saskaņo to darbības ātrumu ar EV3. Sākotnēji savienojoties ar ātrumu 2400 kbit/s, viņi vienojas par darbības režīmiem un valūtas kursiem, pēc tam pārejot uz palielinātu ātrumu. Tipiski dažādu sensoru maiņas kursi ir 38400 un 115200 kbit/s.
LEGO savos UART sensoros ir ieviesis diezgan sarežģītu protokolu, tāpēc nav trešo pušu sensoru, kas sākotnēji nebūtu paredzēti šai platformai, bet būtu ar to saderīgi. Neskatoties uz to, šis protokols ir ļoti ērts, lai izveidotu savienojumu ar “mājās gatavotu”
sensori, kuru pamatā ir mikrokontrolleri.
Ir brīnišķīga Arduino bibliotēka ar nosaukumu EV3UARTEmulation, ko sarakstījis slavenais LeJOS izstrādātājs Lawrie Griffiths, kas ļauj šim dēlim izlikties par UART-LEGO saderīgu sensoru. Viņa LeJOS News emuārā ir daudz piemēru gāzes sensoru, IMU sensora un digitālā kompasa savienošanai, izmantojot šo bibliotēku.

Zemāk esošajā videoklipā ir parādīts paštaisīta sensora izmantošanas piemērs. Mums nav pietiekami daudz oriģinālo LEGO attāluma sensoru, tāpēc uz robota izmantojam paštaisītu:


Robota uzdevums ir sākt no zaļās šūnas, atrast izeju no labirinta (sarkanā šūna) un atgriezties sākuma punktā pa īsāko ceļu, neiebraucot strupceļos.

Rakstā aprakstīta pieredze, izmantojot Lego Mindstorms EV3 konstruktoru, lai izveidotu robota prototipu ar tai sekojošo programmatūru un manuālo vadību, izmantojot Robot Control Meta Language (RCML).

  • Robota prototipa salikšana, pamatojoties uz Lego Mindstorms EV3
  • Ātra RCML instalēšana un konfigurēšana operētājsistēmai Windows
  • Robota programmatūras vadība, pamatojoties uz EV3 kontrolieri
  • Robota perifērijas ierīču manuāla vadība, izmantojot tastatūru un spēļu paneli
Nedaudz skatoties uz priekšu, piebildīšu, ka, lai īstenotu Lego robota vadību, izmantojot tastatūru, ir jāizveido programma, kurā ir tikai 3 programmas koda rindas. Sīkāka informācija par to, kā to izdarīt, ir rakstīta zem griezuma.

1. Sākumā no Lego Mindstorms EV3 konstruktora tika izveidots robota prototips, kas tiks izmantots programmēšanai un manuālai pilotēšanai.

Robota prototipa apraksts

Robota dizains ir līdzīgs automašīnas šasijai. Diviem motoriem, kas uzstādīti uz rāmja, ir viena kopīga rotācijas ass, kas caur pārnesumkārbu ir savienota ar aizmugurējiem riteņiem. Pārnesumkārba pārveido griezes momentu, palielinot aizmugurējās ass leņķisko ātrumu. Stūre tiek montēta uz konusveida zobrata pamata.



2. Nākamais solis ir sagatavot RCML darbam ar Lego Mindstorms EV3 konstruktoru.

Jums vajadzētu lejupielādēt arhīvus ar izpildāmiem failiem un bibliotēkas failiem un .

Lejupielādētie arhīvi ir jāizvelk direktorijā ar patvaļīgu nosaukumu, taču tas ir jādara izvairīties Nosaukumā krievu burti.

Direktorija saturs pēc arhīvu izpakošanas tajā



Tālāk jums ir jāizveido konfigurācijas fails config.ini, kuram jāatrodas tajā pašā direktorijā. Lai ieviestu iespēju vadīt EV3 kontrolieri, izmantojot tastatūru un spēļu paneli, ir jāsavieno lego_ev3, tastatūras un spēļu pults moduļi.

RCML konfigurācijas faila config.ini saraksts

Modulis = lego_ev3 modulis = tastatūras modulis = spēļu panelis


Pēc tam jums ir jāsavieno pārī EV3 kontrolieris un adapteris.

Norādījumi par EV3 kontroliera un Bluetooth adaptera savienošanu pārī

Instrukcijās ir ietverts Lego Ev3 kontrollera un datora, kurā darbojas operētājsistēma Windows 7, savienošanas pārī piemērs.

1. Jums jāiet uz Ev3 kontrollera iestatījumu sadaļu un pēc tam uz izvēlnes vienumu “Bluetooth”.

2. Pārliecinieties, vai konfigurācijas parametri ir iestatīti pareizi. Atzīmējiet izvēles rūtiņas blakus vienumiem “Redzamība”, “Bluetooth”.

3. Jums jāiet uz “Vadības panelis”, pēc tam uz “Ierīces un printeri”, pēc tam uz “Bluetooth ierīces”.

4. Jums jānoklikšķina uz pogas “Pievienot ierīci”. Tiks atvērts logs, lai atlasītu pieejamās Bluetooth ierīces.

5. Izvēlieties “EV3” ierīci un noklikšķiniet uz pogas “Next”.

6. EV3 kontrolleris parāda dialoglodziņu “Connect?”. Jums jāatzīmē izvēles rūtiņas opcija un jāapstiprina izvēle, nospiežot centrālo taustiņu.

7. Tālāk tiks parādīts dialoglodziņš “PASSKEY”, ievades rindā jānorāda skaitļi “1234”, pēc tam jāapstiprina atslēgas frāze ierīču savienošanai pārī, nospiežot centrālo taustiņu pozīcijā ar atzīmi.

8. Ierīču savienošanas pārī vednī parādīsies veidlapa ierīču savienošanas pāra atslēgas ievadīšanai. Jums jāievada kods “1234” un jānospiež poga “Tālāk”.

10. Datorā ir jāatgriežas “Control Panel”, pēc tam “Devices and Printers”, pēc tam “Bluetooth Devices”. Pieejamo ierīču sarakstā tiks parādīta ierīce, ar kuru tika savienota pārī.

11. Veiciet dubultklikšķi, lai atvērtu savienojuma rekvizītus “EV3”.

14. Lego_ev3 moduļa konfigurācijas failā config.ini jāizmanto rekvizītos norādītais COM porta indekss. Piemērā parādītas Lego EV3 kontrollera Bluetooth savienojuma īpašības, izmantojot standarta COM14 seriālo portu.


Turpmākā moduļa konfigurēšana ir saistīta ar faktu, ka lego_ev3 moduļa konfigurācijas failā ir jāieraksta tā COM porta adrese, caur kuru tiek veikta saziņa ar Lego robotu.

Lego_ev3 moduļa konfigurācijas faila config.ini saraksts

Savienojums = COM14 dinamiskais_savienojums = 0


Tagad jums ir jākonfigurē tastatūras modulis. Modulis atrodas direktorijā control_modules, pēc tam tastatūrā. Blakus failam keyboard_module.dll ir jāizveido konfigurācijas fails config.ini. Pirms konfigurācijas faila izveides ir jānosaka, kādas darbības jāveic, nospiežot taustiņus.

Tastatūras modulis ļauj izmantot taustiņus, kuriem ir noteikts ciparu kods. Jūs varat apskatīt virtuālo atslēgu kodu tabulu.

Kā piemēru es izmantošu šādus taustiņsitienus:

  • Uz augšu/uz leju vērstās bultiņas tiek izmantotas, lai pagrieztu aizmugurējā riteņa motoru uz priekšu/atpakaļ
  • Kreisās/labās bultiņas griež riteņus pa kreisi/pa labi
Tastatūras moduļa konfigurācijas fails apraksta, kuras asis ir pieejamas programmētājam, lai manuāli vadītu robotu. Tādējādi piemērā ir divas vadības grupas - tās ir tastatūras asis. Lai pievienotu jaunu asi, jums jāievēro šādi asu aprakstīšanas noteikumi.

Noteikumi tastatūras moduļa asu aprakstīšanai

1. Pievienojot jaunu asi, tas ir nepieciešams sadaļā pievienojiet rekvizītu, kura nosaukums ir ass nosaukums, un piešķiriet tam tastatūras pogas vērtību HEX formātā, un katrai pogai tiek izveidots līdzīgs ieraksts, t.i. ass nosaukumu var izmantot vairākas reizes. Vispār rakstot uz sadaļu izskatīsies šādi:

Axis_name = tastatūras_pogas_vērtība_HEX_formātā
2. Nepieciešams iestatīt maksimālo un minimālo vērtību, ko var attēlot pa šo asi. Lai to izdarītu, konfigurācijas failā ir jāpievieno sadaļa jaunā rindā config.ini, tāds pats kā ass nosaukums, un iestatiet rekvizītus augšējā_vērtība Un zemāka_vērtība, kas atbilst attiecīgi ass maksimumam un minimumam. Kopumā šī sadaļa izskatās šādi:

[ass_nosaukums] augšējā_vērtība = maksimālā_ass_vērtība apakšējā_vērtība = minimālā_ass_vērtība
3. Tālāk jums ir jānosaka, kāda vērtība būs asij, ja nospiedīsiet pogu uz tastatūras, kas tai iepriekš bija pievienota. Vērtības tiek noteiktas, izveidojot sadaļu, kuras nosaukums sastāv no ass nosaukuma un tastatūras pogas vērtības HEX formātā, atdalot ar pasvītrojumu. Lai iestatītu noklusējuma (nenospiests) un nospiesto stāvokli, izmantojiet rekvizītus nenospiestā_vērtība Un nospiestā_vērtība attiecīgi, kurā vērtības tiek pārnestas. Sadaļas vispārējais skats šajā gadījumā izskatās šādi:

[axis-name_keyboard-key-value] pressed_value = ass_vērtība, kad_taustiņš ir nospiests unpressed_value = axis_value_when_key_pressed
Spoilera teksts ir kopēts no RCML dokumentācijas, lai to būtu vieglāk aplūkot.


Lai ieviestu robota prototipa vadību, tika izveidots tastatūras moduļa konfigurācijas fails, kurā iekļautas go and rotate asis. Go ass tiek izmantota, lai iestatītu robota kustības virzienu. Nospiežot taustiņu “augšupvērstā bultiņa”, ass saņems vērtību 100; nospiežot taustiņu “lejupbultiņa”, ass saņems vērtību -50. Rotācijas asi izmanto, lai iestatītu priekšējo riteņu pagrieziena leņķi. Nospiežot kreiso bulttaustiņu, ass vērtība būs -5, nospiežot labo bulttaustiņu, ass vērtība būs 5.

Tastatūras moduļa konfigurācijas faila config.ini saraksts

;Nepieciešamā sadaļa ;ass_nosaukums = atslēgas_kods (HEX formātā) ;go ass saņem vērtības no augšup_bultiņa go = 0x26 ;go ass saņem vērtības no go_down_arrow = 0x28 ;rotate axis saņem vērtības no kreisās_bultiņas rotate = 0x25 ;pagriezt asi saņem vērtības no labās_bultiņas rotate = 0x27 ;Griešanas ass apraksts, vienmēr ir jābūt abiem taustiņiem ;Augšējās ass vērtību augšējā robeža Upper_value = -100 ;Apakšējā robeža virziena ass vērtībām Lower_value = 100 ;Apraksts pagriezt asi, vienmēr jābūt abiem taustiņiem;Pagriešanas ass vērtību augšējā robeža augšējā_vērtība = -100;Asu vērtību apakšējā robeža pagriezt apakšējā_vērtība = 100;Griešanas ass darbības apraksts taustiņam *augšup_bultiņa* (0x26 ) ;Nospiežot taustiņu *augšup_bultiņa*, iestatiet ass vērtību uz 50 nospiesta_vērtība = 100 ;Atlaižot taustiņu *augšup_bultiņa*, iestatiet ass vērtību uz 0 unpressed_value = 0 ;Griešanas ass darbības apraksts *uz leju_bultiņai * taustiņš (0x28) ;Nospiežot taustiņu *uz leju_bultiņa*, iestatiet ass vērtību uz -50 nospiesta_vērtība = -50 ;Atlaižot taustiņu *uz leju_bultiņa*, iestatiet ass vērtību uz 0 unpressed_value = 0 ;Pagriešanas ass apraksta darbība taustiņam *kreisā_bultiņa* (0x25) ;Nospiežot taustiņu *kreisā_bultiņa*, iestatiet ass vērtību uz -5 nospiestā_vērtība = -5 ;Atlaižot taustiņu *kreisā_bultiņa*, iestatiet ass vērtību uz 0 unpressed_value = 0 ;Apraksts pagriešanas ass darbība taustiņam *labā_bultiņa* (0x27) ;Nospiežot taustiņu *labā_bultiņa*, iestatiet ass vērtību uz 5 nospiesta_vērtība = 5 ;Atlaižot taustiņu *labā_bultiņa*, iestatiet ass vērtību uz 0 unpressed_value = 0


Tālāk, lai ieviestu vadību, izmantojot spēļu paneli, jums jākonfigurē spēļu paneļa modulis. Moduļa konfigurēšana ietver konfigurācijas faila config.ini izveidi blakus gamepad_module.dll, kas atrodas direktorijā control_modules un pēc tam spēļu panelī.

Universāls moduļa konfigurācijas fails mijiedarbībai ar spēļu paneli

;Nepieciešamā sadaļa, kurā aprakstītas izmantotās asis ;Asis līdz manuālās vadības režīma beigām Exit = 9 ; 11 binārās asis, kas atbilst spēļu paneļa pogām B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 sākums = 10 T1 = 11 T2 = 12 ; 4 nūjas asis; Labās spieķa kustība uz augšu/uz leju RTUD = 13 ; Labā spieķa kustība pa kreisi/pa labi RTLR = 16 ; Kreisā spieķa kustība uz augšu/uz leju LTUD = 15 ; Kreisā spieķa kustība pa kreisi/pa labi LTLR = 14 ; 2 krusta asis;Krusta kustība uz augšu/lejupbultāmUD = 17 ;Krusta kustība pa kreisi/pa labi bultiņasLR = 18 ;B1 ass darbības apraksts;Nospiežot pogu B1, iestatiet ass vērtību uz 1 augšējā_vērtība = 1;Atlaižot pogu B1, iestatiet ass vērtību uz 0 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 augšējā_vērtība = 1 apakšējā_vērtība = 0 ;Labās stieņa ass darbības apraksts, virzoties uz augšu/uz leju ;Ass vērtība pārvietojoties uz maksimumu iespējamā augšējā pozīcija augšējā_vērtība = 0 ;Ass vērtība, pārvietojoties uz maksimāli iespējamo apakšējo pozīciju apakšējā_vērtība = 65535 augšējā_vērtība = 0 apakšējā_vērtība = 65535 augšējā_vērtība = 0 apakšējā_vērtība = 65535 augšējā_vērtība = 0 apakšējā_vērtība = 65535 ;D ass darbības apraksts uz augšu /kustība uz leju ;Ass vērtība, nospiežot augšupvērsto bultiņu augšējā_vērtība = 1 ;Ass vērtība, nospiežot lejupvērsto bultiņu apakšējā_vērtība = -1 augšējā_vērtība = 1 apakšējā_vērtība = -1


Papildinformācija par spēļu paneļa moduļa iestatīšanas specifiku ir parādīta RCML atsauces rokasgrāmatā.

3. Nākamais solis ir rakstīt programmu RCML.

Izveidotā direktorija saknē ir jāizveido programmas fails. Programmas faila nosaukums un tā paplašinājums var būt jebkas, taču nosaukumā vajadzētu izvairīties no krievu burtiem. Piemērā izmantotais faila nosaukums ir hello.rcml.

Modulim lego_ev3 robota rezervācijas kodam ir šāda forma:

@tr = robot_lego_ev3;

Lego_ev3 moduļa savienojuma lapā ir aprakstīta lielākā daļa kontroliera atbalstīto funkciju. Kā testa piemērs tika izveidota programma, lai automātiski ievadītu robotu sānslīdē.

Programmas algoritms ir šāds:

Pēc pirmā brīvā robota rezervēšanas starp abiem motoriem tiek izveidots savienojums turpmākam darbam ar tiem, it kā tie būtu viens. Tad robots sāk veikt dreifēšanu. Programmatūras robota darbību apraksts ļauj precīzi iestatīt priekšējo riteņu griešanās leņķus un aizmugurējo riteņu griešanās ātrumu. Izmantojot šo paņēmienu, varat sasniegt rezultātus, kurus ir grūti atkārtot manuālas pilotēšanas laikā ar tastatūru vai spēļu paneli.

Programmu saraksts Lego robotam RCML valodā

function main() ( @tr = robot_lego_ev3; //Rezervēt robotu @tr->setTrackVehicle("B","C",0,0); //Motora sinhronizācijas iestatīšana @tr->motorMoveTo("D",100 , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); sistēma. miegs (4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); )


Lai kompilētu programmu, jāizmanto loga komandrinda. Vispirms jums vajadzētu pāriet uz izveidoto direktoriju ar izpildāmajiem failiem rcml_compiler.exe un rcml_intepreter.exe. Tālāk jums jāievada šādas komandas.

Komanda, lai kompilētu failu hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc
Kompilēšanas rezultātā izveidotajā direktorijā parādīsies jauns fails hello.rcml.pc.

Komandrindas ekrānuzņēmums pēc veiksmīgas kompilācijas



Tagad jums ir jāpārliecinās, vai EV3 kontrolieris ir ieslēgts un savienots pārī ar Bluetooth adapteri. Spēļu panelim jābūt savienotam ar datoru. Pēc tam jums ir jāizpilda komanda, lai izpildītu programmas failu:

Rcml_interpreter.exe hello.rcml

Komandrindas izskats programmas izpildes laikā



Video, kas demonstrē robota kustību programmu, atrodas raksta apakšā.

4. Nākamais solis ir vadīt robotu manuāli, izmantojot tastatūru.

Izmantojot tastatūru, jūs varat vadīt jebkuru robota motoru. Piemērā tiek īstenota šādu mehānismu kontrole:

  • Priekšējo riteņu stūres leņķis
  • Aizmugurējo riteņu griešanās virziens

Programmas saraksts mijiedarbībai starp tastatūru un Lego robotu, pamatojoties uz EV3 kontrolieri

function main() ( @tr = robot_lego_ev3; //Rezervēt robotu @tr->setTrackVehicle("B","C",0,0); //Motora sinhronizācijas sistēmas iestatīšana.hand_control(@tr,"tastatūra", " taisni", "iet", "speedMotorD", "pagriezt");)


Tālāk jums ir jāapkopo programma un jāpalaiž tā. Lego robota manuālās vadības, izmantojot tastatūru, rezultāts ir parādīts video lapas apakšā.

5. Papildus tastatūrai ir pieejams spēļu paneļa modulis, kas ļauj manipulēt ar robotu, izmantojot spēļu paneli. Lai ieviestu robota vadību, izmantojot spēļu paneli, programmas līmenī ir jāapraksta, kuras robota asis pieņems spēļu paneļa asu vērtības.

Programmas saraksts mijiedarbībai starp spēļu paneli un Lego robotu

function main() ( @tr = robot_lego_ev3; //Rezervēt robotu @tr->setTrackVehicle("B","C",0,0); //Dzinēja sinhronizācijas sistēmas iestatīšana.hand_control(@tr,"gamepad", " taisni", "RTUD", "speedMotorD", "RTLR"); )


Pēc tam jums vajadzētu atkārtot programmas kompilēšanas procesu un pēc tam to izpildīt. Tālāk ir parādīts Lego robota manuālās vadības rezultāts, izmantojot spēļu paneli, un visas iepriekš savienotās metodes:

Šis raksts īsumā parāda tikai dažas no RCML iespējām. Sīkāku aprakstu var atrast atsauces rokasgrāmatā.

Prezentācijas apraksts pa atsevišķiem slaidiem:

1 slaids

Slaida apraksts:

2 slaids

Slaida apraksts:

EV3 Brick interfeiss EV3 Brick ir vadības centrs, kas darbina jūsu robotus. Izmantojot ekrānu, Brick vadības pogas un EV3 Brick saskarni, kurā ir četri galvenie logi, jums ir piekļuve satriecošām unikālām EV3 Brick funkcijām. Tās var būt vienkāršas funkcijas, piemēram, programmas palaišana un apturēšana, vai sarežģītas, piemēram, pašas programmas rakstīšana.

3 slaids

Slaida apraksts:

Interfeiss: EV3 izvēlnei ir izvēlne, kas sastāv no 4 daļām: Jaunākās programmas Failu navigācija Ķieģelis Lietojumprogrammas Ķieģeļa iestatījumi

4 slaids

Slaida apraksts:

Jaunākās programmas Palaidiet programmas, kas nesen lejupielādētas no jūsu galddatora. Šis logs paliks tukšs, līdz sāksiet lejupielādēt un palaist programmas. Šajā logā tiks parādītas nesen palaistās programmas. Programma saraksta augšdaļā, kas ir atlasīta pēc noklusējuma, ir programma, kas tika palaista pēdējā.

5 slaids

Slaida apraksts:

Failu pārvaldnieks Piekļūstiet un pārvaldiet visus mikrodatora atmiņā, kā arī atmiņas kartē saglabātos failus. Šajā logā jūs piekļūsit un pārvaldīsiet visus EV3 Brick failus, tostarp failus, kas saglabāti SD kartē. Faili ir sakārtoti projektu mapēs, kurās papildus faktiskajiem programmas failiem ir arī katrā projektā izmantotās skaņas un attēli. Failus var pārvietot vai dzēst, izmantojot failu navigatoru. Programmas, kas izveidotas, izmantojot moduļu programmēšanas vidi un moduļu datu reģistrēšanas lietojumprogrammas, tiek glabātas atsevišķi mapēs BrkProg_SAVE un BrkDL_SAVE.

6 slaids

Slaida apraksts:

Programmā EV3 Control Box Applications ir 4 iepriekš instalētas lietojumprogrammas: A. Port View. B. Motora vadība. B. IR kontrole. D. Moduļu programmēšanas vide.

7 slaids

Slaida apraksts:

A. Port View Programmas Port View pirmajā logā varat ātri redzēt, kuriem portiem ir pievienoti sensori vai motori. Izmantojiet EV3 Brick vadības pogas, lai pārvietotos uz kādu no aizņemtajām pieslēgvietām, un jūs redzēsiet sensora vai motora pašreizējos rādījumus. Uzstādiet vairākus sensorus un motorus un eksperimentējiet ar dažādiem iestatījumiem. Lai skatītu vai mainītu uzstādīto motoru un sensoru pašreizējos iestatījumus, nospiediet centrālo pogu. Lai atgrieztos moduļa galvenajā lietojumprogrammas logā, noklikšķiniet uz pogas “Atpakaļ”.

8 slaids

Slaida apraksts:

B. Motora vadība Kontrolējiet jebkura motora kustību uz priekšu vai atpakaļgaitu, kas pievienots vienam no četriem izvades portiem. Ir divi dažādi režīmi. Vienā režīmā jūs varēsiet vadīt motorus, kas savienoti ar portu A (izmantojot pogas Augšup un Lejup) un portam D (izmantojot pogas Pa kreisi un Pa labi). Citā režīmā jūs kontrolējat motorus, kas savienoti ar portu B (izmantojot pogas Uz augšu un uz leju) un portu C (izmantojot pogas Pa kreisi un Pa labi). Pārslēgšanās starp šiem diviem režīmiem tiek veikta, izmantojot centrālo pogu. Lai atgrieztos moduļa galvenajā lietojumprogrammas logā, noklikšķiniet uz pogas “Atpakaļ”.

9. slaids

Slaida apraksts:

IR vadība Kontrolējiet jebkura motora kustību uz priekšu vai atpakaļgaitā, kas pievienots vienam no četriem izvades portiem, izmantojot tālvadības infrasarkano staru signālu kā tālvadības pulti un infrasarkano sensoru kā uztvērēju (infrasarkanais sensors jāpievieno EV3 Brick portam 4). . Ir divi dažādi režīmi. Vienā režīmā jūs izmantosit attālās infrasarkanās bākas 1. un 2. kanālu. 1. kanālā varēsiet vadīt motorus, kas savienoti ar portu B (izmantojot tālvadības IR bākas pogas 1 un 2) un portu C (izmantojot tālvadības IR bākas pogas 3 un 4). 2. kanālā varēsiet vadīt motorus, kas savienoti ar portu A (izmantojot 1. un 2. pogas) un D portu (izmantojot 3. un 4. pogas). Citā režīmā jūs varat vadīt motorus tādā pašā veidā, tā vietā izmantojot tālvadības infrasarkanās bākas 3. un 4. kanālu. Pārslēgšanās starp šiem diviem režīmiem tiek veikta, izmantojot centrālo pogu. Lai atgrieztos moduļa galvenajā lietojumprogrammas logā, noklikšķiniet uz pogas “Atpakaļ”.

10 slaids

Slaida apraksts:

Brick programmēšanas vide EV3 Brick komplektācijā ir instalēta programmatūra. Lietojumprogramma ir līdzīga datorā instalētajai programmatūrai. Šajos norādījumos ir ietverta pamatinformācija, kas nepieciešama, lai sāktu darbu.

11 slaids

Slaida apraksts:

EV3 Brick iestatījumi Šis logs ļauj skatīt un pielāgot dažādus vispārīgus iestatījumus EV3 Brick.

12 slaids

Slaida apraksts:

Skaļuma pielāgošana Varat palielināt vai samazināt skaļumu EV3 cilnē Iestatījumi.

13. slaids