.

.

nedelja, 1. junij 2014

Osnove programiranja

Že na začetku se opravičujem glede nepravilnosti, ker je bilo to prevedeno iz angleščine



1.  Večopravilnost

Zanimanje za to delo je seveda, da se dokaže, večopravilnost, tj zmožnosti programa EV3 teči več podružnic hkrati. Ta program razdeli na dva dela po zagonu bloka, tako da obe veji bo potekal istočasno.

Spodnja veja vsebuje "zvok" blok v "play datoteke"  načinu . Glava blok kaže, da je bila izbrana zvočna datoteka "motorno idle". Volumen je bil določen na 100% in "tip play" je nastavljena na "repeat" (možnost 2), tako da bo zvok neprekinjeno igral, dokler je drugi blok ga naroči, da prenehate.

Zgornja veja vsebuje "premik volana 'blok v" rotacij "način. Volan je nastavljena na nič (naravnost), je moč nastaviti na 50%, je število vrtljajev nastavite na dva in možnost zavora je vključena. Zgornja veja vsebuje tudi "zvok" blok v načinu "stop", ki preprosto ustavi vsak zvok, ki se trenutno predvaja.

Tako da bo ta program stalno igrajo "motorno idle" zvok, dokler se robot premakne naprej, dva vrtljaje kolesa.

2.  Loop

Bodite pozorni! Zanke so pomembni! Ta program se začne (po zagonu bloka), z zanko blok, znotraj katerega obstaja "Lučka stanja opeko" blok v  "o"  načinu z barvo nastavljena na rdeče (možnost 2) in pulziranje izklopljen. Zanka sama je v "času" način s številom sekund, določenih na 2, tako da zanka se ponovi (in lahka opeka bo utripala rdeča) za dve sekundi. Potem je lučka stanja opeke izklopljen s svetlobnim stanje opeke blok v reset načinu.

Zdaj programu pljune na dva dela, ki bo potekal istočasno. Zgornja veja vsebuje zanko blok (zanko 02), v katerem je druga zanka blok (zanka 03). Znotraj zanke 3 je  "zvok" blok v "play datoteke"  načinu . Glava blok kaže, da je bila izbrana zvočna datoteka "klik". Volumen je bil določen na 100% in "tip play" je nastavljena na "počakati na zaključek" (možnost 0), kar pomeni, da bo zvok igral enkrat in da bo program Počakajte na zvok za dokončanje pred nadaljevanjem. Loop 03 vsebuje tudi čakanje blok v "času" način s številom sekund nastavljen na 1, tako da bo ena drugi premor po klik zvok ustavi. Sama zanka 03 blok se nahaja v "grof" način  s  številom grofov iz 2, tako da vsebina zanke bo potekal dvakrat in robot bo šel "klik, pavza, kliknite, premor".Ko je program zapustil zanko 03 bo poteza volan blok v načinu 'rotacijah' bo robot premakniti naravnost s 50% moči za 1 vrtenja koles. Loop 02 v "neomejeno" način, kar pomeni, da se bo ponovil, dokler ustavil na drug blok.

Ne smemo pozabiti na spodnjem zanko, ki je hkrati teče z zgornjo zanko. Spodnja zanka vsebuje čakanje blok v načinu 'senzor na dotik> primerjate> državno ".Parameter "država" je nastavljena na "pritisnil" (možnost 1), tako da blok bo nenehno primerjati dejansko stanje senzorja na dotik z "stisnjenega" države, ki se konča čakati, ko so enake, z drugimi besedami, če dejansko stanje stikala je (enako) "stisnjene".Blok vsebuje tudi "izmerjena vrednost" izhod, ki se ne uporablja tukaj. Zadnji blok je "zanka prekine" blok, ki ima samo en način, in ki bo prekinil zanko imenom v glavi bloka (loop 02 v tem primeru).

Če povzamemo, je ta program najprej naredi Lučka stanja pulz opeko rdeči dve sekundi, nato klikne dvakrat in se premika naprej vrtenje enega kolesa, večkrat klikom in se gibljejo, dokler ne pritisnete senzor na dotik.

3.  Switch

Bodite pozorni! Stikala so pomembni!  Ta program vsebuje blok zanke, ki je določen za večno ponoviti (dokler je program prenehal, ki jih uporabnik s pritiskom na "nazaj" gumb na opeko). V zanki blok stikalo blok v načinu 'barva senzor> primerjate> odraža intenzivnost svetlobe ". "Primerja tip" je nastavljena na "manj kot" (opcija 4) in mejna vrednost je nastavljena na 50%. Torej bo blok stikala test, ali je izmerjena odraža intenziteta svetlobe manj kot 50%. Če je ta pogoj izpolnjen ali "drži", nato pa bo potekal vrh podružnica stikala (opazili kljukico nad to vejo). Top veja ima "velika napaka" blok v načinu "off", ki bo izklopite motorja C (desni motor). Druga velika blok motorja se vklopi motorja B (levo) motorja pri 50% moči, da bi robot obrniti srednje pravico. Ker je zanka nastavljena ponoviti vedno robot bo pa prav tako dolgo, kot kaže svetilnost je manj kot 50%, na primer, ko je senzor nad črno črto. Nižji veja stikala zanke naredi nasprotno, kar robot zavijemo medij levo če senzor zazna močan odsev svetlobe , na primer ko je senzor  nad  belo površino.

