EV3 robotu programmēšanas kurss Lego Mindstorms EV3 vidē. Grāmatplauktu robotika Robotu programmēšanas kurss lego mindstorms ev3

L.Yu. Ovsjanicka, D.N. Ovsjanickis, A.D. Ovjaņickis

EV3 robotu programmēšanas kurss

vidē Lego Mindstorms EV3

Otrais izdevums, pārskatīts un paplašināts

UDK 004.42+004.896

Ovsjanicka, L.Ju. Lego robotu programmēšanas kurss

Mindstorms EV3 EV3 vidē: red. otrkārt, pārskatīts un papildu /

L.Yu. Ovsjanicka, D.N. Ovsjanickis, A.D. Ovjaņickis. – M.:

“Pero”, 2016. – 296 lpp.

ISBN 978-5-906862-76-1

Grāmata ir veltīta EV3 robota programmēšanai Lego Mindstorms EV3 vidē. Darbs ir autoru daudzu gadu pieredzes rezultāts, tiešā veidā piedaloties reģionālās, visas Krievijas un starptautiskās robotikas un pedagoģiskās aktivitātes konkursos, kuru mērķis ir apmācīt skolotājus, lektorus un trenerus par šo tēmu.

Grāmata būs noderīga pamatskolas, vidusskolas, augstākās izglītības un papildu izglītība, studentiem, studentiem un visiem, kas interesējas par robotikas jautājumiem.

Recenzents:

Fizikālo un matemātikas zinātņu doktors, profesors A.F. Šorikovs.

ISBN 978-5-906862-76-1 © L.Yu. Ovsjanicka, D.N. Ovsjanickis, A.D. Ovsjaņickis, 2016 Saturs Ievads

1. nodaļa. Robota raksturojums.

Pirmā projekta izveide un uzsākšana 7

1.1. īss apraksts par robotu platformas. Pārskats par Lego Mindstorms EV3 programmēšanas vidi

1.2. Veidi, kā robotu savienot ar datoru. EV3 Brick programmaparatūras atjauninājums. Programmu augšupielāde EV3 Brick



2. nodaļa. Robota programmēšana

2.1. Motori. Kustību programmēšana pa dažādām trajektorijām

2.2. Darbs ar fona apgaismojumu, ekrānu un skaņu

2.2.1. Darbs ar ekrānu

2.2.2. Darbs ar EV3 Brick pogām ar aizmugurgaismojumu

2.2.3. Darbs ar skaņu

2.3. Programmu struktūras

2.3.1. Struktūras cerības

2.3.2. Struktūras cikls

2.3.3. Slēdža struktūra

2.4. Darbs ar datiem

2.4.1. Datu veidi. Diriģenti

2.4.2. Mainīgie un konstantes

2.4.3. Matemātiskās darbības ar datiem

2.4.5. Darbs ar masīviem

2.4.6. Loģiskās darbības ar datiem

2.5. Darbs ar sensoriem

2.5.1. Pieskāriena sensors

2.5.2. Krāsu sensors

2.5.3 Žiroskopu sensors

2.5.4. Ultraskaņas sensors

2.5.5. Infrasarkanais sensors un bāka

2.5.6. Motora griešanās sensors (nosaka leņķi/apgriezienu skaitu un motora jaudu)

2.5.7. Moduļa vadības pogas

2.6. Darbs ar failiem

Lego Mindstorms EV3 robotu programmēšanas kurss EV3 vidē

2.7. Vairāku robotu sadarbība

2.7.1. Robotu savienošana ar USB kabeli

2.7.2. Robota sakari, izmantojot Bluetooth savienojumu................................. 207

2.8. Noderīgi bloki un instrumenti

2.8.1. Bloķēt “Saglabāt aktīvu”

2.8.2. Bloķēt "Apturēt programmu"

2.8.3. Kārtības izveide

2.8.4. Komentāru ierakstīšana

2.8.5. Izmantojot vadu ievades portu

3. nodaļa. Galvenie sacensību veidi un uzdevumu elementi.

3.1. Sumo sacensības

3.2. Kegelrings

3.3. Slaloms (izvairīšanās no šķēršļiem)

3.4. Līniju kustības programmēšana

3.4.1. Algoritms kustībai pa zigzaga līniju ar vienas un divu krāsu sensoriem

3.4.2. Algoritms "Vilnis"

3.4.3. Krāsu sensora automātiskās kalibrēšanas algoritms..... 258

3.5. Proporcionālā lineārā kontrole

3.5.1. Līnijas kustība balstās uz proporcionālu vadību

3.5.2. Krustojumu atrašana un skaitīšana ar proporcionālu līniju vadību

3.5.3. Ceļojuma inversija

3.5.4. Robota kustība gar sienu

3.6. Mērķa atrašana labirintā

4. nodaļa: Programmaparatūras atjaunināšana un EV3 Brick restartēšana.

286 5. nodaļa. Trešās puses sensoru izmantošana

5.1. Darbs ar HiTech krāsu sensoru

5.2. Izmantojot citus sensorus

Secinājums

Projektu saraksts Projekts “Uzticīgais suns” 90 Projekts “Sporta tablo” 98 Projekts “Auto finišs” 102 Projekts “60 sekundes” 109 Projekts “Krāsu svītrkoda ierakstīšana un lasīšana” 120 Projekts “Masīva kārtošana, izmantojot burbuļu metodi” 123 Projekts “ Gudra māja» 153 Projekts “Spītīgs robots” 160 Projekts “Robots ar tālvadība» 182 Projekts Animācijas spēle uz EV3 bloka ekrāna “Noķer sniega piku” 191 Projekts “3D virsmas kartes uzbūve” 197 Projekts “EV3 - mūzikas sintezators” 203 Lego Mindstorms EV3 robota programmēšanas kurss EV3 vides attēlā spole (1.1.11.b att.). Bloks kļūs aktīvs (spilgts) (1.1.11.c att.).

–  –  –

1.1.attēls.

12. Paralēlās programmas Attēlu mērogošanai (1.1.13. att. a, b) tiek izmantotas standarta MSWindows kombinācijas. Ctrl taustiņi un peles ritināšanas ritenīši vai ikonas loga augšējā labajā stūrī:. Mērogošana tiek izmantota, pārvietojoties lielās programmās, kopējot noteiktus blokus un daudz ko citu.

Lego Mindstorms EV3 robotu programmēšanas kurss EV3 vidē Blocks Large motor un Medium motor Pirmais paletes bloks saucas Medium motor, otrais ar nosaukumu Large motor. Blokus izmanto, lai vadītu vienu motoru, un tiem ir tāda pati funkcionalitāte.

Aplūkosim bloku uzbūvi, izmantojot liela motorbloka piemēru (2.1.4. att.).

–  –  –

2.1.attēls.

4. Lielā motora vadības bloks Vispirms noklikšķiniet uz burta, kas apzīmē porta nosaukumu, un atlasiet porta nosaukumu, kuram ir pievienots motors.

Sīkāk apskatīsim katru vadības elementu.

1. Izvēlieties darbības režīmu:

a) ieslēgt (2.1.5. att.);

–  –  –

2.4.attēls.

3.4. Programma projekta “60 sekundes” īstenošanai

DIY aktivitātes Pievienojiet ekrānam pulksteņa ciparnīcas attēlu.

