Mēs strādājam ar Lego Mindstorms EV3 no .NET. Nomainiet savas smadzenes Lego Mindstorms

Sākums / Neieslēdzas

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

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


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

EV3 analogā ieeja

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

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

Gaismas sensors

Termometrs

Augsnes mitruma sensors

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

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

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

I2C protokols

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

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

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

Atveras EV3 spēja strādāt, izmantojot i2c protokolu interesanta iespēja vairāku sensoru pievienošanai vienam portam. I2C protokols ļauj pieslēgt līdz 127 vergu ierīcēm vienai kopnei. Vai varat iedomāties? Katram no EV3 pieslēgvietām 127 sensori :) Turklāt nereti vienā ierīcē ir apvienots bars i2c sensoru, piemēram zemāk esošajā bildē ir sensors 10 in 1 (satur kompasu, žiroskopu, akselerometru, barometru utt. )

UART

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

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

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


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

Tradicionāli roboti tiek būvēti uz platformas Lego Mindstorms EV3, ir ieprogrammēti, izmantojot LabVIEW grafisko vidi. Šajā gadījumā programmas darbojas uz EV3 kontrollera un robots darbojas autonomi. Šeit es jums pastāstīšu par alternatīvs veids robotu vadība - datorā strādājošas .NET platformas izmantošana.

Bet pirms sākam programmēšanu, apskatīsim dažus gadījumus, kad tas varētu būt noderīgi:

  • Obligāti tālvadības pults robots no klēpjdatora (piemēram, nospiežot pogas)
  • Ir nepieciešams apkopot datus no EV3 kontrollera un apstrādāt tos ārējā sistēmā (piemēram, IoT sistēmām)
  • Citas situācijas, kad vēlaties rakstīt vadības algoritmu .NET un palaist to no datora, kas savienots ar EV3 kontrolleri

LEGO MINDSTORMS EV3 API, kas paredzēta .NET

EV3 kontrolieris tiek vadīts no ārējas sistēmas, nosūtot komandas uz seriālo portu. Pats komandas formāts ir aprakstīts saziņas izstrādātāju komplektā.

Bet šī protokola manuāla ieviešana ir garlaicīga. Tāpēc varat izmantot gatavo .NET iesaiņojumu, kuru Braiens Pīks rūpīgi uzrakstīja. Avota kodiŠī bibliotēka tiek mitināta vietnē Github, un lietošanai gatavu pakotni var atrast vietnē Nuget.

Savienojuma izveide ar EV3 kontrolieri

Brick klase tiek izmantota, lai sazinātos ar EV3 kontrolieri. Veidojot šo objektu, konstruktoram jānodod ICommunication interfeisa implementācija - objekts, kas apraksta, kā izveidot savienojumu ar EV3 kontrolieri. Ir pieejamas UsbCommunication, BluetoothCommunication un NetworkCommunication (WiFi savienojums) implementācijas.

Populārākā savienojuma metode ir Bluetooth. Apskatīsim šo savienojuma metodi tuvāk.

Pirms mēs varam programmatiski izveidot savienojumu ar kontrolieri, izmantojot Bluetooth, kontrolieris ir jāsavieno ar datoru, izmantojot operētājsistēmas iestatījumus.

Kad kontrolieris ir pievienots, dodieties uz Bluetooth iestatījumi un atlasiet cilni COM porti. Mēs atrodam savu kontrolieri, mums vajag izejošo osta. Mēs to norādīsim, veidojot BluetoothCommunication objektu.

Kods savienojumam ar kontrolieri izskatīsies šādi:

Publisks asinhronais uzdevums Connect(ICcommunication communication) ( var communication = new BluetoothCommunication("COM9"); var brick = _brick = new Brick(communication); gaidiet _brick.ConnectAsync(); )

Pēc izvēles varat norādīt savienojuma taimautu kontrolierim:

Gaidiet _brick.ConnectAsync(TimeSpan.FromSeconds(5));

Savienojuma izveide ar ierīci, izmantojot USB vai WiFi, tiek veikta tādā pašā veidā, izņemot to, ka tiek izmantoti objekti UsbCommunication un NetworkCommunication.

Visas turpmākās darbības, kas tiek veiktas ar kontrolieri, tiek veiktas caur objektu Brick.

Pagriezīsim dzinējus

Lai izpildītu komandas EV3 kontrollerī, mēs piekļūstam objekta Brick rekvizītam DirectCommand. Vispirms mēģināsim iedarbināt dzinējus.

Pieņemsim, ka mūsu motors ir savienots ar kontroliera portu A, tad šī motora darbināšana ar 50% jaudu izskatīsies šādi:

Gaidiet _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50);