Ta program je v bistvu preprosta oblika programa "črta naročnik". Namen je, da se bo robot sledi črno črto, ki je bil izdelan na belo mat. To je malo težko narediti z uporabo le en barvni senzor. Si predstavljamo, da je robot premika vzdolž linije s senzorjem v črno črto, potem bo senzor zazna zelo malo svetlobe, kar se kaže. Če robot zaide off linijo, potem bo senzor zazna močno odraža intenzivnost svetlobe, ampak kako koristen je ta informacija? Robot ne bo vedel, ali je odplaval drugam na levi strani linije ali desno, tako da ne bo vedel, kako naj se obrnejo. Torej trik je, ne da bi poskušali slediti "linijo", to je, da sledite en rob črne črte, recimo desni rob. Zdaj, če senzor zazna, da je nad belo , potem vemo, da robot zavili levo ponovno najti rob in če senzor zazna, da je več kot črni potem mora robot obrniti pravico , da ponovno najdejo rob. 

To je tisto, nad čemer je program, ga naredi robot zavijete levo, če senzor zazna svetlo razmislek in desno, če odraža svetloba šibka. To je linija Partizan - poskusite! (To deluje, vendar je to precej neučinkovito.)

4.  Multiple Switch

Opomba: ta vaja predpostavlja, da se barvni senzor poravnan vodoravno, tako da se lahko predstavijo različne plati "multi-barvne kocke" z njim.

Ta program vsebuje blok zanke, ki je določen za večno ponoviti (dokler je program prenehal, ki jih uporabnik s pritiskom na "nazaj" gumb na opeko).

V zanki blok stikalo blok v načinu 'barva senzor> ukrep> barva ". V tem načinu ima stikalo lahko več kot dve veji - začne se z njima pa lahko dodate več vej s klikom na malo "+" znak v bloku.
  • Top veja tega stikala bloka pove program, kaj storiti, če senzor zazna "brez barve" - ​​se bo nenehno premikajo naravnost naprej z močjo 40%.
  • Srednja veja pove program, kaj storiti, če senzor zazna " blue "- bo stalno zavijemo rahlo levo (z leve motorja pri 10% moči in desni motorja pri 40% moči).
  • Dno podružnica pove program, kaj storiti, če senzor zazna " rumeno "- bo stalno zavijemo rahlo desno (z leve motorja pri 40% moči in desni motorja pri 10% moči).

5.  Podatkovni kabli

Ta program vsebuje zanko.  Notranja zanka je ultrazvočni senzor smo postavili blok primerjati razdalje v centimetrih. "Primerja tip" je nastavljena na "manj kot" (možnost 4) in vrednost praga nastavljen na 8 (cm). Tako je blok testiranje, da se ugotovi, ali je izmerjena razdalja med senzorjem in odsevnega predmeta manj kot 8 cm. Naslednja točka je "izhod", ki vsebuje rezultat primerjave ( logična vrednost , bodisi "true" ali "false"). Zelena podatki žica  povezuje izhod iz tega bloka na vhodu krmilnega zanke - več o tem kasneje. Blok ima tudi izhod za merjene razdalje v cm. Podatki žica je priloženo k temu in njegova rumena barva označuje, da je nosil številčno vrednost .

Naslednja blok je "besedilo" blok, ki ima samo en način: Merge. Njegova naloga je, da "spajanje" ali "pridružijo" ali "združite" dva ali tri dele besedila skupaj in izhod rezultat.V tem primeru bo blok  pridružijo  skupaj število prejetih vlog čez rumeno podatkovnega kabla (ki predstavlja razdaljo do bloka) in besedilni niz "cm". Besedilni niz se imenuje "niz", saj je niz znakov. Upoštevajte, da besedilni niz vsebuje presledek, kot tudi dve pismi. To je v redu za besedilni blok prejeti številko na enega, če njegovi vložki, tudi ko je pričakoval besedilo, ker blok je dovolj pameten, da veš, kako spremeniti te številke v besedilnem nizu. Besedilo blok oddaja pridružil-up besedilo prek podatkovnega kabla, ki je obarvano oranžno, kar pomeni, da je knjigovodskabesedilo .

Naslednja blok je  zaslon blok v načinu 'tekst omrežja ". To prejme besedilo iz prejšnjega bloka z žico podatkov oranžna, izklopi zaslon, prikazuje začetek besedila v položaju (5,6) na zaslonu na besedilno mrežo, ki je 22 celic široka v smeri x in 12 celic visok v y smer. Zgornjem levem besedilo celica ima koordinate (0,0) in celične spodaj desno ima koordinate (21,11). Tako bo besedilo prikazano nekje na  sredini  rešetke.Barva besedila je nastavljeno na "false", kar pomeni "črni" in pisava je nastavljena na "veliki" (možnost 2). V "Veliki" font vsak znak zasede 2 Besedilo celice vodoravno in 2 celicah besedila navpično, tako da v tej pisavi lahko na zaslonu prikaže 6 vrstic vsake 11 znakov.