Pievienojiet minūšu un stundu rādītājus pēc analoģijas.

2.4.4. Citi datu apstrādes bloki

–  –  –

Pirms sākat strādāt ar masīviem, tie ir jāinicializē, t.i. norādiet veidu (ciparu vai loģisko) un piešķiriet nosaukumu.

Datus var ievadīt masīvā manuāli vai automātiskais režīms(sensoru rādījumu nolasīšana). Lai izveidotu masīvu, jāizmanto mainīgo bloks.

Masīva izveide. Masīva rakstīšana mainīgajam

Lai izveidotu un aizpildītu masīvu, jums ir:

(a) pārvietojiet mainīgo bloku uz darbvietu un nosakiet tā režīmu (Write) un veidu (ciparu vai loģiskais masīvs);

Formation Loģiskā masīva skaitliskā masīva veidošana

–  –  –

2.5.attēls.

3.3. Žiroskopiskā sensora darbības režīmi Svarīgi!

Dažkārt (diezgan bieži!), strādājot ar žiroskopisko sensoru, var novērot sekojošo: kad darbojas programma robots stāv, un leņķa vērtība nepārtraukti palielinās (drift), pieauguma ātrums var būt vairāk nekā 1 grāds sekundē!

Sensoru vērtību palielināšana 2. nodaļa. Robota programmēšana 177 Ja bāka atrodas ļoti tālu (tālāk par 1 m), mērījuma vērtība būs 100, ja ļoti tuvu (minimums 1 cm) - 0. Arī starprezultāti neatbilst līdz centimetriem.

Gadījumā, ja bāka atrodas tieši sensora priekšā, leņķa mērīšanas relatīvais rezultāts būs vienāds ar 0, maksimālā bākas atrašanās vieta pa kreisi, pretēji pulksteņrādītāja virzienam -25 (maksimālais nosakāmais novirzes leņķis ir aptuveni 100 grādi), pa labi, pulksteņrādītāja virzienā 25 (2.5. 5.5. att.).

2.5.attēls.

5.5. IR bākas novietojums attiecībā pret IR sensoru Apskatīsim programmu piemērus. Novietojiet bākuguni robota priekšā, ieslēdziet to un pavērsiet pret robotu.

LED indikators ieslēgsies un paliks degts. Bāka nepārtraukti pārraidīs signālu. Infrasarkanā sensora blokā instalējiet to pašu kanālu, kas tika uzstādīts uz bākas. Sensors atklās tikai tajā kanālā, kuru norādījāt savā programmā.

Bāka izslēdzas, ja stundu netiek izmantota.

Attēlā 2.5.5.6 parāda darbības režīma izvēli ar bāku.

Lego Mindstorms EV3 robotu programmēšanas kurss EV3 vidē, izmantojot MS Excel.

Robots griežas un katrā laika brīdī fiksē griešanās leņķa vērtību un attālumu līdz virsmai.

Risinājums:

1. Atiestatiet žiroskopa sensora vērtības.

Mēs ievietojam ciklu 01, beigu nosacījums ir laiks (3 sekundes).

2. Cikla laikā robots griežas un nolasa informāciju no ultraskaņas un žiroskopiskajiem sensoriem. Rādījumi tiek apvienoti programmas blokā Teksts, atdalot tos ar komatu.

3. Mērījumu rezultāts katrā cikla solī tiek ierakstīts kartes failā.

4. Iestatiet 0,25 sekunžu pauzi. Pēc cikla beigām aizveriet failu.

Uzmanību! Izmantojot žiroskopisko sensoru, ieslēdzot to, pievērsiet uzmanību nolasījuma novirzei (sk.

2.5.3. sadaļu, lai novērstu novirzi).

2. nodaļa. Robota programmēšana 213 kustēties un apstāties, padot katru piekabi secīgi.

2. “Vokālais un instrumentālais ansamblis”

Uzdevums ir izpildīt kādu skaņdarbu ar ansambli. Pirmais EV3 robots ir diriģents, kas, izmantojot Bluetooth, dod komandas citiem robotu mūziķiem un robotu dziedātājiem, kad atskaņot savas muzikālās partijas. Robotu diriģentu var aprīkot ar diriģenta zizli, kas kustas uz augšu un uz leju un pagriežas pret robotu, kurš sāk spēlēt. Robots diriģents var, piemēram, darboties kā solists nepilnu slodzi.

3. "Deju ansamblis"

Uzdevums ir izveidot robotu ansambli. Pirmais robots, kas izdod komandas, izmantojot Bluetooth, ir solists. Pārējie roboti izpilda komandas. Programmējiet dažādu veidu dejas - robotu apaļo deju ("Lokomotīve"), lēnās un ātrās dejas.

4. “Rīta vingrošana”

Uzdevums ir vienlaicīgi veikt vingrošanas vingrinājumus pēc pirmā robota komandas.

2.8. Noderīgi bloki un instrumenti 2.8.1. Bloķēt “Saglabāt aktīvu”

Pēc noteikta laika un gadījumā, ja nesazināsimies ar robotu un robots neveic nekādas darbības, tas izslēdzas (EV3 izteiksmē pāriet miega režīmā). Tas rada neērtības, strādājot ar programmām, kas paredzētas dažu procesu ilgam gaidīšanai. Miega režīmā pārslēgšanās laiku varam iestatīt tieši uz bloka (iespējams iestatīt laiku pirms izslēgšanas: 2 minūtes, Lego Mindstorms EV3 robotu programmēšanas kurss EV3 vidē, izveidot vairākas programmas iespējas un izvēlēties cīņas taktiku. Piemēram, ja mums ir jaudīgs, bet lēns robots, mēs varam palaist programmu, kurā mūsu robots ātri un no sāniem uzbruks pretiniekam; ja pretinieka robots vienmēr griežas pa labi, meklējot mūsu robotu, mums ir jāpalaiž programma, kas iet apkārt un uzbrūk tai no kreisās puses.

Robotam var būt viens vai divi ultraskaņas sensori, lai bez liekiem pagriezieniem noteiktu ienaidnieka pozīciju. Īpaši interesanti ir raundi, kuros sacenšas aptuveni vienāda spēka vai ātruma roboti, šajā gadījumā iznākumu izšķir milimetri un sekundes!

Uzvar dalībnieks, kurš spējis salikt spēcīgu un uzticamu struktūru, uzrakstījis kompetentu programmu (vai programmas) un izvēlējies pareizo stratēģiju. Tieši šo faktoru kombinācija padara gatavošanās sacensībām procesu aizraujošu, bet pašas sacensības par ļoti izklaidējošu un aizraujošu!

Sniegsim programmas algoritma piemēru sumo cīkstoņa robotam.

Robota apturēšana.

2. Robots griežas, līdz redz pretinieka robotu ar ultraskaņas sensoru (līdz sensora vērtība kļūst mazāka par 100 cm), kas atbilst 120-180 grādu rotācijas leņķim. Robota apturēšana.

3. Izveidojiet ciklu ar beigu nosacījumu 01, – Neierobežots.

4. Ciklā 01 ievietojam ciklu 02, kura beigu nosacījums ir loģiska vērtība: cikls tiks izpildīts, līdz ievadei Termination Condition tiks piegādāta vērtība True.

3.nodaļa. Sacensību galvenie veidi un uzdevumu elementi 245 100 25 + 18 =.

Noskaidrosim kreisā riteņa ātrumu: V1=58.

Lai ieviestu algoritmu, uzstādiet ultraskaņas sensoru robota priekšā centrā un pievienojiet to 4. portam.

Pavērsiet krāsu sensoru uz leju, novietojiet to pa kreisi no līnijas un pievienojiet to pieslēgvietai 2. Att. 3.3.3. iepazīstina ar programmu šķēršļu novēršanai. Lūdzu, ņemiet vērā, ka pēc šķēršļa noteikšanas robots apstājas un strauji pagriežas pa labi, lai pārvietotos no šķērslim perpendikulāras līnijas un apbrauktu objektu pa noteiktu rādiusu.

Uzdevumi patstāvīgam darbam

Programmējiet ceļus:

a) izvairoties no vairākiem šķēršļiem ar tādu pašu rādiusu;

