EV3 kurs programiranja robota u Lego Mindstorms EV3 okruženju. Tečaj robotike robotike na policama za knjige lego mindstorms ev3

L.Yu. Ovsyanitskaya, D.N. Ovsyanitsky, A.D. Ovsyanitsky

EV3 kurs programiranja robota

u okruženju Lego Mindstorms EV3

Drugo izdanje, revidirano i prošireno

UDK 004.42+004.896

Ovsyanitskaya, L.Yu. Kurs programiranja Lego robota

Mindstorms EV3 u EV3 okruženju: ur. drugo, revidirano i dodatne /

L.Yu. Ovsyanitskaya, D.N. Ovsyanitsky, A.D. Ovsyanitsky. – M.:

“Pero”, 2016. – 296 str.

ISBN 978-5-906862-76-1

Knjiga je posvećena programiranju robota EV3 u okruženju Lego Mindstorms EV3. Rad je rezultat višegodišnjeg iskustva direktnog učešća autora na regionalnim, sveruskim i međunarodnim takmičenjima iz robotike i pedagoških aktivnosti za obuku nastavnika, predavača i trenera na ovu temu.

Knjiga će biti korisna nastavnicima osnovnih, srednjih, viših i dodatno obrazovanje, studenti, studenti i svi zainteresovani za problematiku robotike.

Recenzent:

Doktor fizičko-matematičkih nauka, profesor A.F. Shorikov.

ISBN 978-5-906862-76-1 © L.Yu. Ovsyanitskaya, D.N. Ovsyanitsky, A.D. Ovsyanitsky, 2016. Sadržaj Uvod

Poglavlje 1. Karakteristike robota.

Kreiranje i pokretanje prvog projekta 7

1.1. kratak opis robotske platforme. Pregled programskog okruženja Lego Mindstorms EV3

1.2. Načini povezivanja robota sa računarom. EV3 Brick ažuriranje firmvera. Učitavanje programa na EV3 Brick



Poglavlje 2. Programiranje robota

2.1. Motori. Programiranje kretanja duž različitih putanja

2.2. Rad sa pozadinskim osvetljenjem, ekranom i zvukom

2.2.1. Rad sa ekranom

2.2.2. Rad sa dugmadima sa pozadinskim osvetljenjem na EV3 Brick-u

2.2.3. Rad sa zvukom

2.3. Programske strukture

2.3.1. Očekivanje strukture

2.3.2. Strukturni ciklus

2.3.3. Struktura prekidača

2.4. Rad sa podacima

2.4.1. Tipovi podataka. Dirigenti

2.4.2. Varijable i konstante

2.4.3. Matematičke operacije sa podacima

2.4.5. Rad sa nizovima

2.4.6. Logičke operacije sa podacima

2.5. Rad sa senzorima

2.5.1. Senzor na dodir

2.5.2. Senzor boje

2.5.3 Žiro senzor

2.5.4. Ultrazvučni senzor

2.5.5. Infracrveni senzor i far

2.5.6. Senzor rotacije motora (određivanje ugla/broja okretaja i snage motora)

2.5.7. Kontrolna dugmad modula

2.6. Rad sa fajlovima

Lego Mindstorms EV3 kurs programiranja robota u EV3 okruženju

2.7. Saradnja nekoliko robota

2.7.1. Povezivanje robota USB kablom

2.7.2. Komunikacija robota putem Bluetooth veze.................................. 207

2.8. Korisni blokovi i alati

2.8.1. Blokiraj "Ostani aktivan"

2.8.2. Blokirajte "Zaustavi program"

2.8.3. Kreiranje rutina

2.8.4. Snimanje komentara

2.8.5. Korištenje žičanog ulaznog porta

Poglavlje 3. Glavne vrste takmičenja i elementi zadataka.

3.1. Sumo takmičenje

3.2. Kegelring

3.3. Slalom (izbjegavanje prepreka)

3.4. Programiranje kretanja linije

3.4.1. Algoritam za kretanje duž cik-cak linije sa senzorima u jednoj i dva boja

3.4.2. Algoritam "talas"

3.4.3. Algoritam za automatsku kalibraciju senzora boje..... 258

3.5. Proporcionalna linearna kontrola

3.5.1. Kretanje linije bazirano na proporcionalnoj kontroli

3.5.2. Pronalaženje i brojanje raskrsnica uz kontrolu proporcionalne linije

3.5.3. Putna inverzija

3.5.4. Kretanje robota duž zida

3.6. Pronalaženje cilja u lavirintu

Poglavlje 4: Ažuriranje firmvera i ponovno pokretanje EV3 kocke.

286 Poglavlje 5. Korišćenje senzora treće strane

5.1. Rad sa HiTech senzorom boja

5.2. Korištenje drugih senzora

Zaključak

Spisak projekata Projekat „Verni pas” 90 Projekat „Sportski semafor” 98 Projekat „Automatska završnica” 102 Projekat „60 sekundi” 109 Projekat „Snimanje i čitanje barkoda u boji” 120 Projekat „Sortiranje niza metodom mehurića” 123 Projekat “ Smart House» 153 Projekat “Tvrdoglavi robot” 160 Projekat “Robot sa daljinski upravljač» 182 Projekat Animirana igra na ekranu EV3 bloka “Uhvati grudvu snijega” 191 Projekat “Izgradnja 3D površinske mape” 197 Projekat “EV3 - muzički sintisajzer” 203 Kurs programiranja robota Lego Mindstorms EV3 u slici okruženja EV3 od kalem (slika 1.1.11b). Blok će postati aktivan (svijetli) (slika 1.1.11c).

–  –  –

Slika 1.1.

12. Paralelni programi Za skaliranje slika (sl. 1.1.13 a, b) koriste se standardne MSWindows kombinacije Ctrl tipke i točkići za pomeranje miša ili ikone u gornjem desnom uglu prozora:. Skaliranje se koristi kada se krećete po velikim programima, kopirate određene blokove i još mnogo toga.

Lego Mindstorms EV3 kurs programiranja robota u EV3 okruženju Blokovi Veliki motor i srednji motor Prvi blok palete se zove srednji motor, drugi se zove veliki motor. Blokovi se koriste za upravljanje jednim motorom i imaju istu funkcionalnost.

Razmotrimo strukturu blokova na primjeru velikog motornog bloka (slika 2.1.4).

–  –  –

Slika 2.1.

4. Velika upravljačka jedinica motora Prije svega, kliknite na slovo koje predstavlja naziv porta i odaberite naziv porta na koji je motor povezan.

Pogledajmo detaljnije svaki kontrolni element.

1. Odaberite način rada:

a) uključiti (slika 2.1.5);

–  –  –

Slika 2.4.

3.4. Program za realizaciju projekta “60 sekundi”.

DIY aktivnosti Dodajte sliku brojača sata na ekran.

Dodajte kazaljke minuta i sata po analogiji.

2.4.4. Ostali blokovi za obradu podataka

–  –  –

Prije nego počnete raditi s nizovima, potrebno ih je inicijalizirati, tj. navedite tip (numerički ili logički) i dodijelite ime.

Podaci se mogu unositi u niz ručno ili automatski način rada(čitanje očitavanja sa senzora). Da biste kreirali niz, morate koristiti blok Variable.

Kreiranje niza. Pisanje niza u varijablu

Da biste kreirali i popunili niz, morate:

(a) premjestiti blok Variable u radni prostor i odrediti njegov način rada (Write) i tip (numerički ili logički niz);

Formiranje Formiranje numeričkog niza logičkog niza

–  –  –

Slika 2.5.

3.3. Načini rada žiroskopskog senzora Važno!

Ponekad (prilično često!) kada radite sa žiroskopskim senzorom, možete primijetiti sljedeće: kada pokrenuti program robot miruje, a vrijednost ugla se stalno povećava (drift), brzina povećanja može biti više od 1 stepen u sekundi!

Povećanje vrednosti senzora Poglavlje 2. Programiranje robota 177 Ako je far veoma udaljen (dalje od 1 m), merna vrednost će biti 100, ako je veoma blizu (minimalno 1 cm) - 0. Srednji rezultati takođe ne odgovaraju do centimetara.

U slučaju kada se far nalazi direktno ispred senzora, relativni rezultat mjerenja ugla će biti jednak 0, maksimalna lokacija fara na lijevoj strani, u smjeru suprotnom od kazaljke na satu -25 (maksimalni ugao odstupanja koji se može otkriti je približno 100 stepeni), desno, u smeru kazaljke na satu 25 (sl. 2.5. 5.5).

Slika 2.5.

5.5. Položaj IR fara u odnosu na IR senzor Pogledajmo primjere programa. Postavite svjetionik ispred robota, uključite ga i usmjerite ga prema robotu.

LED indikator će se upaliti i ostati upaljen. Beacon će neprekidno odašiljati signal. Na jedinici infracrvenog senzora, instalirajte isti kanal koji je instaliran na faru. Senzor će detektovati samo far na kanalu koji navedete u svom programu.

Far se isključuje ako se ne koristi sat vremena.

Na sl. 2.5.5.6 prikazuje izbor načina rada sa farom.

Lego Mindstorms EV3 kurs programiranja robota u EV3 okruženju koristeći MS Excel.

Robot rotira i u svakom trenutku bilježi vrijednost ugla rotacije i udaljenosti do površine.

Rješenje:

1. Resetirajte vrijednosti senzora žiroskopa.

Ubacujemo ciklus 01, uvjet završetka je vrijeme (3 sekunde).

2. Tokom ciklusa, robot rotira i čita informacije sa ultrazvučnih i žiroskopskih senzora. Očitavanja su kombinovana u bloku programa Tekst, odvojena zarezom.

3. Rezultat mjerenja u svakom koraku ciklusa se upisuje u mapu.

4. Postavite pauzu od 0,25 sekundi. Nakon završetka ciklusa, zatvorite datoteku.

Pažnja! Kada koristite žiroskopski senzor, obratite pažnju na prisustvo pomaka očitanja kada ga uključujete (vidi.

odeljak 2.5.3 za uklanjanje odstupanja).

Poglavlje 2. Programiranje robota 213 se kreće i zaustavlja, hranite svaku prikolicu uzastopno.

2. “Vokalno instrumentalni ansambl”

Zadatak je izvesti muzičko djelo sa ansamblom. Prvi EV3 robot je dirigent koji preko Bluetooth-a daje komande drugim robotskim muzičarima i robotskim pjevačima kada da sviraju svoje muzičke dionice. Robot dirigent može biti opremljen dirigentskom palicom koja se kreće gore-dole i okreće prema robotu koji počinje da svira. Robot dirigent može, na primjer, djelovati kao solista na pola radnog vremena.

3. "Plesni ansambl"

Zadatak je stvoriti robotski ansambl. Prvi robot koji izdaje komande preko Bluetooth-a je solista. Ostali roboti slijede komande. Programirajte različite vrste plesova - kolo robota ("Lokomotiva"), spori i brzi plesovi.

4. “Jutarnje vježbe”

Zadatak je istovremeno izvođenje gimnastičkih vježbi po komandi prvog robota.

2.8. Korisni blokovi i alati 2.8.1. Blokiraj "Ostani aktivan"

Nakon što prođe određeno vrijeme i u slučaju kada ne kontaktiramo robota i robot ne obavlja nikakve operacije, on se isključuje (u smislu EV3, prelazi u stanje mirovanja). Ovo uzrokuje neugodnosti pri radu s programima koji su dizajnirani da čekaju dugo vremena na neke procese. Možemo podesiti vrijeme za prelazak u stanje mirovanja direktno na bloku (moguće je podesiti vrijeme prije isključivanja: 2 minute, Lego Mindstorms EV3 kurs programiranja robota u EV3 okruženju, kreirati nekoliko programskih opcija i odabrati taktiku borbe. Za Na primjer, ako imamo moćnog, ali sporog robota, možemo pokrenuti program u kojem će naš robot napadati protivnika brzo i sa strane; ako se protivnički robot uvijek okreće udesno u potrazi za našim robotom, moramo pokrenuti program koji ide okolo i napada ga s lijeve strane.

Robot može imati jedan ili dva ultrazvučna senzora za određivanje položaja neprijatelja bez nepotrebnih okreta. Posebno su zanimljive runde u kojima se takmiče roboti približno jednake snage ili brzine, u ovom slučaju o ishodu odlučuju milimetri i sekunde!

Pobjednik je učesnik koji je uspio sastaviti jaku i pouzdanu strukturu, napisati kompetentan program (ili programe) i odabrati pravu strategiju. Kombinacija ovih faktora čini proces priprema za takmičenja uzbudljivim, a sama takmičenja veoma zabavnim i uzbudljivim!

Dajemo primjer programskog algoritma za robota sumo rvača.

Zaustavljanje robota.

2. Robot se okreće dok ne vidi protivničkog robota sa ultrazvučnim senzorom (dok vrijednost senzora ne postane manja od 100 cm), što odgovara kutu rotacije od 120-180 stepeni. Zaustavljanje robota.

3. Kreirajte ciklus sa uslovom završetka 01, – Neograničeno.

4. U ciklus 01 ubacujemo ciklus 02, čiji je uslov završetka logička vrijednost: ciklus će se izvršavati sve dok vrijednost True ne bude dostavljena na ulaz Uslov završetka.

Poglavlje 3. Glavne vrste takmičenja i elementi zadataka 245 100 25 + 18 =.

Nađimo brzinu lijevog točka: V1=58.

Da biste implementirali algoritam, instalirajte ultrazvučni senzor ispred robota u sredini i povežite ga na port 4.

Usmjerite senzor boje prema dolje, postavite ga lijevo od linije i povežite ga sa portom 2. Na sl. 3.3.3 predstavlja program za izbjegavanje prepreka. Imajte na umu da se nakon detekcije prepreke robot zaustavlja i naglo skreće udesno kako bi se pomaknuo sa linije okomite na prepreku i zaobišao objekt duž zadanog radijusa.

Zadaci za samostalan rad

Programirajte putanje:

a) izbjegavanje više prepreka istog radijusa;