Zanka v tem programu naj bi se ponavlja tako  , dokler  se določena logično pogoj izpolnjen, ali "dejanska".  input regulacijski krog priključen na zeleno podatkov žice, ki, kot je razloženo prej, imelo vrednost "pravi", ko ultrazvočni detektor zazna, da oddaljenost od  zrcalne  je predmet manj kot 8 cm.

Ko zanke izhodih (ker je postalo res, da je bila razdalja do objekta manj kot 8 cm) zaslon blok v slikovnem načinu prikaže izbrano slikovno datoteko "Up", ki sta upodobljena oči pogledala. Zaslon opeke je najprej izbil potem je slika prikazana s svojo zgornjem levem kotu v položaju (0,0) v pikslih, in sicer v zgornjem levem kotu zaslona. 

Končno 'čakati' blok naredi program, počakati dve sekundi, preden se konča. Brez tega bloka bi se program konča, preden boste imeli čas za ogled oči na zaslonu.

Če povzamemo, ta program vsebuje zanko, ki nenehno meri razdaljo do predmeta (predpostavljamo, da bo na začetku več kot 8 cm stran), nato pa prikaže izmerjeno razdaljo na zaslonu opeke je. Je zanka izstopi, ko je program zazna, da je oddaljenost odsevnega predmeta postanejo manj kot 8 cm, in slika dve očesi nato prikaže za dve sekundi.

6.  Naključno

Naključni blok v številčni način in ustvarja naključnih števil med -70 in 70 let. ustvarila celo potuje skozi rumeno podatkovnega kabla na "premik volanskega" bloka, ki vozi v ravni liniji z naključnim moči med -70% (nazaj ) in 70% (naprej), naključno nastavitev moči, prihajajo iz naključnega bloka. Vsako gibanje naprej za eno sekundo in potem program premori za 1 sekundo. "Večno" zanka zagotavlja, da bo robot ponovite naključno potezo in premor vzorec, dokler je program prisiljeni prenehati s pritiskom na "nazaj" gumb opeke je.

7.  Senzor bloki

Ti dve zanki bo potekal istočasno, saj so tako začeli z začetnim blokom. 

Top zanka vsebuje blok barvni senzor v načinu "ukrep> jakosti svetlobe okolice."Merijo jakost svetlobe bo izhod skozi rumeno podatkovnega kabla na "premik volanskega" blok. Ta blok je v načinu 'on' s krmilnim sklopom za trdo desnem ovinku.Moč motorjev je določen z močjo blok barvni senzor. Torej, če senzor ne prejme več svetlobe, potem bo robot nato zelo počasi in če senzor zazna veliko svetlobe (morda zato, ker ste sije baklo na to), potem bo robot nato hitro. Zanka je nastavljen za neprekinjeno delovanje, dokler prekinjena z drugo blok ali z prisilno prenehanje programa.

Spodnja zanka se bo tudi neprekinjeno delovanje. Blok senzor na dotik, je v "primerjajte> stanje" način. Dejansko stanje senzorja je treba primerjati z "pritisnili" stanje (možnost 1) in če so dve stanji enako (z drugimi besedami, če pritisnete stikalo), nato pa "pravo" vrednost bo izhod s " primerjati rezultat "izhod. Izhodna izmerjena vrednost "se ne uporablja. 

Stikalo blok je v načinu logike, tako da ima dve veji, od katerih bo potekalo po tem, ali je stikalo vhodni logika prejme vrednost 'pravega' ali vrednost "false".
  • Če pritisnete senzor stikalo na dotik, nato pa bo top podružnica teči in motorji bodo ustavili, nujni nobenih navodil v zgornjem zanke, da bi se motorji obrniti.Lučka stanja opeke blok je "on" način in bo luč pridi v rdeči barvi, brez utripa.
  • Če je senzor stikalo na dotik ni pritisnjena, potem bo dno podružnica vožnjo in lučka stanja opeke se bo obnovljena, tako da izklopite, nato pa bo program premor za eno sekundo.
Če povzamemo, ko je na dotik senzor ni pritisnjena vrh zanka je lahko, da bi robot zavoj v desno s hitrostjo, ki je odvisna od intenzitete svetlobe okolice. Če je senzor na dotik pritisnjena potem bo robot stop premika, dokler ne pritisnete stikalo in lučka stanja zasveti v rdeči barvi.

8.  Besedilo

Ta program je kot program, 5, vendar enostavnejši. Ultrazvočni senzor blok ima svoj način nastavljen za merjenje razdalje v centimetrih. Izmerjena razdalja je izhod preko podatkovnega kabla za besedilni blok, ki bo združila (poveže) to število v niz "CM" in nato izhodni dobljeni niz besedila na zaslonu blok. Prikaz blok je v načinu 'tekst omrežja ". To bo počistiti zaslon in prikaže vhodnega besedilni niz v položaju omrežja (5,6), ki je približno na sredini mrežo besedila. Besedilo se prikaže v črni barvi v "veliki" pisave (možnost 2). Vse je zaprt v "večno" zanko, tako se bo zaslon stalno posodobljen s trenutnim razdalje branja senzorja.