b) izvairoties no šķēršļiem ar dažādu rādiusu;

c) jāšana astoņniekā.

3.nodaļa. Galvenie sacensību veidi un uzdevumu elementi 275 3.attēls.

5.3.2. Programma apgrieztās kustības trajektorijas vadīšanai 3.nodaļa. Sacensību galvenie veidi un uzdevumu elementi 285 3.6.5.attēls. Programma mērķa atrašanai labirintā.Lego Mindstorms EV3 robota programmēšanas kurss EV3 vidē.

5. NODAĻA. TREŠĀS PERSONAS IZMANTOŠANA

SENSORI

Papildus Lego Mindstorms EV3 mājas vai izglītības komplektos iekļautajiem sensoriem tas ir iespējams papildu iegūšana Lego sensori un Lego sertificēti sensori no HiTechnic.

HiTechnic ražo lielu skaitu sensoru LEGO Mindstorms, lielākā daļa no tiem ir LEGO sertificēti, kas apliecina pilnīgu saderību, augstus kvalitātes un drošības standartus.

Svarīgs faktors, kas ļauj izmantot šos sensorus, strādājot ar bērniem, ir RoHS sertifikāta (Bīstamo vielu ierobežošanas) klātbūtne, kas apliecina, ka elektriskās un elektroniskās iekārtās netiek izmantotas vielas: svins, dzīvsudrabs, kadmijs, alva, sešvērtīgais hroms un daži bromīda savienojumi. Pašreizējo Lego sertificēto sensoru sarakstu skatiet vietnē www.hitechnic.com/sensors.

Šobrīd pieejami: griešanās leņķa sensors;

spēks, kas pielikts šķērsām asij; kompass; akselerometrs;

žiroskops; magnētiskā lauka detektors; infrasarkanais sensors;

infrasarkanais kustības sensors, kas ļauj noteikt cilvēku vai dzīvnieku atrašanos telpā, līdzīgi kā sensori, ko izmanto drošības sistēmās; barometrs, kas nosaka atmosfēras spiedienu un temperatūru;

elektrooptiskais attāluma sensors, kas precīzi uztver mazus objektus un nelielas attāluma izmaiņas līdz tiem, bet ne tālāk kā ~20 cm attālumā; krāsu sensors

Otrajā nodarbībā iepazīsimies ar programmēšanas vidi un detalizēti izpētīsim komandas, kas nosaka mūsu pirmajā nodarbībā saliktā robota ratiņa kustību. Tātad, iedarbināsim Lego mindstorms EV3 programmēšanas vidi, ielādēsim savu agrāk izveidoto projektu lessons.ev3 un pievienosim projektam jauna programma- nodarbība-2-1. Programmu var pievienot divos veidos:

  • Izvēlieties komandu "Fails" - "Pievienot programmu" (Ctrl+N).
  • Klikšķis "+" programmu cilnē.

Rīsi. 1

2.1. Programmēšanas paletes un programmu bloki

Tagad pievērsīsim uzmanību programmēšanas vides apakšējai sadaļai. No pirmās nodarbības materiāla jau zinām, ka šeit ir robota programmēšanas komandas. Izstrādātāji izmantoja oriģinālu tehniku ​​un, sagrupējuši programmu blokus, katrai grupai piešķīra savu krāsu, grupas saucot par paletēm.

Zaļo paleti sauc: "Darbība":

Rīsi. 2

Šajā paletē ir programmatūras bloki motoru vadīšanai, displeja bloks un vadības bloks moduļa statusa indikatoram. Tagad mēs sāksim pētīt šos programmu blokus.

2.2. Zaļā palete - darbības bloki

Zaļās paletes pirmais programmu bloks ir paredzēts vidēja motora vadīšanai, otrais bloks ir lielā motora vadīšanai. Tā kā šo bloku parametri ir identiski, aplūkosim iestatījumu, izmantojot bloka piemēru - lielu motoru.

Rīsi. 3

Priekš pareizi iestatījumi vadības bloks lielam motoram mums ir:

  1. Izvēlieties portu, kuram ir pievienots motors (A, B, C vai D) (3. att. 1. vienums)
  2. Izvēlieties motora darbības režīmu (3. att. 2. vienums)
  3. Konfigurējiet izvēlētā režīma parametrus (3. att. 3. vienums)

Kā atšķiras režīmi? Režīms: "Ieslēdz" ieslēdz motoru ar doto parametru "Spēks" un pēc tam vadība tiek pārsūtīta uz nākamo programmas programmas bloku. Motors turpinās griezties, līdz to apstādina nākamais bloks "Lielais motors" ar režīmu "Izslēgt" vai nākamais bloks "Lielais motors" nesaturēs citus izpildes parametrus. Režīms "Iespējot sekunžu skaitu" ieslēdz lielu motoru ar iestatīto jaudu uz noteiktu sekunžu skaitu, un tikai pēc laika beigām motors apstāsies un vadība programmā pāries uz nākamo programmas bloku. Motors režīmos darbosies līdzīgi "Ieslēgt pēc grādu skaita" Un "Iespējot pēc apgriezienu skaita": tikai pēc tam, kad ir pabeigta iestatītā motora griešanās, tas apstāsies un programma pāries uz nākamo bloku.

Jaudas parametrs (3. attēlā jauda ir iestatīta uz 75) var iegūt vērtības no -100 līdz 100. Pozitīvās jaudas vērtības iestata motoru griezties pulksteņrādītāja virzienā, negatīvās vērtības nosaka motora griešanos pretēji pulksteņrādītāja virzienam. Ja jaudas vērtība ir 0, motors negriezīsies; jo “augstāka” jaudas vērtība, jo ātrāk motors griežas.

Jaudas parametrs ir norādīts tikai veselos skaitļos; parametri: sekundes, grādi, apgriezieni var iegūt vērtības ar decimāldaļu. Bet atcerieties, ka minimālais motora griešanās solis ir viens grāds.

Īpaši jāpiemin parametrs "Bremze beigās". Šis parametrs, ja iestatīts uz "Bremzēt" izraisa motora palēnināšanos pēc komandas izpildes, un, ja iestatīts uz "Pārsniegts", tad motors griezīsies pēc inerces, līdz tas apstāsies.