b) izbjegavanje prepreka različitih poluprečnika;

c) jahanje u osmici.

Poglavlje 3. Glavne vrste takmičenja i elementi zadataka 275 Slika 3.

5.3.2. Program za vožnju inverznom putanjom kretanja Poglavlje 3. Glavne vrste takmičenja i elementi zadataka 285 Slika 3.6.5. Program za pronalaženje cilja u lavirintu Kurs programiranja Lego Mindstorms EV3 robota u EV3 okruženju.

POGLAVLJE 5. KORIŠĆENJE TREĆIH LICA

SENZORI

Pored senzora uključenih u Lego Mindstorms EV3 kućne ili edukativne komplete, moguće je dodatna nabavka Lego senzori i Lego certificirani senzori iz HiTechnic-a.

HiTechnic proizvodi veliki broj senzora za LEGO Mindstorms, većina njih je certificirana od strane LEGO-a, potvrđujući potpunu kompatibilnost, visok kvalitet i sigurnosne standarde.

Takođe važan faktor koji omogućava upotrebu ovih senzora u radu sa decom je prisustvo RoHS sertifikata (Restriction of Hazardous Substances), koji potvrđuje odsustvo upotrebe supstanci u električnoj i elektronskoj opremi: olovo, živa, kadmijum, kalaj, heksavalentni hrom i neka jedinjenja bromida. Za trenutnu listu Lego certificiranih senzora posjetite www.hitechnic.com/sensors.

Trenutno dostupni: senzor ugla rotacije;

sila primijenjena poprečno na osu; kompas; akcelerometar;

žiroskop; detektor magnetnog polja; infracrveni senzor;

infracrveni senzor pokreta, koji vam omogućava da odredite prisutnost ljudi ili životinja u prostoriji, slično senzorima koji se koriste u sigurnosnim sistemima; barometar, koji određuje atmosferski pritisak i temperaturu;

elektrooptički senzor udaljenosti koji precizno detektuje male objekte i male promjene u udaljenosti do njih, ali na udaljenosti ne većoj od ~20 cm; senzor boja

U drugoj lekciji ćemo se bolje upoznati sa programskim okruženjem i detaljno proučiti komande koje postavljaju kretanje naših robotskih kolica, sastavljenih u prvoj lekciji. Dakle, pokrenimo programsko okruženje Lego mindstorms EV3, učitajmo naš projekt lessons.ev3 kreiran ranije i dodajmo ga projektu novi program- lekcija-2-1. Program možete dodati na dva načina:

  • Odaberite tim "Datoteka" - "Dodaj program" (Ctrl+N).
  • Kliknite "+" na kartici programi.

Rice. 1

2.1. Programiranje paleta i programskih blokova

Skrenimo sada našu pažnju na donji dio programskog okruženja. Iz materijala prve lekcije već znamo da su ovdje naredbe za programiranje robota. Programeri su koristili originalnu tehniku ​​i grupisanjem programskih blokova svakoj grupi dodelili sopstvenu boju, nazivajući grupe palete.

Zelena paleta se zove: "Akcija":

Rice. 2

Ova paleta sadrži softverske blokove za upravljanje motorima, blok displeja i kontrolni blok za indikator statusa modula. Sada ćemo početi proučavati ove programske blokove.

2.2. Zelena paleta - akcijski blokovi

Prvi programski blok zelene palete dizajniran je za upravljanje srednjim motorom, drugi blok je za upravljanje velikim motorom. Budući da su parametri ovih blokova identični, razmotrimo postavku na primjeru bloka - velikog motora.

Rice. 3

Za ispravna podešavanja kontrolna jedinica za veliki motor moramo:

  1. Odaberite priključak na koji je motor spojen (A, B, C ili D) (Sl. 3 stavka 1)
  2. Odaberite način rada motora (Sl. 3 stavka 2)
  3. Konfigurirajte parametre odabranog načina rada (Sl. 3 stavka 3)

Kako se modovi razlikuju? Način rada: "Uključi" uključuje motor sa zadatim parametrom "snaga" a nakon toga kontrola se prenosi na sljedeći programski blok programa. Motor će nastaviti da se okreće sve dok ga ne zaustavi sledeći blok "Veliki motor" sa režimom "Ugasiti" ili sljedeći blok "Veliki motor" neće sadržavati druge parametre izvršenja. Mode "Omogući na broj sekundi" uključuje veliki motor podešene snage na određeni broj sekundi, a tek nakon isteka vremena motor se zaustavlja i kontrola u programu prelazi na sljedeći programski blok. Motor će se ponašati slično u režimima "Uključi po broju stepeni" I "Omogući prema broju okretaja": tek nakon što je podešena rotacija motora završena, on će se zaustaviti i kontrola u programu će preći na sljedeći blok.

Parametar snage (na slici 3. snaga je postavljena na 75) može imati vrijednosti od -100 do 100. Pozitivne vrijednosti snage postavljaju motor da se okreće u smjeru kazaljke na satu, negativne vrijednosti postavljaju motor da se okreće suprotno od kazaljke na satu. Pri vrijednosti snage 0, motor se neće okretati; što je “viša” vrijednost snage, to se motor brže rotira.

Parametar snage je specificiran samo u cjelobrojnim vrijednostima; parametri: sekunde, stepeni, okretaji mogu imati vrijednosti s decimalnim razlomkom. Ali zapamtite da je minimalni korak rotacije motora jedan stepen.

Posebno treba spomenuti parametar "Kočnica na kraju". Ovaj parametar, ako je postavljen na "kočiti" uzrokuje usporavanje motora nakon izvršenja naredbe, a ako je postavljeno na "prekoračiti", tada će se motor rotirati po inerciji dok se ne zaustavi.