9.  Območje

Ultrazvočni senzor blok ima svoj ​​način nastavljen za merjenje razdalje v centimetrih.Izmerjena razdalja je izhod preko podatkovnega kabla na  območju bloka  , ki ima svoj ​​način nastavljen na "znotraj". Input "preizkus vrednost" iz senzorja je preizkušen, da ugotovi, ali je v območju, ki ga je "spodnja meja" in "zgornja meja" vrednot bloka.Rezultat testa (logična vrednost "true" ali "false") je izhod na stikalni blok. 
  • Če stikalo blok prejme logično vrednost "true" (kar pomeni, da je razdalja, merjena s tipalom v razponu 10-20 cm), nato pa "premik volanskega" blok v načinu 'on' bo robot korak naprej naravnost Črta na 50% moči.
  • Če stikalo blok prejme logična vrednost "false" (kar pomeni, da je razdalja, merjena s tipalom NE v območju 10-20 cm), nato pa "premik volanskega" blok v načinu "off" bo stop robot premika. 
V praksi se ta program lahko uporabljajo za izdelavo robot sledi predmet, ki se oddaljuje od njega - to se bo pomaknil naprej proti predmetu, dokler je predmet med 10 in 20 cm pred njo, vendar se bo nehal premikati, če postane bližje kot 10 cm, s čimer se izogne ​​trčenju.

10.  Maths - Basic

Ta program izračuna, koliko je potrebno, da se robot premakne naprej 50 cm kolesni rotacije, potem je robot premakniti, nato pa izračuna hitrost robota pri gibanju. Vsakič robot kolo zavrti okrog enega obrata celotnega oboda valjev koles po tleh. Premer plaščev EV3 je približno 5,6 cm, tako premer 5,6 * π = 17,6 cm. Zato, da bi našli število rotacij, potrebnih za premikanje robota naprej 50 cm moramo ločujejo 50 cm z razdaljo prestavljen v vsakem vrtenja kolesa (enaki oboda kolesa), ki je 17,6 cm. Math blok naj bi se naredil delitev za nas in za izhod rezultat prek podatkovnega kabla na "premik volanskega" blok, ki bo premakniti robota naprej v ravni črti pri 40% moči za pravilno število rotacij. Preden se robot premakne, blok ura v načinu ponastavitve začne časovno gibanje. Možno je, da ima do 8 števce delovne hkrati, tako da je treba dati vsakemu časovnik identifikacijsko številko - naša timer  ima ID '1 '. Ko je robot končal premikanje timer blok v "ukrep> Čas indikator" način izhoda izmerjeni čas v matematiki bloku v načinu "delitev", ki deli razdaljo (50 cm) s časom in izpiše rezultat na  bloku zaokroževanje . Ta blok je "do najbližje mode", ki bo izpopolnil decimalno število na najbližje celo število. To število je izhod na besedilni blok, ki združuje številko z besedilnim nizom "cm / S" in pridružili besedilo pa je opravil na zaslonu bloka, ki prikazuje besedilo v položaju (5,6) na besedilno mrežo, v črni in v "veliki" pisavo.

11.  Gyro - Stopnja

Blok Žiro senzor  je "ukrep> tečajev" način. Izmerjena hitrost obračanja v stopinjah na sekundo, je izhod preko podatkovnega kabla na prikazni blok. Prikaz blok, ki je v načinu 'tekst omrežja ", prejme število tečajev na vrsti in jo prikaže na mestu (8,6) na besedilno mrežo (blizu centra) v črni barvi v" veliki "pisave (možnost 2). Program se začasno ustavi za 0,5 sekunde, preden bo drugo branje. Večno zanke zagotavlja, da je branje nenehno posodablja vsakih 0,5 sekund.

12.  Primerjava

Blok barvni senzor je "ukrep> barvni" način. Izhod, je število, ki ustreza razkritega barve, se prenese na  primerjavo bloka  , ki je v "enaka" način. Blok primerja številčno vhod iz bloka senzorja barve s številko 3, ki ustreza zelene barve. Če je število enako (tj. če je zaznala barva je 'zeleno') nato logična vrednost "pravi" spustimo skozi podatkov žico switch bloka drugače "false se prenaša vrednost.
  • V "pravi" primeru (zazna zelena) zgornjo vejo stikalni blok teči, povzroča "akcija usmerjevalnih blok za vožnjo robota naprej na 50% moči za 1 vrtenja koles.
  • V primeru "lažnih" (zelena ne zazna) je manjša veja stikalni blok teči, zaradi česar "klik" zvok, ki se igra na 100 vol%. Zvočne bloka "tip play" je nastavljena na "Počakajte za dokončanje" ( možnost  0), tako da bo program premor za trenutek, dokler zvok konča igrati. Potem bo počakati blok bo program premor za celo sekundo.
Prisotnost večno zanke zagotavlja, da bo program, da išče in odzivanje na, prisotnosti ali odsotnosti zelene barve.

13.  Spremenljivke