Nākamie divi programmu bloki "Stūre" un ieviest pāra lielu motoru vadību. Pēc noklusējuma kreisais lielais motors ir savienots ar portu "IN", un labais - uz ostu "AR". Bet jūs varat mainīt savienojuma portus ierīces iestatījumos atbilstoši jūsu dizaina prasībām ( Rīsi. 4 poz. 1).

Rīsi. 4

Parametrs "Stūre" (Rīsi. 4 poz. 2) var iegūt vērtības no -100 līdz 100. Parametra negatīvās vērtības liek robotam pagriezties pa kreisi, vērtība 0 liek robotam kustēties taisni, un pozitīvas vērtības liek robotam pagriezties pa labi. Bultiņa virs skaitliskā parametra maina savu orientāciju atkarībā no vērtības, tādējādi norādot robota kustības virzienu ( Rīsi. 5).

Rīsi. 5

Programmas bloks "Neatkarīga motora vadība" izskatās pēc programmatūras bloka "Stūre". Tas arī kontrolē divus lielus motorus, bet tā vietā "Stūre" kļūst iespējams neatkarīgi kontrolēt katra motora jaudu. Ar vienādu parametra vērtību "Spēks" kreisajam un labajam motoram robots pārvietosies taisnā līnijā. Ja vienam motoram pievienojat negatīvu jaudas vērtību (piemēram, -50), bet otram - pozitīvu (piemēram, 50), robots pagriezīsies vietā ( Rīsi. 6).

Rīsi. 6

Tāpēc šo ierīču darbības režīmi ir līdzīgi viena motora vadības bloka darbības režīmiem papildu apraksts neprasa...

2.3. Taisnas līnijas kustība, pagriezieni, apgriešanās un apstāšanās

Tātad, tagad mēs varam uzrakstīt programmu, lai robots varētu pārvietoties pa jebkuru maršrutu.

1. uzdevums: Brauciet taisni uz priekšu 4 dzinēja apgriezienus. Apgriezies. Brauciet par 720 grādiem.

risinājums ( Rīsi. 7):

  1. Izmantojot programmatūras bloku "Stūre", pagriezieties uz priekšu 4 pagriezienus.
  2. Izmantojot programmatūras bloku “Independent Motor Control”, apgriezieties uz vietas (grāda vērtība būs jāizvēlas eksperimentāli).
  3. Izmantojot programmatūras bloku "Stūre", brauciet uz priekšu par 720 grādiem.

Piezīme. Kāpēc, griežot, man bija jāizvēlas grādu vērtība? 2. bloks?. Nav 360 grādi - vēlamā vērtība? Ne, ja mēs iestatām parametra vērtību "Grādi" vienāds 360 , tad mēs piespiedīsim mūsu robota kreisā un labā motora vārpstas griezties par nepieciešamo daudzumu. Leņķis, kādā robots griežas ap savu asi, ir atkarīgs no riteņu izmēra (diametra) un attāluma starp tiem. Ieslēgts Rīsi. 7 parametra vērtība "Grādi" vienāds 385 . Šī vērtībaļauj robotam salikt saskaņā ar instrukcijām mazais robots 45544 apgriezties ap savu asi. Ja jums ir cits robots, jums būs jāizvēlas cita vērtība. Vai šo vērtību var atrast matemātiski? Tas ir iespējams, bet mēs par to runāsim vēlāk.


Rīsi. 7

2. uzdevums: Novietojiet šķērsli (kannu, kubu, mazu kastīti) uz līdzenas virsmas un atzīmējiet sava robota sākuma punktu. Izveidojiet jaunu programmu projektā: nodarbība-2-2, kas ļauj robotam apbraukt šķērsli un atgriezties sākuma punktā.

Cik programmatūras blokus esat izmantojis? Dalies ar saviem panākumiem nodarbības komentāros...

2.4. Ekrāns, skaņa, moduļa statusa indikators

Programmas bloks "Ekrāns"ļauj parādīt tekstu vai grafiskā informācija EV3 Brick LCD ekrānā. Ko tas varētu nozīmēt? praktiska izmantošana? Pirmkārt, programmas programmēšanas un atkļūdošanas posmā varat parādīt pašreizējos sensora rādījumus, kamēr robots darbojas. Otrkārt, varat parādīt programmas izpildes starpposmu nosaukumus. Treškārt, ar grafisko attēlu palīdzību var “atdzīvināt” robota ekrānu, piemēram, izmantojot animāciju.

Rīsi. 8

Programmas bloks "Ekrāns" ir četri darbības režīmi: režīms "Teksts"ļauj ekrānā parādīt teksta virkni, režīms "Formas"ļauj parādīt vienu no četrām ģeometriskām formām uz ekrāna (taisna līnija, aplis, taisnstūris, punkts), režīms "Attēls" ekrānā var parādīt vienu attēlu. Varat izvēlēties attēlu no bagātīgas attēlu kolekcijas vai uzzīmēt pats, izmantojot attēlu redaktoru. Režīms "Iestatījumu atiestatīšanas logs" Atiestata EV3 Brick ekrānu uz standarta informācijas ekrānu, kas tiek rādīts programmas darbības laikā.

Rīsi. 9

Apskatīsim programmas bloka parametrus "Ekrāns" režīmā "Teksts" (9. att. 1. vienums). Virkne, ko paredzēts parādīt ekrānā, tiek ievadīta īpašā laukā (9. att. 2. vienums). Diemžēl teksta ievades laukā var ievadīt tikai latīņu burtus, ciparus un pieturzīmes. Ja režīms "Notīrīt ekrānu" iestatīt uz vērtību "Tiesa", ekrāns tiks notīrīts pirms informācijas parādīšanas. Tāpēc, ja jums ir jāapvieno pašreizējā izvade ar informāciju, kas jau ir ekrānā, iestatiet šo režīmu uz "meli". Režīmi "X" Un "Y" noteikt ekrāna punktu, no kura sākas informācijas izvade. EV3 Brick ekrāns ir 178 pikseļus (punktus) plats un 128 pikseļus augsts. Režīms "X" var ņemt vērtības no 0 līdz 177, režīmā "Y" var ņemt vērtības no 0 līdz 127. Augšējā kreisajā punktā ir koordinātas (0, 0), apakšējā labajā punktā (177, 127)

Rīsi. 10

Programmas bloka iestatīšanas laikā "Ekrāns" jūs varat ieslēgt režīmu priekšskatījums (9. att. 3. vienums) un vizuāli novērtēt informācijas izvades iestatījumu rezultātu.

Režīmā "Formas" (11. att. 1. poz) programmas bloka iestatījumi atšķiras atkarībā no figūras veida. Tātad, parādot apli, jums būs jānorāda koordinātas "X" Un "Y" apļa centrs, kā arī vērtība "Rādiuss". Parametrs "Aizpildīt" (11. att. 2. poz.) ir atbildīgs par to, ka vai nu tiks parādīta figūras kontūra, vai arī figūras iekšējais laukums tiks aizpildīts ar parametrā norādīto krāsu "Krāsa" (11. att. 3. poz.).

Rīsi. vienpadsmit

Lai parādītu taisnu līniju, jānorāda divu galējo punktu koordinātas, starp kurām atrodas taisne.

Rīsi. 12