Sljedeća dva programska bloka "upravljanje" i implementirati kontrolu para velikih motora. Po defaultu, lijevi veliki motor je povezan na port "IN", a desna - do luke "SA". Ali možete promijeniti priključke u postavkama jedinice u skladu sa zahtjevima vašeg dizajna ( Rice. 4 poz. 1).

Rice. 4

Parametar "upravljanje" (Rice. 4 poz. 2) može imati vrijednosti od -100 do 100. Negativne vrijednosti parametra uzrokuju da robot skreće lijevo, vrijednost 0 uzrokuje da se robot kreće pravo, a pozitivne vrijednosti uzrokuju da robot skreće udesno. Strelica iznad numeričkog parametra mijenja svoju orijentaciju ovisno o vrijednosti, pokazujući na taj način smjer kretanja robota ( Rice. 5).

Rice. 5

Programski blok "Nezavisna kontrola motora" izgleda kao softverski blok "upravljanje". Također kontrolira dva velika motora, ali umjesto "upravljanje" postaje moguće neovisno kontrolirati snagu svakog motora. Sa jednakom vrijednošću parametra "snaga" za levi i desni motor, robot će se kretati pravolinijski. Ako primijenite negativnu vrijednost snage na jedan motor (na primjer -50), a pozitivnu vrijednost na drugi (na primjer 50), tada će se robot okrenuti na mjestu ( Rice. 6).

Rice. 6

Stoga su načini rada ovih jedinica slični onima kod upravljačke jedinice jednog motora dodatni opis ne zahtijevaju...

2.3. Pravolinijski pokret, skretanja, okretanje i zaustavljanje

Dakle, sada možemo napisati program za robota da se kreće bilo kojom rutom.

Zadatak 1: Vozite pravo naprijed za 4 okretaja motora. Okreni se. Vozite za 720 stepeni.

Rješenje ( Rice. 7):

  1. Koristeći softverski blok "Steering", vozite naprijed 4 okreta.
  2. Koristeći softverski blok “Independent Motor Control” okrenite se na licu mjesta (vrijednost stepena će se morati eksperimentalno odabrati).
  3. Koristeći softverski blok "Steering", vozite naprijed za 720 stepeni.

Napomena: Zašto sam morao da biram vrednost stepena prilikom okretanja? blok 2?. Nije 360 stepeni - željena vrijednost? Ne ako postavimo vrijednost parametra "stepeni" jednaka 360 , onda ćemo na taj način prisiliti osovine lijevog i desnog motora našeg robota da se rotiraju za potrebnu količinu. Ugao pod kojim se robot okreće oko svoje ose zavisi od veličine (prečnika) točkova i udaljenosti između njih. On Rice. 7 vrijednost parametra "stepeni" jednaki 385 . Ova vrijednost omogućava sklapanje robota prema uputama mali robot 45544 okrene se oko svoje ose. Ako imate drugog robota, morat ćete odabrati drugu vrijednost. Može li se ova vrijednost pronaći matematički? Moguće je, ali o tome ćemo kasnije.


Rice. 7

Zadatak 2: Postavite neku prepreku (kantu, kocku, malu kutiju) na ravnu površinu i označite početnu tačku za vašeg robota. Kreirajte novi program u projektu: lekcija-2-2, koji omogućava robotu da obiđe prepreku i vrati se na početnu tačku.

Koliko softverskih blokova ste koristili? Podelite svoj uspeh u komentarima na lekciju...

2.4. Ekran, zvuk, indikator statusa modula

Programski blok "Ekran" omogućava vam da prikažete tekst ili grafičke informacije na LCD ekranu EV3 Brick. Šta bi ovo moglo značiti? praktična upotreba? Prvo, u fazi programiranja i otklanjanja grešaka u programu, možete prikazati trenutna očitanja senzora dok robot radi. Drugo, možete prikazati nazive međufaza izvršenja programa. Pa, treće, uz pomoć grafičkih slika možete "oživjeti" ekran robota, na primjer, pomoću animacije.

Rice. 8

Programski blok "Ekran" ima četiri načina rada: mod "Tekst" omogućava vam da prikažete tekstualni niz na ekranu, mod "oblici" omogućava vam da prikažete jedan od četiri geometrijska oblika na ekranu (prava linija, krug, pravougaonik, tačka), način rada "slika" može prikazati jednu sliku na ekranu. Možete odabrati sliku iz bogate kolekcije slika ili nacrtati svoju pomoću uređivača slika. Mode "Prozor resetiranja postavki" Resetuje ekran EV3 Brick na standardni ekran sa informacijama koji se prikazuje dok je program pokrenut.

Rice. 9

Pogledajmo parametre programskog bloka "Ekran" u modu "Tekst" (Sl. 9 stavka 1). Niz namijenjen za prikaz na ekranu se unosi u posebno polje (Sl. 9 stavka 2). Nažalost, u polje za unos teksta možete unositi samo latinična slova, brojeve i znakove interpunkcije. Ako mod "Obriši ekran" postaviti na vrijednost "Istinito", ekran će se obrisati prije prikaza informacija. Stoga, ako trebate kombinirati trenutni izlaz s informacijama koje su već na ekranu, onda postavite ovaj način rada na "laž". Načini rada "X" I "Y" odrediti tačku na ekranu od koje počinje izlaz informacija. EV3 Brick ekran je širok 178 piksela (tačaka) i visok 128 piksela. Mode "X" može uzeti vrijednosti od 0 do 177, mod "Y" može uzeti vrijednosti od 0 do 127. Gornja lijeva tačka ima koordinate (0, 0), donja desna (177, 127)

Rice. 10

Prilikom postavljanja programskog bloka "Ekran" možete uključiti način rada preview (Sl. 9 stavka 3) i vizualno procijeniti rezultat postavki izlaza informacija.

U modu "Oblici" (slika 11 stavka 1) postavke programskog bloka razlikuju se ovisno o vrsti figure. Dakle, kada prikazujete krug, morat ćete navesti koordinate "X" I "Y" centar kruga, kao i vrijednost "radijus". Parametar "Fill" (Sl. 11 stavka 2) odgovoran je za činjenicu da će se ili obris figure prikazati, ili će unutrašnje područje figure biti ispunjeno bojom navedenom u parametru "Boja" (sl. 11 stavka 3).

Rice. jedanaest

Da biste prikazali ravnu liniju, morate odrediti koordinate dviju ekstremnih tačaka između kojih se nalazi prava linija.

Rice. 12