Bodite pozorni! Spremenljivke so pomembni!  Pomislite na spremenljivke, kot nevidni imenom škatli, katerega vsebina se lahko spremeni, medtem ko program teče. V EV3, lahko vsebina v obliki:
  • besedilni niz
  • logična vrednost (true ali false)
  • številka
  • array (seznam) številk
  • array (seznam) z logičnimi vrednostmi
Ta program se začne (po zagonu bloka) s  spremenljivo bloka  v "napisati> številčni" način. Številka nič je napisan v spremenljivko z imenom 01. Nato je večno loop začel.Čakati blok v "dotik senzorja> primerjate> state" način naj bi se počakajte na dotik senzor  je " udaril "(stisnjeni in sproščena). "Izmerjena vrednost 'izhod v bloku se ne uporablja. Zvok blok v načinu "play" tona bo nato igrala ton frekvence 293,67 Hz (zaznamek "D") za 0,05 sekunde na 100 vol%. Program je rekel, naj počaka, dokler se zvok končal igranje pred nadaljevanjem. Potem številko (sprva nič) znotraj spremenljivo '01 'se glasi, in izhod prek podatkovnega kabla na  matematičnem blok v »Dodaj« načinu. Math blok dodaja, eno na številko, vendar  vedite, da je kopija številko v spremenljivki, ki je bila spremenjena in ne spremenljivka sama .Poveča število poslana preko podatkovnega kabla s spremenljivo blok, ki piše, da je za eno večja številko nazaj v spremenljivko. Math blok pošlje tudi na povečan številko na zaslonu bloku v načinu "besedilo omrežja", ki prikazuje število v mestu (10,6), na besedilno mrežo (približno v sredini). Številka se prikaže v črni barvi z "velik" pisavo.Ker vse to se dogaja v notranjosti vedno blokirajo program večkrat čaka na gumb na dotik, ki se  vrč in dodal, eno z vsebino spremenljivke vsakič čakati blok zazna "udarec " .

Medtem ko je za vedno zanka teče, pa še čakati blok v spodnjem podružnice tudi teče.To je nastavljen tako, da po petih sekundah se bo zanka prekine blok prekiniti zanko 01, ki povzročajo zanke, 01 za izhod. To pomeni, da bo zanka 01 le nadaljuje štetje "bule "  senzorja na dotik za pet drugem obdobju. Ko je zanka 01 prekinjen spremenljivka blok prebere vsebino spremenljivke 01 (ki vsebuje številka, ki označuje, kolikokrat je senzor  vrč)  in nato 'kos usmerjevalnih blok prodira robota napredovati v ravni liniji 50 % moči za več koles rotacij enake pridobljen iz spremenljivega števila.Tako, na primer, če je bil senzor  zaletel  v obdobju petih drugo čakalne dobe štirikrat, potem robot bo napredovati štiri rotacije koles.

. 14.  Barvni senzor - umerjanje

Oglejmo si spodnji vrstici prvi.  To je večno zanko, ki bo nenehno prikaz na zaslonu opeke je odbitih jakost svetlobe, merjeno s senzorjem barvo, ki daje meritev kot odstotek maksimalne svetlosti. Prvi blok barvni senzor v "ukrep> kaže intenzivnost svetlobe" način meri odraža intenzivnost svetlobe (duh) in rezultati te vrednosti v besedilni blok s pomočjo podatkovnega kabla. Besedilo blok pridružuje niz "%" s številom in slišati nastalega niza na zaslonu bloku v načinu "besedilo omrežja". Ta blok prikaže niz v sredini zaslona na položaju omrežja (8,6) v črni barvi v "veliki" pisavo.

Denimo barvni senzor je zasnovan tako, da vrne vrednost 0%, če jo namestimo na popolnoma črno površino (ki bo odražala nobene svetlobe) in 100%, če jo namestimo na popolnoma belo površino. Nobene prave "črna", površina ni popoln, vendar, da ko jo namestimo na resničnem črnem papirju senzor lahko,  na primer,  vrne vrednost 23%. Podobno prave površina popolnoma bela tako lahko senzor vrne vrednost 73%, na primer, kadar jo namestimo na stanja "belega" papir. To bi bilo veliko bolj priročno, pri pisanju programa, da veš, da bo senzor vrne '0 ', ko nad  črnim  papirjem in 100%, če v belem papirju - lahko bi se to zgodilo z "kalibracijo" tipalo z uporabo programa kot v  prvem delu  na sliko.