Lai parādītu taisnstūri, jānorāda koordinātas "X" Un "Y" taisnstūra augšējais kreisais stūris, kā arī tā "Platums" Un "Augstums".

Rīsi. 13

Punkta parādīšana ir vienkāršākais veids! Vienkārši norādiet tā koordinātas "X" Un "Y".

Režīms "Attēls", iespējams, interesantākais un visbiežāk izmantotais režīms. Tas ļauj parādīt attēlus ekrānā. Programmēšanas vidē ir milzīga attēlu bibliotēka, kas sakārtota pēc kategorijas. Papildus esošajiem attēliem jūs vienmēr varat izveidot savu zīmējumu un, ievietojot to projektā, parādīt to ekrānā. ("Programmēšanas vides galvenā izvēlne" - "Rīki" - "Attēlu redaktors"). Veidojot attēlu, varat parādīt arī krievu alfabēta rakstzīmes.

Rīsi. 14

Kā redzat, programmēšanas vide piešķir lielu nozīmi informācijas parādīšanai EV3 galvenā ķieģeļa ekrānā. Apskatīsim šādu svarīgo programmas bloku "Skaņa". Izmantojot šo bloku, uz EV3 bloka iebūvēto skaļruni varam izvadīt skaņas failus, patvaļīga ilguma un frekvences toņus, kā arī mūzikas notis. Apskatīsim programmas bloka iestatījumus režīmā "Atskaņot toni" (15. att.). Šajā režīmā jums ir jāiestata "Biežums" toņi (15. att. 1. vienums), "Ilgums" skaņa sekundēs (15. att. 2. pozīcija), kā arī skaņas skaļumu (15. att. 3. pozīcija).

Rīsi. 15

Režīmā "Atskaņot piezīmi" toņa frekvences vietā ir jāizvēlas piezīme ieslēgta virtuālā tastatūra, kā arī iestatiet skaņas ilgumu un skaļumu (16. att.).

Rīsi. 16

Režīmā "Atskaņot failu" varat izvēlēties vienu no bibliotēkas skaņas failiem (17. att. 1. vienums), vai pievienojot datoram mikrofonu, izmantojot skaņas redaktoru ("Programmēšanas vides galvenā izvēlne" - "Rīki" - "Skaņas redaktors") ierakstiet savu skaņas fails un iekļaut to projektā.

Rīsi. 17

Apskatīsim parametru atsevišķi "Atskaņošanas veids" (17. att. 2. punkts), kopīgs visiem programmas bloka režīmiem "Skaņa". Ja šis parametrs iestatīt uz vērtību "Pagaidiet pabeigšanu", tad vadība tiks pārsūtīta uz nākamo programmas bloku tikai pēc pilnīgas skaņas vai skaņas faila atskaņošanas. Ja iestatīsiet kādu no šīm divām vērtībām, skaņa sāks atskaņot un vadība programmā pāries uz nākamo programmas bloku, tikai skaņa vai skaņas fails tiks atskaņots vienu reizi vai tiks atkārtots, līdz to apturēs cits programmas bloks "Skaņa".

Vēl tikai jāiepazīstas ar pēdējo zaļās paletes programmu bloku - bloku. Ap EV3 moduļa vadības pogām ir uzstādīts krāsu indikators, kas var spīdēt vienā no trim krāsām: zaļš, apelsīns vai sarkans. Atbilstošais režīms ir atbildīgs par krāsu indikācijas ieslēgšanu un izslēgšanu (18. att. 1. vienums). Parametrs "Krāsa" nosaka indikācijas krāsu dizainu (18. att. 2. pozīcija). Parametrs "Impulss" atbild par krāsu indikācijas mirgošanas režīma ieslēgšanu/izslēgšanu (18. att. 3. pozīcija). Kā jūs varat izmantot krāsu indikāciju? Piemēram, dažādos robota darbības režīmos varat izmantot dažādus krāsu signālus. Tas mums palīdzēs saprast, vai programma tiek izpildīta, kā mēs plānojām.

Rīsi. 18

Pielietosim šīs zināšanas praksē un nedaudz izkrāsosim savu programmu no 1. uzdevuma.

3. uzdevums:

  1. Atskaņot signālu "Sākt"
  2. Iespējot zaļu nemirgojošu krāsu indikāciju
  3. "Uz priekšu"
  4. Brauciet taisni uz priekšu 4 dzinēja apgriezienus.
  5. Iespējot oranžu mirgojošu krāsu indikāciju
  6. Apgriezies
  7. Iespējot zaļas mirgojošas krāsas indikāciju
  8. Parādīt attēlu ekrānā "Atpakaļ"
  9. Brauciet par 720 grādiem
  10. Atskaņot signālu "Apstāties"

Mēģiniet pats atrisināt 3. problēmu, neskatoties uz risinājumu! Veiksmi!

Paneļa "Darbības" programmu bloki tika apspriesti iepriekšējās pārskata daļās, un šajā rakstā es runāšu par blokiem no cilnes "Operatoru pārvaldība".

Šos blokus var attēlot kā programmas “regulatorus”: tie liks apturēt un turpināt programmas kustību, pāriet uz nākamo atzaru vai iet pa apli.

Salīdzinot ar NXT, tika pievienoti 2 jauni bloki:

  • Sākums - NXT programmā programmas sākums bija vienots un tika iestatīts uzreiz, kad programma tika atvērta.
  • Cikla pārtraukšana - NXT tāda bloka vienkārši nebija. Ja bija nepieciešams ieviest līdzīgu funkcionalitāti, tad mums bija jāizmanto mainīgie.
Vispārējais operatora vadības bloku saraksts izskatās šādi:
  • Sākt
  • Gaidīšana
  • Slēdzis
  • Cikla pārtraukšana


Bloķēt "Sākt"

Iespējams, esat ievērojuši, ka visu EV3 programmu pirmais bloks ir bloks ar zaļu bultiņu. Šis bloks ir "Sākt". Neviena programma nevar iztikt bez tā - šeit sākas komandu izpilde. Ja bloku secības priekšā neliekat “Start”, tad šāda programma netiks izpildīta.
Piemēram, saskaņā ar zemāk parādīto programmu robots griezīsies ap asi (tiks veikta augšējā darbību secība), bet neatskaņos audio failus un neizgaismos pogas (apakšējā secība bez “Start” bloka ir neaktīvs):

EV3 atbalsta daudzuzdevumu veikšanu, t.i. programma var saturēt vairāk nekā vienu komandu secību. Turklāt šīm sekvencēm var būt savs “Start” bloks vai tās var iznākt no viena “Start”:


Visas šādas secības tiks izpildītas vienlaicīgi.

Lūdzu, ņemiet vērā, ka zaļā bultiņa uz bloka nav dekoratīvs elements. Ja iekārta ir savienota ar datoru (neatkarīgi no tā, kā: izmantojot usb, Wi-Fi vai Bluetooth), tad, noklikšķinot uz bultiņas, šī secība tiks palaists izpildei.

Bloķēt "Gaida"

Šis bloks ir arī viens no visbiežāk izmantotajiem. Programma tajā “sasalst” - nākamie programmas bloki netiek izpildīti - un gaida noteiktu laiku vai noteiktu sensora vērtību.
"Gaidam" ir liels skaits režīmu, kas var būt biedējoši:


Bet patiesībā viss ir pavisam vienkārši. Visus režīmus var iedalīt kategorijās:
  • pēc laika - bloks gaida norādīto sekunžu skaitu, pirms sāk izpildīt nākamos blokus
  • pēc sensora:
    • salīdzinājums - bloks sagaida konkrētu sensora rādījumu, kas norādīts blokā
    • mainīt - bloks gaida, līdz sensora rādījums mainīsies par noteiktu summu, salīdzinot ar sākotnējo vērtību. Turklāt jūs varat izvēlēties ne tikai vērtības lielumu, bet arī tās virzienu - vērtības samazināšanos, palielināšanu vai jebkurā virzienā.
Apskatīsim programmu piemērus ar katru bloka režīmu.
Pirmajā programmā pogu fona apgaismojums mainās. Fona apgaismojums vienu sekundi būs zaļš, pēc tam 1 sekundi sarkans un pēc tam pārslēgsies uz standarta režīmu - mirgo zaļā krāsā:

Otrā programma ir sākums klasiskam risinājumam Kegelringa sacensībās: robots griežas ap savu asi, līdz ierauga sev priekšā kannu:

Sekojošā programma ieslēdz motoru A un pēc 5 apgriezieniem izslēdz to:

Šīs ierīces darbība ar Bluetooth neatšķiras no darba ar jebkuru sensoru. Piemēram, tālāk norādītā programma gaida ziņojumu "HI" un pēc tam ieslēdz fona apgaismojumu zaļā krāsā un atskaņo skaņas failu:

Bloķēt "Cikls"

Šis ir īpašs bloks - tajā var ievietot citus blokus. Bloki iekšpusē tiks atkārtoti. Cilpas bloku režīmi norāda metodi, kas nosaka, kad cilpai jābeidzas. Mēs jau zinām lielāko daļu šo režīmu no iepriekšējā gaidīšanas bloka, taču ir pievienoti vairāki jauni:

  • Neierobežots — šī cilpa darbosies, līdz programma būs spiesta beigties
  • Skaitīšana - cilpa atkārtos noteiktu skaitu reižu
  • Būla vērtība — cilpa atkārtosies, līdz dotā vērtība ir patiesa
  • Laiks — cikls atkārtosies norādīto laiku
  • Sensora rādījums:
    • salīdzinājums - cikls tiks atkārtots, līdz sensors pieņems norādīto vērtību
    • maiņa - cikls tiks atkārtots, līdz sensora rādījums mainīsies par norādīto summu, salīdzinot ar sākotnējo vērtību.
Virs bloka ir rakstīts cilpas nosaukums - 01, 02, .... Šo nosaukumu var izmantot cilpas pārtraukuma blokā, kas tiks aprakstīts vēlāk.
Apskatīsim piemērus. Saskaņā ar šo programmu robots brauks taisni un griezīsies, līdz programma tiks apturēta (tiek izmantota bezgalīga cilpa):

Tālāk norādītajā programmā tiek izmantots pieskāriena sensors. Kamēr tas nav nospiests, robots griež vidējo motoru vispirms pulksteņrādītāja virzienā, tad pretēji pulksteņrādītāja virzienam. Pēc sensora nospiešanas motors apstājas:

Kontra cilpa ļauj atskaņot noti 10 reizes:

Izmantojot loģisko vērtību režīmu, jums būs jāizmanto vēl neizpētīti sensoru aptaujas bloki. Šī programma liek robotam virzīties uz priekšu, līdz tas redz objektu, kas atrodas mazāk nekā 20 cm attālumā (cikla pirmais bloks) vai ar pieskāriena sensoru ietriecas šķērslī (cikla otrais bloks). Rezultāts loģiskā darbība"OR" dod trešo cilpas bloku:


"Slēdžu" bloks

NXT ir līdzīgs bloks; tas ļauj veikt darbību atkarībā no mainīgā lieluma vai sensora nolasījuma vērtības dažādas secības darbības.
Pēc šīs darbību secības pabeigšanas programma izpilda blokus, kas seko “Switch”.
Šī bloka režīms nosaka, kurš sensors vai mainīgā vērtība tiks izmantota. Visi tie paši režīmi tiek izmantoti kā bloks "Cikls": varat izmantot jebkuru sensoru (krāsu, žiroskopisko, infrasarkano, ultraskaņas, motora rotāciju un citus), ciparu vai teksta vērtība, Bluetooth ziņa.
Piemēram, saskaņā ar šo programmu robots vispirms griezīsies ap savu asi 5 motora apgriezienus un pēc tam, atkarībā no žiroskopa sensora rādījumiem, virzīsies uz priekšu vai atpakaļ. Ja žiroskopa noteiktais leņķis ir mazāks par 90 grādiem, robots virzīsies uz priekšu. Ja leņķis ir mazāks par 90 grādiem, robots virzīsies atpakaļ.

Šī programma ir vienkārša releja kontrollera ieviešana braukšanai pa melno līniju:

Abos iepriekšējos piemēros blokā "Switch" bija tikai 2 notikumu attīstības iespējas. Bet patiesībā šim blokam var būt vairāk iespēju. Piemēram, ja robots nosaka objekta krāsu, tas var izvēlēties no daudz lielāka opciju skaita:


Šajā programmā robots nosaka sarkanu, zilu, zaļu un bez krāsas. Tas nosauks krāsas, kā arī ieslēgs sarkanās un zaļās krāsas pogu fona apgaismojumu, kā arī virzīsies uz priekšu zilā krāsā. Varat pievienot pārējās krāsas, ko sensors var noteikt — melnu, dzeltenu, baltu, brūnu — izmantojot mazo “+” pogu, kas atrodas augšējā opcijā (apvilkta sarkanā krāsā).
Izmantojot lielu skaitu opciju (kā iepriekš minētajā piemērā), bloks "Switch" kļūst diezgan apgrūtinošs un neērts darbam. Šajā gadījumā bloku var pārslēgt uz “plakano režīmu”:

Poga, kas pārslēdzas starp plakanajiem/detaļajiem režīmiem, ir apvilkta sarkanā krāsā.

Bloķēt "Cikla pārtraukums"

Šis bloks ir jauns, NXT līdzīga bloka nebija. Tas ļauj iziet no cilpas – atlikušie cilpas bloki netiks izpildīti, un programma pāries uz blokiem pēc cilpas. Bloka "galvene" norāda cikla nosaukumu, kas jāpabeidz.
Piemēram, cikls programmā jāatkārto 5 reizes, bet, ja attālums līdz objektam kļūst lielāks par 50 centimetriem, cikls agri izies un robots atskaņos skaņas signālu:

Šī bloka īpatnība ir tāda, ka tam nav jāatrodas pārtraucamās cilpas iekšpusē. Piemēram, šī programma drukā, cik reižu cilpa atkārtosies, kamēr atstarotās gaismas spilgtums ir lielāks par 50. Bet, ja programmas darbības laikā tiek nospiests skārienjutīgais sensors, cilpa apstāsies un programma apstāsies:

Sveiki. Savos rakstos es vēlos jūs iepazīstināt ar LEGO NXT Mindstorms 2.0 mikrodatora programmēšanas pamatiem. Lietojumprogrammu izstrādei izmantošu Microsoft platformas Robotics Developer Studio 4 (MRDS 4) un National Instruments LabVIEW (NI LabVIEW). Tiks izskatīti un īstenoti mobilo robotu automātiskās un automatizētās vadības uzdevumi. Mēs pāriesim no vienkārša uz sarežģītu.