Da biste prikazali pravougaonik, morate odrediti koordinate "X" I "Y" gornji lijevi ugao pravougaonika, kao i njegov "širina" I "visina".

Rice. 13

Prikaz tačke je najlakši način! Samo naznačite njegove koordinate "X" I "Y".

Mode "slika", vjerovatno najzanimljiviji i najčešće korišteni način rada. Omogućava vam da prikažete slike na ekranu. Programsko okruženje sadrži ogromnu biblioteku slika, sortiranih po kategorijama. Pored postojećih slika, uvijek možete kreirati vlastiti crtež i, umetanjem u projekat, prikazati ga na ekranu. ("Glavni meni programskog okruženja" - "Alati" - "Uređivač slika"). Kada kreirate svoju sliku, možete prikazati i znakove ruske abecede.

Rice. 14

Kao što vidite, programsko okruženje pridaje veliku važnost prikazu informacija na ekranu EV3 Main Brick-a. Pogledajmo sljedeći važan programski blok "zvuk". Koristeći ovaj blok, možemo emitovati zvučne datoteke, tonove proizvoljnog trajanja i frekvencije, kao i muzičke note na ugrađeni zvučnik EV3 bloka. Pogledajmo postavke programskog bloka u načinu rada "Pusti ton" (Sl. 15). U ovom modu morate podesiti "Frekvencija" tonovima (Sl. 15 stavka 1), "Trajanje" zvuk u sekundi (Sl. 15 stavka 2), kao i jačinu zvuka (Sl. 15 stavka 3).

Rice. 15

U modu "Pusti bilješku" umjesto frekvencije tona, potrebno je da odaberete notu uključenu virtuelna tastatura, a također podesite trajanje i jačinu zvuka (Sl. 16).

Rice. 16

U modu "Reproduciraj fajl" možete odabrati jednu od zvučnih datoteka iz biblioteke (Sl. 17 stavka 1), ili povezivanjem mikrofona na računar pomoću uređivača zvuka ("Glavni meni programskog okruženja" - "Alati" - "Uređivač zvuka") snimite vlastiti audio fajl i uključite ga u projekat.

Rice. 17

Pogledajmo parametar zasebno "Tip reprodukcije" (sl. 17 stavka 2), zajedničko za sve načine programskog bloka "zvuk". Ako ovaj parametar postaviti na vrijednost "Čekaj završetak", tada će se kontrola prenijeti na sljedeći programski blok tek nakon kompletne reprodukcije zvuka ili zvučne datoteke. Ako postavite jednu od sljedeće dvije vrijednosti, zvuk će se početi reproducirati i kontrola u programu će se premjestiti na sljedeći programski blok, samo će se zvuk ili zvučna datoteka reproducirati jednom ili će se ponavljati dok ga ne zaustavi drugi programski blok "zvuk".

Ostaje nam samo da se upoznamo sa posljednjim programskim blokom zelene palete - blokom. Postoji indikator boje postavljen oko kontrolnih tipki EV3 modula, koji može svijetliti u jednoj od tri boje: zeleno, narandžasta ili crvena. Odgovarajući način rada je odgovoran za uključivanje i isključivanje indikacije u boji (Sl. 18 stavka 1). Parametar "boja" postavlja dizajn boje indikacije (Sl. 18 stavka 2). Parametar "impuls" odgovoran za uključivanje/isključivanje režima treperenja indikatora boje (Sl. 18 stavka 3). Kako možete koristiti indikaciju boje? Na primjer, možete koristiti različite signale u boji tijekom različitih načina rada robota. Ovo će nam pomoći da shvatimo da li se program izvršava kako smo planirali.

Rice. 18

Prebacimo ovo znanje u praksu i malo bojimo naš program iz zadatka 1.

Zadatak 3:

  1. Pusti signal "počni"
  2. Omogući zelenu indikaciju boje koja ne trepće
  3. "naprijed"
  4. Vozite pravo naprijed za 4 okretaja motora.
  5. Omogući narandžastu indikaciju trepereće boje
  6. Okreni se
  7. Omogući zelenu trepćuću indikaciju boje
  8. Prikažite sliku na ekranu "nazad"
  9. Vozite za 720 stepeni
  10. Pusti signal "stop"

Pokušajte sami riješiti problem 3, a da ne tražite rješenje! Sretno!

O programskim blokovima panela "Akcije" govorilo se u prethodnim dijelovima pregleda, a u ovom članku ću govoriti o blokovima sa kartice "Upravljanje operaterom".

Ovi blokovi se mogu predstaviti kao „regulatori“ programa: oni će narediti zaustavljanje i nastavak kretanja programa, prelazak na sljedeću granu ili ići u krug.

U poređenju sa NXT, dodana su 2 nova bloka:

  • Početak – u NXT-u je početak programa bio ujednačen i postavljen je odmah po otvaranju programa.
  • Prekidanje ciklusa - jednostavno nije bilo takvog bloka u NXT-u. Ako je bilo potrebno implementirati sličnu funkcionalnost, onda smo morali koristiti varijable.
Opća lista upravljačkih jedinica operatera izgleda ovako:
  • Počni
  • Očekivanje
  • Prekidač
  • Prekidanje ciklusa


Blokiraj "Start"

Možda ste primijetili da je prvi blok svih EV3 programa blok sa zelenom strelicom. Ovaj blok je "Start". Ni jedan program ne može bez toga - tu počinje izvršavanje komande. Ako ne stavite “Start” ispred niza blokova, tada se takav program neće izvršiti.
Na primjer, prema dolje predstavljenom programu, robot će se okretati oko ose (izvršit će se gornji slijed radnji), ali neće reproducirati audio datoteke i osvijetliti dugmad (donja sekvenca bez bloka „Start“ je nije aktivan):

EV3 podržava multitasking, tj. program može sadržavati više od jedne sekvence naredbi. Štaviše, ove sekvence mogu imati svoj "Start" blok ili izaći iz jednog "Start":


Sve takve sekvence će se izvršavati istovremeno.

Imajte na umu da zelena strelica na bloku nije dekorativni element. Ako je jedinica povezana sa računarom (bez obzira na koji način: preko usb-a, wi-fi ili bluetooth-a), tada će se klikom na strelicu pokrenuti ovaj niz za izvršenje.

Blokiraj "Čekanje"

Ovaj blok je također jedan od najčešće korištenih. Program se na njemu "zamrzne" - naredni blokovi programa se ne izvršavaju - i čeka određeno vrijeme ili određenu vrijednost senzora.
"Čekanje" ima veliki broj načina, koji mogu biti zastrašujući:


Ali, u stvari, sve je prilično jednostavno. Svi načini se mogu podijeliti u kategorije:
  • po vremenu - blok čeka određeni broj sekundi prije nego počne izvršavati sljedeće blokove
  • prema senzoru:
    • poređenje - blok očekuje specifično očitavanje senzora navedeno u bloku
    • promjena - blok čeka da se očitanje senzora promijeni za određeni iznos u odnosu na početnu vrijednost. Štoviše, možete odabrati ne samo veličinu vrijednosti, već i njen smjer - smanjenje vrijednosti, povećanje ili u bilo kojem smjeru.
Pogledajmo primjere programa sa svakim blok modom.
U prvom programu se menja pozadinsko osvetljenje dugmadi. Pozadinsko osvjetljenje će biti zeleno jednu sekundu, zatim crveno 1 sekundu, a zatim će se prebaciti na standardni način rada - treperi zeleno:

Drugi program je početak klasičnog rješenja u Kegelringovom takmičenju: robot se okreće oko svoje ose dok ne ugleda konzervu ispred sebe:

Sljedeći program uključuje motor A, a nakon što napravi 5 okretaja, isključuje ga:

Rad ove jedinice s bluetoothom ne razlikuje se od rada s bilo kojim senzorom. Na primjer, sljedeći program čeka na "HI" poruku, a zatim uključuje zeleno pozadinsko svjetlo i pušta zvučnu datoteku:

Blokiraj "ciklus"

Ovo je poseban blok - u njega se mogu umetnuti drugi blokovi. Blokovi unutra će se ponoviti. Modovi bloka petlje specificiraju metodu koja određuje kada bi petlja trebala završiti. Većinu ovih načina rada već poznajemo iz prethodnog bloka čekanja, ali je dodano nekoliko novih:

  • Neograničeno - ova petlja će se izvoditi sve dok program ne bude prisiljen da se prekine
  • Brojanje - petlja će se ponoviti određeni broj puta
  • Boolean vrijednost - petlja će se ponavljati sve dok data vrijednost ne bude istinita
  • Vrijeme - ciklus će se ponavljati za određeno vrijeme
  • Očitavanje senzora:
    • poređenje - ciklus će se ponavljati sve dok senzor ne prihvati navedenu vrijednost
    • promjena - ciklus će se ponavljati sve dok se očitavanje senzora ne promijeni za navedeni iznos u odnosu na početnu vrijednost.
Ime petlje je napisano iznad bloka - 01, 02, .... Ovo ime se može koristiti u bloku prekida petlje, koji će biti opisan kasnije.
Pogledajmo primjere. Prema ovom programu, robot će voziti pravo i okretati se dok se program ne zaustavi (koristi se beskonačna petlja):

Sljedeći program koristi senzor dodira. Dok se ne pritisne, robot rotira srednji motor, prvo u smjeru kazaljke na satu, a zatim u suprotnom smjeru. Nakon pritiska na senzor, motor se zaustavlja:

Kontra petlja vam omogućava da odsvirate notu 10 puta:

Sa modom logičke vrijednosti, morat ćete koristiti još neistražene blokove za ispitivanje senzora. Ovaj program prisiljava robota da se kreće naprijed sve dok ne vidi objekt na udaljenosti manjoj od 20 cm (prvi blok ciklusa) ili ne udari u prepreku senzorom dodira (drugi blok ciklusa). Rezultat logička operacija"ILI" daje treći blok petlje:


"Switch" blok

Sličan blok postoji u NXT-u; on omogućava, ovisno o vrijednosti varijable ili očitavanja senzora, da se izvrši različite sekvence akcije.
Nakon dovršetka ovog niza radnji, program izvršava blokove koji slijede "Switch".
Način rada ovog bloka određuje koji senzor ili vrijednost varijabli će se koristiti. Svi isti načini se koriste kao blok "Cycle": možete koristiti bilo koji senzor (boji, žiroskopski, infracrveni, ultrazvučni, motorna rotacija i drugi), numerički ili tekstualna vrijednost, bluetooth poruka.
Na primjer, prema ovom programu, robot će se prvo rotirati oko svoje ose za 5 okretaja motora, a zatim će se, ovisno o očitanjima senzora žiroskopa, kretati naprijed ili nazad. Ako je ugao koji detektuje žiroskop manji od 90 stepeni, robot će se kretati napred. Ako je ugao manji od 90 stepeni, robot će se vratiti unazad.

Sljedeći program je implementacija jednostavnog relejnog kontrolera za vožnju duž crne linije:

U oba prethodna primjera blok "Switch" je sadržavao samo 2 opcije za razvoj događaja. Ali u stvari, ovaj blok može imati više opcija. Na primjer, ako robot odredi boju objekta, može birati između mnogo većeg broja opcija:


U ovom programu robot detektuje crvenu, plavu, zelenu i bez boje. Imenovaće boje, a takođe će uključiti pozadinsko osvetljenje dugmadi za crvenu i zelenu boju, i krenuće napred u plavoj boji. Možete dodati preostale boje koje senzor može detektovati - crnu, žutu, bijelu, smeđu - pomoću malog "+" dugmeta koje se nalazi na gornjoj opciji (zaokruženo crvenom bojom).
Uz veliki broj opcija (kao u gornjem primjeru), blok "Switch" postaje prilično glomazan i nezgodan za rad. U ovom slučaju, blok se može prebaciti u "ravni način":

Dugme koje se prebacuje između ravnih/detaljnih modova je zaokruženo crvenom bojom.

Blokiraj "Prekid ciklusa"

Ovaj blok je nov, nije postojao sličan blok u NXT-u. Omogućava vam da izađete iz petlje - preostali blokovi petlje neće biti izvršeni, a program će preći na blokove nakon petlje. "Zaglavlje" bloka specificira naziv ciklusa koji mora biti dovršen.
Na primjer, ciklus u programu treba ponoviti 5 puta, ali ako udaljenost do objekta postane veća od 50 centimetara, ciklus će izaći ranije i robot će pustiti zvučni ton:

Posebnost ovog bloka je da ne mora biti smješten unutar prekidne petlje. Na primjer, sljedeći program ispisuje koliko puta će se petlja ponoviti sve dok je svjetlina reflektovanog svjetla veća od 50. Ali ako se dodirni senzor pritisne dok program radi, petlja će se zaustaviti i program će se zaustaviti:

Zdravo. U svojim člancima želim da vas upoznam sa osnovama programiranja LEGO NXT Mindstorms 2.0 mikroračunara. Za razvoj aplikacija koristiću Microsoft platforme Robotics Developer Studio 4 (MRDS 4) i National Instruments LabVIEW (NI LabVIEW). Razmotrit će se i implementirati zadaci automatskog i automatiziranog upravljanja mobilnim robotima. Preći ćemo od jednostavnog ka složenom.