Prvič, kaj je umerjanje za temno podlago, tako da bo senzor dati kaže intenzivnost svetlobe vrednost 0%. Wait blok "gumb opeke> primerjate 'v pripravljenosti čaka na gumb desni opeke, da je" vrč "(stisnjeni in sprosti). Ta " bula "  bo povedal program, ki se senzor čez temno podlago, da kalibracija lahko začne. Potem blok barvni senzor v "ukrep> kaže intenzivnost svetlobe" način meri odraža intenzivnost svetlobe - to bi bilo 23%, na primer, in rezultati, ki vrednost. Naslednja  blok barvni senzor v "kalibrira>kaže  intenzivnost svetlobe> minimum "način  prejme vrednost in umerja senzor, tako da je ta količina odbite svetlobe, se bo od zdaj naprej (do konca programa) povzroči senzor vrne vrednost 0%, ne kot 23%, ko je nad nami na črnem papirju. Ker se vedno zanka v drugem delu programa nenehno prikazuje izhod senzorja lahko pričakujemo prikazana vrednost za skok iz vrednosti kot 23% na vrednost 0%.  Upoštevajte, da blok barvni senzor v režimu kalibriranja  ne sam merjenje jakosti svetlobe  - biti mora povedal  svetlobe  intenzivnost z drugim blokom (ali jih vnesete vrednost v "vrednost" vhod). To je pogosta napaka domnevati, da blok barvni senzor v režimu kalibriranja meri intenzivnost svetlobe in uporablja izmerjeno vrednost za kalibracijo . Zvok telo se nato predvaja zvok na "klik" pri 100 vol%, ki čakajo na zvok neha igrati pred nadaljevanjem. To potrjuje, da je bilo narejeno prvo kalibriranje (za temno podlago).

Sedaj je senzor nameščen nad svetlo površino, ki jo želimo povezati z vrednostjo tipalom 100%. Tako kot prej, trkanje na desni gumb opeke pravi program, da lahko nadaljuje s kalibracijo. Barvni senzor blok meri odraža intenzivnost svetlobe (73%, morda) in prehaja to vrednost na blok barvni senzor v režimu kalibriranja, kot prej.Tokrat je "največja" vrednost za senzor kalibrira, tako da od zdaj na tej ravni odbite svetlobe bo vrnil 100% namesto 73%. Tako smo  lahko pričakujemo prikazane vrednosti za skok od vrednosti kot 73%, z vrednostjo 100%, kadar je ta druga kalibriranje opravljeno.  en klik, potrjuje, da je "svetlo" raven odbite svetlobe kalibriran, da je 100%.

Zdaj  še počakati blok "gumb opeke> primerjate 'v pripravljenosti čaka na gumb desni opeke, ki se  vrč . To pove program, smo pripravljeni, da ponastavi senzor za njegovo začetno  stanje, ki se izvaja s senzorjem barvni blok v reset načinu.  Še en "klik" zvok potrjuje, da je bil senzor obnovljena. Zdaj bo senzor prijavi našo svetlo površina ima belino 73%, kot prej.

15.  Sporočila

Ta program (ali bolje rečeno, ta par programov) omogoča dva opeke, da komunicirajo med seboj s pomočjo Bluetootha (kratkega dosega brezžično radijsko sporočilo).Program (-e) bo omogočilo, da nadzorujejo hitrost vrtenja robota prejemnice, ki bo vrti na kraju samem, z obračanjem na desno kolo (motor c) pošiljatelja bloka. To je pravica - bomo nadzor nad drugo robota z "daljinsko upravljanje".

Ne bom razlagal tukaj, kako vzpostaviti povezavo Bluetooth med obema opeke - glejte programsko opremo Lego za to. Bom Predvidevam, je povezava vzpostavljena in da je pošiljatelj opeke se imenuje EV3-1, medtem ko je opeka sprejemna imenuje EV3-2.Lahko preimenujete opeko, ki je povezan s programsko opremo EV3 uporaba armaturne plošče "Brick informacije" v spodnjem desnem kotu programskega vmesnika EV3.
Tu zgoraj je program, ki ga je treba prenesti na pošiljateljica opeke, EV3-1. 
Prvi Yellow Brick ponastavi kota ukrep motorja C, tako da se glasi nič stopinj.Upoštevajte, da motorji delujejo kot senzorji, kot tudi motorje, vendar če se uporablja kot senzorjev (kot je v tem programu) Motor mora biti še vedno priključen na motorno vrata namesto pristanišča senzorja. 

Znotraj zanke rumeno vrtenja motorja senzor blok ukrepi kotom motorja C (desna kolo pošiljatelja robota) in prehaja ta kot vrednost prek podatkovnega kabla, ki je priključen na vhod 'sporočilo' v modro Sporočila bloka. Ta blok je v lji> številskinačin in njeno sprejemno opeke ime parameter nastavljen na "EV3-2", ker je to ime opeke, ki bodo prejeli naše sporočilo. Tako ta program prebere kota motorja in nato pošlje to drugi opeke kot Bluetooth sporočilo. Ta se nenehno ponavljati zaradi zanke.
Drugi program, zgoraj, je treba namestiti na sprejemne opeke imenovane EV3-2. Blok modra sporočil je v prejmete > številski  način. To bodo prejeli pošiljajo sporočila od pošiljatelja robota (EV3-1) in mimo vrednosti v sporočilih prek podatkovnega kabla na "moči" vhod zelene "velikega motornega bloka". Tako kot motornega C na pošiljateljabo robot nadzor moči (hitrost) motornega C sprejemnik robota. Ker le desno kolo sprejemne robot obrača, bo prejel robot vrti na kraju samem.

16.  Logic