Gaidot dažus lasītāju jautājumus un komentārus.

Kāpēc NXT Mindstorms 2.0? Jo viņu projektiem šis komplekts Tas man šķita vispiemērotākais, jo NXT mikrodators ir pilnībā savietojams ar MRDS 4 un NI LabVIEW platformām, turklāt šis komplekts ir ļoti elastīgs arī dažādu robotu konfigurāciju komplektēšanas ziņā – robota salikšanai tiek veltīts minimāls laiks.

Kāpēc MRDS 4 un NI LabVIEW platformas? Tā tas notika vēsturiski. Studējot vecāko kursu augstskolā, uzdevums bija attīstīties mācību kursi izmantojot šīs platformas. Turklāt platformas ir diezgan viegli apgūstamas un funkcionālas, izmantojot tās, var tieši uzrakstīt programmu robota vadīšanai, izstrādāt lietotāja interfeisu un veikt testēšanu virtuālajā vidē (MRDS 4 gadījumā).

Kam vispār vajadzīgas šīs tavas nodarbības, internetā jau ir daudz robotikas projektu! Praktiski nav izglītojošu rakstu, kuros izmantota šī kombinācija (NXT+MRDS 4/NI LabVIEW), pārsvarā tiek izmantota vietējā programmēšanas vide, un tajā viss ir pilnīgi triviāls. Ikviens, kam interesē robotika, programmēšana un kam ir NXT komplekts (un tādu ir diezgan daudz), jebkura vecuma auditorija.

Grafiskās programmēšanas valodas ir ļaunas, un tie, kas tajās programmē, ir ķeceri! Grafiskajām programmēšanas valodām, kas ir MRDS 4 un NI LabVIEW, neapšaubāmi ir savi trūkumi, piemēram, tās ir vērstas uz šauriem uzdevumiem, taču tās tomēr nav daudz zemākas funkcionalitātes ziņā. teksta valodas, jo īpaši tāpēc, ka NI LabVIEW sākotnēji tika izstrādāts kā viegla valoda apgūstot zinātnisko un inženiertehnisko problēmu risināšanu, šim nolūkam tajā ir daudz nepieciešamo bibliotēku un rīku. Tāpēc šīs grafiskās valodas ir vispiemērotākās mūsu problēmu risināšanai. Un jums nav nepieciešams mūs sadedzināt uz sārta.

Tas viss izskatās bērnišķīgi un nemaz nav nopietni! Kad uzdevums ir ieviest algoritmus, iemācīt programmēšanas, robotikas, reāllaika sistēmu pamatus un principus, neiedziļinoties shēmās un protokolos, tad šis ir ļoti piemērots rīks, lai arī ne lēts (attiecībā uz NXT komplektu). Lai gan tiem pašiem mērķiem, komplekti priekš Arduino bāzes, taču šim kontrolierim gandrīz nav saderības ar MRDS 4 un NI LabVIEW, un šīm platformām ir savs šarms.

Tehnoloģijas, kas tiek izmantotas, ir pūstošu kapitālistisko valstu produkts, un autors ir tautas ienaidnieks un Rietumu sazvērnieku līdzdalībnieks! Diemžēl lielākā daļa tehnoloģiju elektronikas jomā un datortehnoloģijas Es nāku no Rietumiem, es ļoti priecāšos, ja viņi man norādīs uz līdzīgām oriģinālās pašmāju ražošanas tehnoloģijām. Pa to laiku izmantosim to, kas mums ir. Un nevajag par to ziņot specdienestiem un turēt ļaunu prātu uz mani.

Īss pārskats par MRDS 4 un NI LabVIEW platformām.

Ļaujiet man precizēt dažus terminus. Zem platformas, iekšā šajā gadījumā, mēs domājam dažādu rīku kopu, piemēram, VPL valodu MRDS, kā arī lietojumprogrammu izpildes vidi, t.i. Nav tiešas lietojumprogrammu apkopošanas izpildāmos (*.exe) failos.

2006. gadā Microsoft paziņoja par platformas izveidi Microsoft Robotics Developer Studio(sīkāka informācija Vikipēdijas rakstā). MRDS ir uz Windows balstīta lietojumprogrammu izstrādes vide robotikai un simulācijai. Šobrīd aktuāls ir Microsoft versija Robotics Developer Studio 4. Funkcijas ietver: VPL grafisko programmēšanas valodu, tīmekļa un Windows saskarnes, VSE simulācijas vidi, vienkāršotu piekļuvi sensoriem, mikrokontrolleriem un robotu izpildmehānismiem, C# programmēšanas valodas atbalstu, bibliotēkas daudzpavedienu programmēšanai un izkliedētai izpildei. CCR lietojumprogrammas un DSS, atbalsts daudzām robotizētām platformām (Eddie, Boe - Bot, CoroBot, iRobot, LEGO NXT utt.).

LabVIEW (laboratorijas virtuālo instrumentu inženierijas darbgalds) ir izstrādes vide un platforma programmu izpildei, kas izveidotas grafiskajā programmēšanas valodā “G” no National Instruments (sīkāk skatīt Vikipēdijas rakstu). LabVIEW tiek izmantots datu ieguves un apstrādes sistēmās, kā arī tehnisko objektu un tehnoloģisko procesu pārvaldīšanai. Ideoloģiski LabVIEW ir ļoti tuvs SCADA sistēmām, taču atšķirībā no tām vairāk orientēts uz problēmu risināšanu ne tik daudz automatizēto procesu vadības sistēmu (automatizētās vadības sistēmas) jomā. tehnoloģiskais process), cik ASNI reģionā ( automatizētas sistēmas zinātniskie pētījumi). LabVIEW izmantotā grafiskā programmēšanas valoda "G" ir balstīta uz datu plūsmas arhitektūru. Operatoru izpildes secību šādās valodās nosaka nevis secība, kādā tie parādās (kā obligātajās programmēšanas valodās), bet gan datu klātbūtne šo operatoru ievadēs. Operatori, kas nav saistīti ar datiem, tiek izpildīti paralēli nejaušā secībā. Programma LabVIEW tiek saukta par virtuālu instrumentu (angļu: Virtual Instrument), un tā sastāv no divām daļām:

  • blokshēma, kas apraksta virtuālā instrumenta loģiku;
  • priekšējais panelis, kas apraksta virtuālā instrumenta lietotāja saskarni.

Īss ieskats LEGO NXT Mindstorms 2.0 komplektā.

NXT komplekts sastāv no vadības bloka, četriem sensoriem un trim servo. Vadības bloks satur:
  • 32 bitu AVR mikrokontrolleris 7 ar 256 KB FLASH atmiņu un 64 KB RAM atmiņu;
  • 8 bitu AVR mikrokontrolleris ar 4 KB FLASH atmiņu un 512 baitu RAM atmiņu;
  • Bluetooth V 2.0 radio modulis;
  • USB ports;
  • 3 savienotāji servo pieslēgšanai;
  • 4 savienotāji sensoru pievienošanai;
  • LCD displejs ar izšķirtspēju 99x63 pikseļi;
  • skaļrunis;
  • savienotājs 6 AA baterijām.