Očekujući neka pitanja i komentare čitatelja.

Zašto NXT Mindstorms 2.0? Jer za njihove projekte ovaj setČinilo mi se najprikladnijim, jer NXT mikroračunar je u potpunosti kompatibilan sa MRDS 4 i NI LabVIEW platformama, a ovaj komplet je i vrlo fleksibilan u smislu sklapanja raznih konfiguracija robota - minimalno vrijeme se troši na sklapanje robota.

Zašto MRDS 4 i NI LabVIEW platforme? Ovako se to istorijski desilo. Dok sam studirao na višim godinama na univerzitetu, zadatak je bio razvijati se obuke koristeći ove platforme. Osim toga, platforme su prilično jednostavne za učenje i funkcionalne; pomoću njih možete direktno napisati program za upravljanje robotom, razviti korisničko sučelje i provesti testiranje u virtualnom okruženju (u slučaju MRDS 4).

Kome uostalom trebaju ove vaše lekcije, na internetu već ima puno projekata iz robotike! Praktično nema edukativnih članaka koji koriste ovu kombinaciju (NXT+MRDS 4/NI LabVIEW), uglavnom se koristi nativno programsko okruženje i sve je u njemu potpuno trivijalno. Svi koji se zanimaju za robotiku, programiranje i koji imaju NXT set (a ima ih dosta), bilo koje dobi.

Grafički programski jezici su zli, a oni koji programiraju u njima su jeretici! Grafički programski jezici, a to su MRDS 4 i NI LabVIEW, nesumnjivo imaju svoje nedostatke, na primjer, fokusiranost na uske zadatke, ali ipak po funkcionalnosti nisu mnogo inferiorniji od tekstualnih jezika, pogotovo što je NI LabVIEW prvobitno razvijen kao lak jezik u savladavanju za rješavanje naučnih i inženjerskih problema, za to sadrži mnoge potrebne biblioteke i alate. Stoga su ovi grafički jezici najpogodniji za rješavanje naših problema. I ne morate nas spaljivati ​​na lomači zbog ovoga.

Sve ovo izgleda detinjasto i nimalo neozbiljno! Kada je zadatak implementirati algoritme, naučiti osnove i principe programiranja, robotike, sistema u realnom vremenu bez upuštanja u sklopove i protokole, onda je ovo vrlo pogodan alat, iako nije jeftin (što se tiče NXT seta). Iako za iste namjene, setovi za Arduino baziran, ali ovaj kontroler nema skoro nikakvu kompatibilnost sa MRDS 4 i NI LabVIEW, a ove platforme imaju svoje čari.

Tehnologije koje se koriste su proizvod propadajućih kapitalističkih zemalja, a autor je neprijatelj naroda i saučesnik zapadnih zaverenika! Nažalost, većina tehnologija u oblasti elektronike i kompjuterska tehnologija Dolazim sa zapada, bit će mi drago ako mi ukažu na slične tehnologije originalne domaće proizvodnje. U međuvremenu ćemo iskoristiti ono što imamo. I nema potrebe da to prijavljujete specijalcima i da se ljutite na mene.

Kratak pregled platformi MRDS 4 i NI LabVIEW.

Dozvolite mi da pojasnim neku terminologiju. Pod platformom u ovom slučaju podrazumijevamo skup različitih alata, na primjer, VPL jezik u MRDS-u, kao i okruženje za izvršavanje aplikacije, tj. Ne postoji direktna kompilacija aplikacija u izvršne (*.exe) datoteke.

Microsoft je 2006. godine najavio stvaranje platforme Microsoft Robotics Developer Studio(više detalja u članku na Wikipediji). MRDS je Windows-bazirano okruženje za razvoj aplikacija za robotiku i simulaciju. Trenutno relevantno jeste Microsoft verzija Robotics Developer Studio 4. Karakteristike uključuju: VPL grafički programski jezik, Web i Windows-bazirana sučelja, VSE simulacijsko okruženje, pojednostavljen pristup senzorima, mikrokontroleru i pokretačima robota, podršku za programski jezik C#, biblioteke za višenitno programiranje i distribuirano izvršavanje CCR aplikacija i DSS-a, podrška za mnoge robotske platforme (Eddie, Boe - Bot, CoroBot, iRobot, LEGO NXT, itd.).

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) je razvojno okruženje i platforma za izvršavanje programa kreiranih u grafičkom programskom jeziku “G” kompanije National Instruments (za više detalja, pogledajte članak na Wikipediji). LabVIEW se koristi u sistemima za prikupljanje i obradu podataka, kao i za upravljanje tehničkim objektima i tehnološkim procesima. Ideološki, LabVIEW je veoma blizak SCADA sistemima, ali je za razliku od njih više fokusiran na rešavanje problema ne toliko u oblasti automatizovanih sistema upravljanja procesima (automatizovani kontrolni sistemi tehnološki proces), koliko u ASNI regiji ( automatizovani sistemi naučno istraživanje). Grafički programski jezik "G" koji se koristi u LabVIEW baziran je na arhitekturi protoka podataka. Redoslijed izvršavanja operatora u takvim jezicima nije određen redoslijedom kojim se pojavljuju (kao u imperativnim programskim jezicima), već prisustvom podataka na ulazima ovih operatora. Operatori koji nisu vezani za podatke izvode se paralelno nasumičnim redoslijedom. Program LabVIEW se zove i predstavlja virtuelni instrument (engleski: Virtual Instrument) i sastoji se od dva dela:

  • blok dijagram koji opisuje logiku virtuelnog instrumenta;
  • prednji panel koji opisuje korisnički interfejs virtuelnog instrumenta.

Kratki pogled na set LEGO NXT Mindstorms 2.0.

NXT komplet se sastoji od kontrolne jedinice, četiri senzora i tri servo. Kontrolni blok sadrži:
  • 32-bitni AVR mikrokontroler 7 sa 256 KB FLASH memorije i 64 KB RAM memorije;
  • 8-bitni AVR mikrokontroler sa 4 KB FLASH memorije i 512 bajtova RAM memorije;
  • Bluetooth V 2.0 radio modul;
  • USB port;
  • 3 konektora za povezivanje servo uređaja;
  • 4 konektora za spajanje senzora;
  • LCD ekran rezolucije 99x63 piksela;
  • zvučnik;
  • konektor za 6 AA baterija.