Ir arī citas metodes motora vadīšanai. Piemēram, varat pagriezt motoru noteiktā leņķī, izmantojot StepMotorAtPowerAsync() un StepMotorAtSpeedAsync() metodes. Ir pieejamas vairākas metodes, kas ir variācijas par motoru ieslēgšanas režīmiem - pēc laika, ātruma, jaudas utt.

Piespiedu apturēšana tiek veikta, izmantojot StopMotorAsync() metodi:

Gaidiet _brick.DirectCommand.StopMotorAsync(OutputPort.A, true);

Otrais parametrs norāda uz bremžu lietošanu. Ja iestatīsiet to uz nepatiesu, motors apstāsies, līdz apstāsies.

Vērtību nolasīšana no sensoriem

EV3 kontrolierim ir četri porti sensoru pievienošanai. Papildus tam motoriem ir arī iebūvēti kodētāji, kas ļauj tos izmantot kā sensorus. Rezultātā mums ir 8 porti, no kuriem var nolasīt vērtības.

Vērtību nolasīšanas portiem var piekļūt, izmantojot objekta Brick rekvizītu Ports. Porti ir portu kolekcija, kas pieejama kontrolierī. Tāpēc, lai strādātu ar noteiktu portu, tas ir jāizvēlas. InputPort.One ... InputPort.Four ir sensoru porti, un InputPort.A ... InputPort.D ir motora kodētāji.

Var port1 = _ķieģelis.Porti;

EV3 sensori var darboties dažādos režīmos. Piemēram, EV3 krāsu sensoru var izmantot, lai izmērītu apkārtējo gaismu, izmērītu atstaroto gaismu vai noteiktu krāsu. Tāpēc, lai sensoram precīzi “pastāstītu”, kā mēs to vēlamies izmantot, mums jāiestata tā režīms:

Brick.Ports.SetMode(ColorMode.Reflective);

Tagad, kad sensors ir pievienots un ir iestatīts tā darbības režīms, varat nolasīt datus no tā. Varat iegūt “neapstrādātus” datus, apstrādāto vērtību un procentuālo vērtību.

Float si = _ķieģelis.Ports.SIVvērtība; int raw = _ķieģelis.Ports.RawValue; baitu procenti = _ķieģelis.Ports.PercentValue;

Rekvizīts SIValue atgriež apstrādātos datus. Tas viss ir atkarīgs no tā, kurš sensors tiek izmantots un kādā režīmā. Piemēram, mērot atstaroto gaismu, mēs iegūsim vērtības no 0 līdz 100 atkarībā no atstarotās gaismas intensitātes (melns/balts).

Rekvizīts RawValue atgriež neapstrādāto vērtību, kas iegūta no ADC. Dažreiz to ir ērtāk izmantot turpmākai apstrādei un lietošanai. Starp citu, EV3 izstrādes vidē ir iespējams iegūt arī “neapstrādātas” vērtības - šim nolūkam ir jāizmanto bloks no zilā paneļa.

Ja jūsu izmantotais sensors paredz saņemt vērtības procentos, varat izmantot arī rekvizītu PercentValue.

Komandu izpilde partijās

Pieņemsim, ka mums ir robotu ratiņi ar diviem riteņiem, un mēs vēlamies tos ievietot vietā. Šajā gadījumā diviem riteņiem jāgriežas pretējā virzienā. Ja mēs izmantojam DirectCommand un nosūtām divas komandas secīgi kontrolierim, starp to izpildi var paiet zināms laiks:

Gaidiet _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50); gaidīt _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

Šajā piemērā mēs nosūtām komandu griezt motoru A ar ātrumu 50, pēc veiksmīgas šīs komandas nosūtīšanas atkārtojam to pašu ar motoru, kas pievienots portam B. Problēma ir tāda, ka komandu nosūtīšana nenotiek uzreiz, tāpēc motori var sākt griezties dažādos laikos - kamēr komanda tiek pārraidīta portam B, motoram A jau sāks griezties.

Ja mums ir ļoti svarīgi, lai motori grieztos vienlaikus, mēs varam nosūtīt komandas kontrolierim “saitā”. Šajā gadījumā jums vajadzētu izmantot BatchCommand rekvizītu, nevis DirectCommand:

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _ķieģelis.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); gaidīt _brick.BatchCommand.SendCommandAsync();

Tagad tiek sagatavotas divas komandas uzreiz, pēc tam tās tiek nosūtītas kontrolierim vienā paketē. Kontrolieris, saņēmis šīs komandas, vienlaikus sāks griezt motorus.

Ko vēl var darīt

Papildus rotējošiem motoriem un sensoru vērtību nolasīšanai ar EV3 kontrolieri varat veikt vairākas citas darbības. Es nestāstīšu par katru no tiem, es tikai uzskaitīšu sarakstu ar to, ko var izdarīt:

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync() utt. — manipulācijas ar EV3 kontrollera iebūvēto ekrānu
  • PlayToneAsync() un PlaySoundAsync() — izmantojiet iebūvēto skaļruni, lai atskaņotu skaņas
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (no SystemCommand) — darbs ar failiem