Znotraj zanke blok "poteza volan" blok nastavite, da se robot nenehno gibljejo v ravni črti pri 50% moči. Potem ultrazvočni senzor blok v "ukrep> centimetrov razdalja" načinu merijo razdaljo med senzorjem in odsevnega predmeta in poteka rezultat skozi rumeno (številke) podatkovni liniji na območju bloka. Blok Območje je "znotraj" način.Testi blok, ali je izmerjena razdalja v notranjosti razpon 6-24 cm in izhodi rezultat preizkusa ("resnični ali" false "). Naslednji je blok barvni senzor v "primerjati> barvni" način. To primerja izmerjeno barvo barvnemu črnem (barvno 1) in prehaja na rezultat (izmerjena barva enaka rdeče?) Za  logiko blok . Logika blok prejme tudi izhod bloka razdalje, ki kaže, ali je odsevnega predmeta med 6 in 25 cm od senzorja. Logika blok je v "in" načinu, kar pomeni, njegova proizvodnja bo vklopljen, ali "drži", če sta prva vhodna in drugi vhod res. V tem primeru bi to pomenilo, da se odraža predmet v določenem območju in senzor zazna črno. 

Tako da skupni učinek zanke je, da se robot premakne naprej v ravni liniji, dokler logika blok pove vhod regulacijske zanke, ki  je odraz predmet v določenem območju in senzor zazna črno. Ko je ta dvojni pogoj izpolnjen, bo zanka izhod in "poteza volan" blok v »Reset" način boste ponastavili (stop) motorje. 

V videu, ki  spremlja  to vajo robot je na začetku daleč od odsevnega predmeta in čez belo mat. So izpolnjeni pogoji za robota, da se premaknete naprej. Prekorači črno črto, vendar ne ustavi, ker robot še ni v določenem območju. Nadaljuje se premikamo naprej, dokler ne doseže drugo črno črto in tam se ustavi, saj zazna črno in robot je v določenem območju.

. 17  Matematika - Napredno

Ta program prikazuje, kako lahko program izračunati dolžine hipotenuze za 45 ° trikotnika. Robot se domneva, da so se pravkar preselili vzdolž dveh pravokotnih vej trikotnika, vsak z dolžino 25 cm, in obrnil za 180 stopinj, tako da je sedaj na pravemmestu , da začnete risanje Hipotenuza vendar ne kaže v desno smer . Poskusimo izdelati dolžino hipotenuze.  I na enakokraki trikotnik, t je kosinus koli od akutne kotov je dolžina stranico, deljeno z dolžino hipotenuze ki jo imenujemo x . V tem primeru  cos (45 °) = 25cm / x  
preurejanjem daje     
X = 25cm / cos (45 °),   ki jih bomo izračunali v matematičnem bloku.

Prvi "poteza tank" blok naredi robot začeli nenehno obrača ostro desno na 10% moči.To se nadaljuje, dokler čakanje bloku v načinu 'senzor vrtavko> primerjate> kot "zazna, da je robot vklopljen vsaj 45 ° v desno. Ko čakati blok zazna, da je pogoj izpolnjen, to samo po sebi ne povzročajo motorji ustaviti - je treba vključiti "premakniti tank 'blok v načinu" off ", da bi se to zgodilo. Upoštevajte, da čakati blok prehaja tudi izmerjeni kot zasuka na matematičnem blok - morda ne bo točno 45 °. Math blok je "napredoval" način, ki omogoča dokaj zapletene matematične izračune je treba opraviti tako, da jih vnesete v glavi. Do 4 spremenljivke je mogoče vključiti in so skladne s štirimi vhodi tega bloka. Kot je bilo že pojasnjeno, pravilen  izračun  , da bi našli hipotenuze je 25 / cos (45), ki jih bomo spremenijo do    25 / cos (a)  za uporabo pravega kota, ki ne sme biti natančno 45 °.

Izračunano dolžina hipotenuze je izhod preko podatkovnega žice na matematičnem bloku v načinu "delitev", ki bo pretvoril dolžine v številnih kolesnih rotacij z deljenjem dolžine z oboda kolesa. Ko je potrebno število vrtljajev izračuna, da je izhod preko podatkovnega kabla na "globoko tank" bloku v načinu "rotacijami. Blok bo robot premakniti naravnost naprej na 30% moči za zahtevano število rotacij in tako zahtevana razdalja za dokončanje trikotnik.

18.  Arrays

"Matrika" je spremenljivka, ki lahko imajo več vrednosti.  V EV3 lahko imate niz številk ali niz logičnih vrednosti, vendar ne matrično besedilnih nizov. Vrstni red elementov v vrsti, je pomembno, da so elementi v vrsti, ki so kot  seznam . Vsak element na seznamu ima številko indeksa, in prvi element ima številko indeksa ničelno. Tukaj je primer številčni niz:  [5; 2.7; 3.1]. Ta matrika ima tri elemente - pravimo matrika ima 'dolžino' tri. Element z indeksom 2 je število 3,1, saj imajo elementi številk indeksa 0, 1 in 2.

Zgoraj Program se začne z zanko, ki je nastavljen za vožnjo 4-krat. Zvok blok ima "klik" zvok pri 100 vol% in čaka zvok, da nehate igrati pred sprejemom programa za nadaljevanje. Potem čakati blok v "dotik senzorja> primerjate> state" način počaka na gumb senzorja, ki se 
 zaletel  (tj. čaka stanju senzorja, da je enak "vrč" stanju).

Naslednja čakati blok v načinu "barvni senzor> primerjate> barva 'počaka, dokler se ne vidi modra, zelena ali rumena. Ko se odkrije ena od teh barv z ustrezno številko je izhod preko podatkovnega kabla.

Naslednja je "spremenljivka" blok v načinu "se glasi> številski niz." To je branje matriko imenovano 01, ki je bila ustvarjena (dodano), ko je bila skupinska postavitev.Niz je na začetku prazna - ne vsebuje elementov na vse.

Ne pozabite, da ko ste prebrali vrsto tisto, kar ste v resnici počne, je narediti kopijo array. Lahko spremenite kopijo, vendar to ne spremeni prvotne niz. Če želite uporabiti svoje spremembe, morate napisati (kopijo), spremenjeno kopijo nazaj v prvotni matriki - prirejena matrika bo nadomestil original. To je kot, ko odprete Wordov dokument - lahko naredite spremembe v dokumentu, na zaslonu pa izvirnega dokumenta se ne spremeni, razen če ste prihranili "dokument (npr. kopiranje, kaj je na zaslonu nazaj v datoteko).

Naslednja blok je blok "Array operacije" v "napisati na indeksni> številčni" način. Bloku je "indeks" vhod je povezan s podatkovnim žico na " zanke indeks 'števec zanke. Pomembno: indeks zanke prešteje, kolikokrat se zanka konča. Torej prvič zanka teče indeks zanke nič - ne postane ena, dokler zanka zaključena. Ko se zanka nastavljena na izhodu po štetje 4, to pomeni, da bo izhod, ko se zanka števec doseže 4. Zanka bo trajal štirikrat z zankami vrednosti indeksov 0, 1, 2, 3 , vendar nikoli 4 saj po končanem zanko štirikrat indeks zanka postane 4, ki povzroča nastanek zanke takoj izhod. 

Ker je 'nizom operacije "  je "indeks" blok vhodni povezana s podatkovno žico z "indeksa zanke "števec zanke indeks zanka se bo ugotovilo, ki je element matrike pisal. Prvič zanka teče indeksni krog vrednost nič do matrika element nič bo zapisanih s številko, ki ustreza barvi senzor je bil prikazan, in tako naprej. Upoštevajte, da če blok piše, da element, ki ne obstaja, potem enostavno ustvari. To pomeni, da če blok poskušal pisati v elementu 4 prazen niz (ki nikoli ne bo zgodilo v tem programu), nato pa bo treba ustvariti pet  elementov (elementi 0 do 4). Kot je bilo že pojasnjeno, je treba celotno spremenjeni niz zdaj kopirati nazaj v "resnično" paleto s "spremenljivo" bloku v načinu "pišejo> številčno paleto> '.

Do takrat, ko je naša zanka zaključila štirikrat štiri številke so bile bodo zapisani v niz in te številke bodo imeli indeksne številke 0, 1, 2 in 3. T je zanka, nato izhodi in zvok blok predvaja zvok "Horn 2 'na prostornina 100%, ki čakajo na zvok, da nehate igrati pred nadaljevanjem.

Zdaj smo vstopiti v drugo zanko, ki je nastavljen za vožnjo njegove vsebine štirikrat. V zanki imamo prvi  v "spremenljivi" del v načinu "se glasi> številski niz". Je zapisano celotno paleto 01 in prehaja array na blok 'nizom Delovanje "v pripravljenosti" "preberete na indeksu> številčna". Številka "indeks zanka" vsakokrat, ko je vsebina zanke vodijo se skozi ta blok in ustreznega elementa matrike se prebere. Na primer, prvič vsebina zanke vodijo indeks zanka je nič, ker vsebina zanke nikoli povsem prost, tako da je element nič (prvi element) v matriki, ki se prebere. Numerična vrednost tega elementa (ki je lahko, 3 ', na primer, če bi bila zelena predmet predstavljen s senzorjem), se skozi stikalo, ki bo dala robot narediti gibanje neke vrste.
  • Če stikalo prejme vrednost 2 (modro), nato pa "premik tank" blok v načinu "stopinjah" bo robot vrsti pol levo za 345 ° vrtenja desno kolo (0,96 rotacijami).Ta kot je namenjen, da robot sam suče okoli 90 ° v levo (spet ne mešaj vrtenje motorjev z vrtenjem robota samega). 
  • Če stikalo prejme vrednost (zelena) 3  potem "poteza tank" bloku v načinu "kolobarjenju" bo robot  šel naravnost naprej  za eno vrtenje kolesa 
  • Če stikalo dobi vrednost 4 (rumena)  pa "premik tank" blok v načinu "stopinje" bo robot obrniti pol pravico za 345 ° vrtenja levo kolo. Ta kot je predvideno, da bo  robot  sam obrniti okoli 90 ° desno . 

Ni komentarjev:

Objavite komentar