Senzori (različiti setovi senzora dostupni u različitim konfiguracijama):
  • ultrazvučni senzor;
  • dva taktilna senzora (senzori na dodir);
  • senzor za detekciju boja.


Slika 1 - NXT mikroračunar sa povezanim senzorima i aktuatorima

I naravno, set sadrži razne LEGO dijelove u LEGO Technic form faktoru od kojih će biti sastavljeni aktuatori i noseća konstrukcija.


Slika 2 - Detalji u faktoru oblika LEGO Technic

Pišemo prvu prijavu.

Napišimo prvu aplikaciju. Neka, klasično, ovu aplikaciju prikazuje tekst “Hello, World!”. Implementacija će se odvijati naizmenično u MRDS 4 i NI LabVIEW, pri čemu ćemo razmotriti specifičnosti svake platforme.

Prvo instaliramo platforme MRDS 4 i NI LabVIEW; u slučaju MRDS 4 instalaciju treba izvršiti u folderu čija putanja se ne sastoji od ćirilice (ruska slova), Račun korisničko ime takođe treba da se sastoji samo od latiničnih slova.

1. MRDS 4 platforma.
Pokrenite VPL okruženje (meni Start - Svi programi - Microsoft Robotics Developer Studio 4 - Visual Programming Language). Ovo okruženje omogućava vam da razvijate aplikacije na VPL jeziku i provodite testiranje u VSE virtuelnom okruženju. VPL program je dijagram koji se sastoji od međusobno povezanih blokova. U prozoru koji se otvori, pored standardne komandne trake i menija, nalazi se 5 glavnih prozora:
  1. Osnovne aktivnosti – sadrži osnovne blokove koji implementiraju operatore kao što su konstanta, varijabla, uslov, itd.;
  2. Usluge – sadrži blokove koji omogućavaju pristup funkcionalnosti MRDS platforme, na primjer, blokove za interakciju sa bilo kojom hardverskom komponentom robota, ili blokove za pozivanje dijaloškog okvira;
  3. Projekat – kombinuje dijagrame uključene u projekat, kao i razne konfiguracione fajlove;
  4. Svojstva – sadrži svojstva odabranog bloka;
  5. Prozor dijagrama – sadrži direktno dijagram ( izvor) aplikacije.

Slika 3 - VPL programsko okruženje

Izvršimo sljedeći niz radnji:

2. NI LabVIEW platforma.
Na ovoj platformi sve je implementirano gotovo identično. Pokrenimo LabVIEW okruženje. Pred nama će se pojaviti dva prozora, prvi je Front Panel, dizajniran za implementaciju korisničkog interfejsa ( izgled virtuelni uređaj), drugi je blok dijagram, za implementaciju programske logike.


Slika 8 - Windows okruženje LabVIEW

Koristićemo prozor blok dijagrama. Izvršimo sljedeće korake:

Sažetak

  • Napravili smo recenziju softverske platforme za razvoj NXT mikroračunarskih aplikacija.
  • Razmotrili smo osnovne principe razvoja aplikacija na platformama MRDS 4 i NI LabVIEW.
  • Upoznali smo se sa interfejsom okruženja.
U sljedećim člancima bavit ćemo se direktno NXT programiranjem. Na mreži postoji mnogo materijala za obuku za LabVIEW okruženje, ali mnogo manje za VPL. Toplo preporučujem proučavanje referentnog priručnika za obje platforme (potrebno je poznavanje engleskog jezika), u ovim priručnicima ima dosta primjera koji se mogu implementirati bez NXT-a, kao i sljedeće knjige:
  • Programiranje NXT mikroračunara u LabVIEW - Lidiya Beliovskaya, Alexander Beliovsky,
  • Microsoft Robotics Developer Studio. Programiranje algoritama upravljanja robotima - Vasily Gai.
U svojim člancima opisaću samo svoje projekte, jer... Ne vidim smisao u prepisivanju informacija iz jednog izvora u drugi. Prihvatit ću svaku konstruktivnu kritiku i odgovoriti na sva pitanja u vezi s pregledanim platformama. Hvala unapred!

Vrhunac Lego stvaranja bilo je izdavanje programabilnih konstrukcionih setova LEGO Mindstorms Ev3. Igračka je namijenjena djeci starijoj od deset godina.

Sada se mindstorms ev3 može bez problema kupiti u specijalnim prodavnicama ili na internetu. Lako se programiraju za obavljanje određenih radnji.

Postavljanje okruženja za programiranje

Prije nego počnete pisati komande za robota, morate instalirati softver.

Zahtjevi za PC sistem za rad sa lego mindstorms ev3:

  • OS Windows XP, 7, 8 ili MacOs (10.6-10.8);
  • 2 GB RAM-a i 750 MB prostora na disku.

Kada instalirate okruženje pomoću USB-a, odaberite verziju za nastavnika ili učenika.

Nakon instalacije kreiramo projekat koji se prikazuje kao folder. U kontrolnom panelu biramo šta želimo da kreiramo, programiramo ili sprovedemo eksperiment. Preporučljivo je napraviti eksperiment za proučavanje performansi senzora.

Program upravljanja robotom sastoji se od blokova, uzastopnih operacija koje izvodi, a svaki pojedinačni blok ima svoj način rada. Na primjer, način rada kontrolne jedinice motora je mogućnost zaustavljanja. Proučite detaljno sve simbole koji su ispisani na ekranu.

Na ekranu se nalazi meni koji uključuje kartice:

  • akcija;
  • upravljanje operaterom;
  • senzor;
  • operacije sa podacima;
  • moji blokovi itd.

Koristeći ovaj meni, možete programirati robota da izvodi različite radnje. Na primjer, na kartici koja je odgovorna za rad različitih mehanizama, možete podesiti motorni mod za kretanje, zaustavljanje ili pokretanje. Tamo možete podesiti vrijeme, količinu i ugao rotacije.

U bloku "zvuk" možete programirati robota da igra zvučni signali. Ovi signali se mogu učitati ili snimiti pomoću mikrofona. Važan element programske kontrole je dio menija koji kontroliše operatore. U njemu možete kontrolirati djelovanje samog programa.

Ovdje možete dati sljedeće naredbe programu:

  • početi očekivati;
  • ponavljanje ciklusa;
  • prebacivanje između blokova;
  • završiti ciklus.

Lego mindstorms ev3 je multitasking, prilagođava više sekvenci komandi. U program možete programirati ne samo svoje radnje, već i redoslijed njihovog izvršenja.

Kombinovanjem svih mogućih komandi odgovarajućeg menija možete kreirati složene putanje i tipove ponašanja konstruktora.

LEGO Education Mindstorms EV3: Programiranje Robohanda (Robohand H25):