Sensori (dažādi sensoru komplekti pieejami dažādās konfigurācijās):
  • ultraskaņas sensors;
  • divi taustes sensori (pieskāriena sensori);
  • krāsu noteikšanas sensors.


1. attēls - NXT mikrodators ar pievienotiem sensoriem un izpildmehānismiem

Un, protams, komplektā ir dažādas LEGO daļas LEGO Technic formas faktorā, no kurām tiks montēti izpildmehānismi un atbalsta konstrukcija.


2. attēls — informācija LEGO Technic formas faktorā

Rakstam pirmo pieteikumu.

Rakstīsim pirmo pieteikumu. Ļaujiet, klasiski, šo pieteikumu parāda tekstu "Sveika, pasaule!". Ieviešana pārmaiņus notiks MRDS 4 un NI LabVIEW, procesā izskatīsim katras platformas specifiku.

Vispirms instalējam platformas MRDS 4 un NI LabVIEW; MRDS 4 gadījumā instalēšana jāveic mapē, kuras ceļš nesastāv no kirilicas (krievu burtiem), Konts arī lietotājvārdam jāsastāv tikai no latīņu burtiem.

1. MRDS 4 platforma.
Palaidiet VPL vidi (Izvēlne Sākt - Visas programmas - Microsoft Robotics Developer Studio 4 - Vizuālā programmēšanas valoda). Šī videļauj izstrādāt aplikācijas VPL valodā un veikt testēšanu VSE virtuālajā vidē. VPL programma ir diagramma, kas sastāv no savstarpēji savienotiem blokiem. Atvērtajā logā papildus standarta komandjoslai un izvēlnei ir 5 galvenie logi:
  1. Pamatdarbības – satur pamata blokus, kas realizē tādus operatorus kā konstante, mainīgais, nosacījums utt.;
  2. Pakalpojumi – satur blokus, kas nodrošina piekļuvi MRDS platformas funkcionalitātei, piemēram, blokus mijiedarbībai ar jebkuru robota aparatūras komponentu vai blokus dialoglodziņa izsaukšanai;
  3. Projekts – apvieno projektā iekļautās diagrammas, kā arī dažādus konfigurācijas failus;
  4. Properties – satur izvēlētā bloka rekvizītus;
  5. Diagrammu logs – satur tieši diagrammu ( avots) lietojumprogrammas.

3. attēls - VPL programmēšanas vide

Veiksim šādu darbību secību:

2. NI LabVIEW platforma.
Šajā platformā viss tiek īstenots gandrīz identiski. Iedarbināsim LabVIEW vidi. Mūsu priekšā parādīsies divi logi, pirmais ir priekšējais panelis, kas paredzēts lietotāja interfeisa ieviešanai ( izskats virtuālā ierīce), otrā ir blokshēma programmas loģikas ieviešanai.


8. attēls — LabVIEW vides logi

Mēs izmantosim logu Block Diagram. Veiksim šādas darbības:

Kopsavilkums

  • Mēs veicām pārskatu programmatūras platformas NXT mikrodatoru lietojumprogrammu izstrādei.
  • Apskatījām lietojumprogrammu izstrādes pamatprincipus platformās MRDS 4 un NI LabVIEW.
  • Iepazināmies ar vides saskarni.
Nākamajos rakstos mēs tieši aplūkosim NXT programmēšanu. Tiešsaistē ir daudz mācību materiālu LabVIEW videi, bet daudz mazāk VPL. Es ļoti iesaku izpētīt abu platformu uzziņu rokasgrāmatu (nepieciešamas angļu valodas zināšanas), šajās rokasgrāmatās ir daudz piemēru, kurus var ieviest bez NXT, kā arī šādas grāmatas:
  • NXT mikrodatora programmēšana programmā LabVIEW - Lidija Beliovska, Aleksandrs Beliovskis,
  • Microsoft Robotics Developer Studio. Robotu vadības algoritmu programmēšana - Vasilijs Gajs.
Savos rakstos aprakstīšu tikai savus projektus, jo... Es neredzu jēgu pārrakstīt informāciju no viena avota uz citu. Pieņemšu jebkuru konstruktīvu kritiku un atbildēšu uz visiem jautājumiem par apskatītajām platformām. Pateicos jau iepriekš!

Lego radīšanas virsotne bija programmējamo konstruēšanas komplektu LEGO Mindstorms Ev3 izlaišana. Rotaļlieta paredzēta bērniem, kas vecāki par desmit gadiem.

Tagad mindstorms ev3 bez problēmām var iegādāties speciālajos veikalos vai internetā. Tie ir viegli ieprogrammēti noteiktu darbību veikšanai.

Programmēšanas vides iestatīšana

Pirms sākat rakstīt komandas robotam, jums ir jāinstalē programmatūra.

PC sistēmas prasības darbam ar lego mindstorms ev3:

  • OS Windows XP, 7, 8 vai MacOs (10.6-10.8);
  • 2 GB RAM un 750 MB diska vietas.

Instalējot vidi, izmantojot USB, izvēlieties skolotāja vai skolēna versiju.

Pēc instalēšanas mēs izveidojam projektu, kas tiek parādīts kā mape. Vadības panelī mēs izvēlamies, ko mēs vēlamies izveidot, programmēt vai veikt eksperimentu. Ieteicams izveidot eksperimentu, lai pētītu sensoru veiktspēju.

Robota vadības programma sastāv no blokiem, secīgām darbībām, kuras tā veic, savukārt katram atsevišķam blokam ir savs režīms. Piemēram, motora vadības bloka režīms ir iespēja apstāties. Detalizēti izpētiet visus simbolus, kas ir uzdrukāti uz ekrāna.

Ekrānā ir izvēlne, kurā ir iekļautas cilnes:

  • darbība;
  • operatora vadība;
  • sensors;
  • datu operācijas;
  • mani bloki utt.

Izmantojot šo izvēlni, jūs varat ieprogrammēt robotu dažādu darbību veikšanai. Piemēram, cilnē, kas ir atbildīga par dažādu mehānismu darbību, varat iestatīt motora režīmu kustībai, apstādināšanai vai palaišanai. Tur jūs varat iestatīt laiku, daudzumu un griešanās leņķi.

“Skaņas” blokā varat ieprogrammēt robotu atskaņošanai skaņas signālus. Šos signālus var augšupielādēt vai ierakstīt, izmantojot mikrofonu. Svarīgs programmas vadības elements ir tā izvēlnes daļa, kas kontrolē operatorus. Tajā jūs varat kontrolēt pašas programmas darbību.

Šeit programmai var dot šādas komandas:

  • sākt gaidīt;
  • cikla atkārtošana;
  • pārslēgties starp blokiem;
  • beigt ciklu.

Lego mindstorms ev3 ir daudzuzdevumu veikšana, tajā ir iekļautas vairākas komandu secības. Programmā var ieprogrammēt ne tikai savas darbības, bet arī to izpildes secību.

Apvienojot visas iespējamās atbilstošās izvēlnes komandas, var izveidot sarežģītas trajektorijas un konstruktora uzvedības veidus.

LEGO Izglītība Mindstorms EV3: Robohanda programmēšana (Robohand H25):