Secinājums

Izmantojot .NET pārvaldībai Mindstorms roboti EV3 labi parāda, kā tehnoloģijas no dažādām pasaulēm var sadarboties. EV3 API izpētes rezultātā .NET tika izveidota neliela aplikācija, kas ļauj vadīt EV3 robotu no datora. Diemžēl līdzīgas lietojumprogrammas pastāv arī NXT, taču EV3 tās apieta. Tajā pašā laikā tie ir noderīgi kontrolētās robotu sacensībās, piemēram, robotu futbolā.

Lietojumprogrammu var lejupielādēt un instalēt no šīs saites:

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

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

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


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


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

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


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


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


Pašreizējā bloka programmatūras versijā ir četras šādas lietojumprogrammas:

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



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

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

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

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

Pieskāriena sensors:


Žiro sensors:


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


Ultraskaņas attāluma sensors:

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

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


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


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


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


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


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



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

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


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


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


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


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


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


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

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


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


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

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


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


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


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



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

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


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


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

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


Ideja par dizainera mikrodatora nomaiņu ar Beaglebone vai citu nav jauna. Bet līdz ar EV3 izlaišanu kļuva iespējams ne tikai iegūt 100% analogu, bet arī palielināt sava legorobota veiktspēju.

Projekta video prezentācija:

E VB pilnībā atbalsta Lego Mindstorms Ev3 sistēmu gan aparatūras, gan programmatūras līmenī, 100% savietojams ar visiem Lego sensoriem un motoriem. Bloks darbojas tāpat kā Lego klucis Mindstorms EV3:

BeagleBone Black— vienas plates Linux dators. Tas ir Raspberry Pi konkurents. Ir jaudīgs procesors procesors AM335x 720MHz ARM®, liels ieeju/izeju skaits, iespējas var paplašināt ar papildus dēļiem.

Lego Mindstorms EV3 ir ARM9 (TI Sitara AM180x) 300 MHz procesors, tāpēc pārejiet uz ARM Cortex-A8 (TI Sitara AM335x) 1 GHz BeagleBone Black procesoru. palielina produktivitāti, kā arī kļūst iespējams pievienot papildu paplašināšanas kartes!

Vissvarīgākais ir tas, ka Lego Mindstorms EV3 ir atvērt aprakstu visa programmatūra un aparatūra!

Piemēram, ir samontēts un demonstrēts slavenais Rubika kubu risināšanas robots. Tikai EV3 vietā uzstādīja izstrādāto EVB. Aicinām noskatīties video:

Projekta autori jau ražo un pārdod EVB. Viņi plāno ievērojami paplašināt ražošanu līdz 2015. gada aprīļa beigām. Turklāt viņi ir izstrādājuši un ražo vairākus saderīgus sensorus.

USB savienojums

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

LEGO Mindstorms EV3 ir divi USB porti.

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

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

Šis režīms:

  • izstrādāts, lai savienotu vairāk nekā vienu LEGO Mindstorms EV3;
  • kalpo vairāk sensoru, motoru un citu ierīču pieslēgšanai;
  • ļauj sazināties starp vairākiem LEGO Mindstorms EV3 (līdz 4), kas dod mums līdz 16 ārējiem portiem un tikpat daudz iekšējo portu;
  • ļauj kontrolēt visu ķēdi no galvenā LEGO Mindstorms EV3;
  • nevar darboties ar aktīvs savienojums Wi-Fi vai Bluetooth.

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

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

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

Darbība

Vidējs motors

Liels motors

Stūre

Neatkarīga vadība

Žiroskopisks

Infrasarkanais

Ultraskaņas

Motora rotācija

Temperatūras

Enerģijas skaitītājs

Skaņa

Savienojums, izmantojot Bluetooth

Bluetooth ļauj LEGO Mindstorms EV3 izveidot savienojumu ar datoru, citiem LEGO Mindstorms EV3, viedtālruņiem un citām Bluetooth ierīcēm. Saziņas diapazons līdz Bluetooth kanāls- līdz 25 m.

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

EV3 savienojuma secība, izmantojot Bluetooth

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

1. Atveriet cilni Iestatījumi.

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

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

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

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

6. Atveriet cilni Savienojums:

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

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

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

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

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

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

Programmas piemērs:

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

Programmas piemērs 2. blokam:

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

Izveidojiet savienojumu, izmantojot Wi-Fi

Iespējama ilgāka saziņa ar Wi-Fi savienojums Pievienojiet EV3 USB portam.

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

© 2024 ermake.ru - Par datoru remontu - Informācijas portāls