Lucrăm cu Lego Mindstorms EV3 de la .NET. Înlocuiește-ți creierul în Lego Mindstorms

Acasă / Nu se aprinde

Dacă îți lipsesc, ca și noi, capacitățile senzorilor EV3 standard, 4 porturi pentru senzori din roboții tăi nu sunt suficiente sau vrei să conectezi niște periferice exotice la robotul tău - acest articol este pentru tine. Crede-mă, un senzor de casă pentru EV3 este mai ușor decât pare. Un „buton de volum” de la un radio vechi sau câteva cuie înfipte în pământ într-un ghiveci de flori ca senzor de umiditate a solului sunt perfecte pentru experiment.

În mod surprinzător, fiecare port pentru senzor EV3 ascunde o serie de protocoale diferite, în principal pentru compatibilitatea cu senzorii NXT și terți. Să vedem cum funcționează cablul EV3


Este ciudat, dar firul roșu este împământat (GND), firul verde este plusul sursei de alimentare de 4,3V. Firul albastru este atât SDA pentru magistrala I2C, cât și TX pentru protocolul UART. În plus, firul albastru este intrarea convertorului analog-digital pentru EV3. Firul galben este atât SCL pentru magistrala I2C, cât și RX pentru protocolul UART. Firul alb este intrarea convertorului analog-digital pentru senzorii NXT. Negru - intrare digitală, pentru senzori compatibili cu NXT - dublează GND. Nu este ușor, nu-i așa? Să mergem în ordine.

Intrare analogică EV3

Fiecare port de senzor are un canal convertor analog-digital. Este utilizat pentru senzori precum Senzorul tactil (buton), Senzorul de lumină NXT și Senzorul de culoare în modul de lumină reflectată și lumină ambientală, Senzorul de sunet NXT și Termometrul NXT.

O rezistență de 910 Ohmi, conectată conform diagramei, îi spune controlerului că acest port trebuie să fie comutat în modul de intrare analogică. În acest mod, puteți conecta orice senzor analogic la EV3, de exemplu de la Arduino. Cursul de schimb cu un astfel de senzor poate ajunge la câteva mii de sondaje pe secundă, acesta este cel mai rapid tip de senzor.

Senzor de lumină

Termometru

Senzor de umiditate a solului

De asemenea, puteți conecta: un microfon, un buton, un telemetru IR și mulți alți senzori obișnuiți. Dacă puterea de 4,3 V nu este suficientă pentru senzor, îl puteți alimenta cu 5 V de la portul USB situat pe partea laterală a controlerului EV3.

„Butonul de volum” menționat mai sus (cunoscut și ca rezistor variabil sau potențiometru) este excelent exemplu senzor analogic - poate fi conectat astfel:

Pentru a citi valorile de la un astfel de senzor în mediul de programare LEGO standard, trebuie să utilizați blocul RAW albastru

Protocolul I2C

Acesta este un protocol digital, de exemplu, senzorul cu ultrasunete NXT și mulți senzori Hitechnic, cum ar fi IR Seeker sau Color Sensor V2, funcționează pe el. Pentru alte platforme, de exemplu pentru Arduino, există o mulțime de senzori i2c, îi puteți și conecta. Schema este următoarea:

O rezistență de 82 ohmi este recomandată de LEGO Group, dar diverse surse menționează 43 ohmi sau mai puțin. De fapt, am încercat să renunțăm cu totul la aceste rezistențe și totul funcționează, cel puțin „pe masă”. Într-un robot real care funcționează în condiții de diferite tipuri de interferență, liniile SCL și SDA ar trebui în continuare conectate la sursa de alimentare prin rezistențe, așa cum este indicat în diagrama de mai sus. Viteza de operare i2c în EV3 este destul de scăzută, aproximativ 10.000 kbps, motiv pentru care Senzorul de culoare Hitechnic V2 preferat al tuturor este atât de lent :)

Din păcate, pentru EV3-G standard de la LEGO nu există un bloc cu drepturi depline pentru comunicarea în două sensuri cu un senzor i2c, dar folosind medii de programare de la terți, cum ar fi RobotC, LeJOS sau EV3 Basic, puteți interacționa cu aproape orice senzor i2c. .

Se deschide capacitatea EV3 de a lucra folosind protocolul i2c oportunitate interesantă pentru conectarea mai multor senzori la un port. Protocolul I2C vă permite să conectați până la 127 de dispozitive slave la o singură magistrală. Vă puteți imagina? 127 de senzori pentru fiecare dintre porturile EV3 :) Mai mult, de multe ori o grămadă de senzori i2c sunt combinați într-un singur dispozitiv, de exemplu în fotografia de mai jos există un senzor 10 în 1 (conține o busolă, giroscop, accelerometru, barometru etc. )

UART

Aproape toți senzorii standard non-EV3, cu excepția senzorului tactil, funcționează folosind protocolul UART și de aceea nu sunt compatibili cu controlerul NXT, care, deși are aceiași conectori, nu are UART implementat pe senzorul său. porturi. Uitați-vă la diagramă, este puțin mai simplă decât în ​​cazurile anterioare:

Senzorii UART potrivesc automat viteza de funcționare cu EV3. Conectându-se inițial la o viteză de 2400 kbit/s, ei convin asupra modurilor de funcționare și ratelor de schimb, trecând apoi la o viteză crescută. Ratele de schimb tipice pentru diferiți senzori sunt 38400 și 115200 kbit/s.
LEGO a implementat un protocol destul de complicat în senzorii săi UART, așa că nu există senzori terți care nu au fost inițial destinați acestei platforme, dar care să fie compatibile cu aceasta. Cu toate acestea, acest protocol este foarte convenabil pentru conectarea „de casă”
senzori bazați pe microcontrolere.
Există o bibliotecă minunată pentru Arduino numită EV3UARTEmulation, scrisă de celebrul dezvoltator LeJOS Lawrie Griffiths, care permite acestei plăci să pretindă a fi un senzor compatibil UART-LEGO. Blogul său LeJOS News are o mulțime de exemple de conectare a senzorilor de gaz, a unui senzor IMU și a unei busolă digitală folosind această bibliotecă.

Mai jos în videoclip este un exemplu de utilizare a unui senzor de casă. Nu avem suficienți senzori de distanță LEGO originali, așa că folosim unul de casă pe robot:


Sarcina robotului este să înceapă de la celula verde, să găsească o cale de ieșire din labirint (celula roșie) și să se întoarcă la punctul de plecare folosind cel mai scurt traseu, fără a intra în fundături.

În mod tradițional, roboții construiți pe o platformă Lego Mindstorms EV3, sunt programate folosind mediul grafic LabVIEW. În acest caz, programele rulează pe controlerul EV3, iar robotul funcționează autonom. Aici am sa va povestesc despre cale alternativă control robot - utilizarea platformei .NET care rulează pe computer.

Dar înainte de a intra în programare, să ne uităm la câteva cazuri în care acest lucru ar putea fi util:

  • Necesar telecomanda robot de pe un laptop (de exemplu, prin apăsarea butoanelor)
  • Este necesar să colectați date de la controlerul EV3 și să le procesați pe un sistem extern (de exemplu, pentru sistemele IoT)
  • Orice alte situații în care doriți să scrieți un algoritm de control în .NET și să îl rulați de pe un computer conectat la controlerul EV3

API-ul LEGO MINDSTORMS EV3 pentru .NET

Controlerul EV3 este controlat de la un sistem extern prin trimiterea de comenzi către portul serial. Formatul de comandă în sine este descris în kitul pentru dezvoltatori de comunicare.

Dar implementarea manuală a acestui protocol este plictisitoare. Prin urmare, puteți utiliza învelișul .NET gata făcut, pe care Brian Peek l-a scris cu atenție. Codurile sursă Această bibliotecă este găzduită pe Github, iar un pachet gata de utilizare poate fi găsit pe Nuget.

Conectarea la un controler EV3

Clasa Brick este folosită pentru a comunica cu controlerul EV3. Când creați acest obiect, trebuie să transmiteți o implementare a interfeței ICommunication constructorului - un obiect care descrie cum să vă conectați la controlerul EV3. Sunt disponibile implementări de Comunicare Usb, Comunicare Bluetooth și Comunicare în rețea (conexiune WiFi).

Cea mai populară metodă de conectare este prin Bluetooth. Să aruncăm o privire mai atentă la această metodă de conectare.

Înainte de a ne putea conecta programatic la controler prin Bluetooth, controlerul trebuie să fie conectat la computer utilizând setările sistemului de operare.

După ce controlerul este conectat, accesați setări bluetoothși selectați fila porturi COM. Ne găsim controlerul, avem nevoie ieșitor port. O vom specifica la crearea obiectului BluetoothCommunication.

Codul de conectare la controler va arăta astfel:

Public async Task Connect(comunicare ICommunication) ( var communication = new BluetoothCommunication("COM9"); var brick = _brick = new Brick(comunicare); await _brick.ConnectAsync(); )

Opțional, puteți specifica un timeout de conexiune la controler:

Așteptați _brick.ConnectAsync(TimeSpan.FromSeconds(5));

Conectarea la unitate prin USB sau WiFi se realizează în același mod, cu excepția faptului că sunt utilizate obiectele UsbCommunication și NetworkCommunication.

Toate acțiunile ulterioare efectuate asupra controlerului sunt efectuate prin obiectul Brick.

Hai să învârtim motoarele

Pentru a executa comenzi pe controlerul EV3, accesăm proprietatea DirectCommand a obiectului Brick. Mai întâi, să încercăm să pornim motoarele.

Să presupunem că motorul nostru este conectat la portul A al controlerului, apoi pornirea acestui motor la 50% putere va arăta astfel:

Așteptați _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50);

Există și alte metode de a controla motorul. De exemplu, puteți roti un motor la un unghi specificat folosind metodele StepMotorAtPowerAsync() și StepMotorAtSpeedAsync(). Există mai multe metode disponibile, care sunt variații ale modurilor de pornire a motoarelor - în funcție de timp, viteză, putere etc.

Oprirea forțată se efectuează folosind metoda StopMotorAsync():

Așteptați _brick.DirectCommand.StopMotorAsync(OutputPort.A, true);

Al doilea parametru indică utilizarea frânei. Dacă îl setați la fals, motorul se va opri.

Citirea valorilor de la senzori

Controlerul EV3 are patru porturi pentru conectarea senzorilor. Pe lângă aceasta, motoarele au și codificatoare încorporate, ceea ce le permite să fie folosite ca senzori. Ca rezultat, avem 8 porturi din care pot fi citite valori.

Porturile pentru citirea valorilor pot fi accesate prin proprietatea Ports a obiectului Brick. Ports este o colecție de porturi disponibile pe controler. Prin urmare, pentru a lucra cu un anumit port, trebuie să-l selectați. InputPort.One ... InputPort.Four sunt porturile senzorilor, iar InputPort.A ... InputPort.D sunt codificatoarele motorului.

Var port1 = _brick.Porturi;

Senzorii din EV3 pot funcționa în diferite moduri. De exemplu, Senzorul de culoare EV3 poate fi utilizat pentru a măsura lumina ambientală, pentru a măsura lumina reflectată sau pentru a detecta culoarea. Prin urmare, pentru a „spune” senzorului exact cum vrem să-l folosim, trebuie să-i setăm modul:

Brick.Ports.SetMode(ColorMode.Reflective);

Acum că senzorul este conectat și modul său de funcționare este setat, puteți citi datele din acesta. Puteți obține date „brute”, valoare procesată și valoare procentuală.

Float si = _brick.Ports.SIValue; int raw = _brick.Ports.RawValue; octet procent = _brick.Ports.PercentValue;

Proprietatea SIValue returnează datele procesate. Totul depinde de ce senzor este utilizat și în ce mod. De exemplu, la măsurarea luminii reflectate, vom obține valori de la 0 la 100 în funcție de intensitatea luminii reflectate (negru/alb).

Proprietatea RawValue returnează valoarea brută obținută de la ADC. Uneori este mai convenabil să îl utilizați pentru prelucrarea și utilizarea ulterioară. Apropo, în mediul de dezvoltare EV3 este posibil să obțineți și valori „brute” - pentru aceasta trebuie să utilizați blocul din panoul albastru.

Dacă senzorul pe care îl utilizați se așteaptă să primească valori în procente, atunci puteți utiliza și proprietatea PercentValue.

Executarea comenzilor în loturi

Să presupunem că avem un cărucior robot cu două roți și vrem să-l implementăm pe loc. În acest caz, cele două roți trebuie să se rotească în sens opus. Dacă folosim DirectCommand și trimitem două comenzi secvențial către controler, poate trece ceva timp între execuția lor:

Așteptați _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50); așteaptă _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

În acest exemplu, trimitem o comandă de rotire a motorului A la o viteză de 50, după ce a trimis această comandă cu succes, repetăm ​​același lucru cu motorul conectat la portul B. Problema este că trimiterea comenzilor nu are loc instantaneu, deci motoarele poate începe să se învârte ori diferite - în timp ce comanda este transmisă pentru portul B, motorul A deja va începe să se învârtească.

Dacă este esențial pentru noi să facem motoarele să se rotească în același timp, putem trimite comenzi către controler într-un „pachet”. În acest caz, ar trebui să utilizați proprietatea BatchCommand în loc de DirectCommand:

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); așteaptă _brick.BatchCommand.SendCommandAsync();

Acum sunt pregătite două comenzi simultan, după care sunt trimise controlorului într-un singur pachet. Controlerul, după ce a primit aceste comenzi, va începe să rotească motoarele simultan.

Ce altceva poți face

Pe lângă motoare rotative și citirea valorilor senzorului, puteți efectua o serie de alte acțiuni asupra controlerului EV3. Nu voi intra în detaliu despre fiecare dintre ele, voi enumera doar o listă cu ceea ce se poate face:

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync(), etc. - manipularea ecranului încorporat al controlerului EV3
  • PlayToneAsync() și PlaySoundAsync() - utilizați difuzorul încorporat pentru a reda sunete
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (din SystemCommand) - lucrul cu fișiere

Concluzie

Utilizarea .NET pentru management Roboți Mindstorms EV3 demonstrează bine modul în care tehnologiile din lumi diferite pot lucra împreună. Ca urmare a cercetării API-ului EV3 pentru .NET, a fost creată o mică aplicație care vă permite să controlați robotul EV3 de pe un computer. Din păcate, există aplicații similare pentru NXT, dar EV3 le-a ocolit. În același timp, sunt utile în competițiile controlate de roboți, precum fotbalul robot.

Aplicația poate fi descărcată și instalată de la acest link:

Dacă aveți întrebări pe care ați dori să le știți despre noul designer (cum funcționează ceva anume, efectuați un experiment cu senzori sau motoare) - scrieți-ne - vom încerca sugestiile dvs. În acest fel, puteți afla mult mai multe despre EV3 chiar înainte de a fi pus în vânzare.

Acum totul începe cu o recenzie software Bloc EV3 (firmware EV3).

Una dintre caracteristicile noului bloc este sa pornire îndelungatăși oprire. Din punct de vedere al timpului, procesul este comparabil cu includerea telefon mobil sau router de acasă, de ex. 20-30 de secunde. După pornire, apare următorul meniu:


După cum puteți vedea, în comparație cu blocul NXT, s-au schimbat multe: calitatea fonturilor s-a îmbunătățit, elementele grafice au fost mai desenate, iar interfața ferestrei s-a îmbunătățit. În primul rând, acest lucru se datorează faptului că dimensiunea ecranului a crescut acum - a devenit 178 pe 128 pixeli, în loc de 100 pe 64, la fel ca blocul NXT. Pe baza prezenței unei interfețe de fereastră cu butoane integrate și bare de defilare, se poate presupune că dispozitive precum un extern touchpad va avea chiar mai mult sens acum.


Din prima fereastră este posibil să apelați programe încărcate pe bloc, precum și programe create direct pe bloc. Aceste. pentru a porni programul, acum trebuie să efectuați mai puține clicuri decât pe blocul NXT.

Navigarea prin programele încărcate, precum și către al doilea și următoarele ecrane (articole de meniu) se realizează cu ajutorul butoanelor de control, dintre care acum există 4.


Al doilea ecran - vă permite să navigați prin obiectele sistemului de fișiere din bloc. Sistem de fișiere acum acceptă ierarhia tradițională: fișiere și directoare.


Al treilea ecran conține un submeniu - aplicații care vă permit să efectuați diverse acțiuni cu blocul:


În versiunea actuală a software-ului bloc există patru astfel de aplicații:

  • Vizualizați senzorii
  • Controlul motorului
  • Telecomanda
  • Programare pe bloc
Al patrulea ecran este configurarea. Pe lângă setările de bază: nivelul sunetului, cronometrul de inactivitate, pornind BlueToothși WiFi, vă permite să aflați informații despre software-ul unității:



Selectarea unui anumit element de meniu/aplicație are loc cu butonul din mijloc de pe tastatură. Și pentru a ieși din orice element de meniu sau aplicație, trebuie să apăsați butonul „Ieșire”, care se află acum separat de butoanele principale - în partea stângă sub ecran.

Acum ar trebui să reveniți la al treilea ecran și să începeți să vă familiarizați cu aplicațiile. Deci, aplicația „Vizualizare senzori” (Port View).

Spre deosebire de un mod similar pe blocul NXT, acum puteți vedea informații despre toate cele 8 dispozitive conectate la bloc simultan. Mai mult decât atât, funcționalitatea declarată detecție automată senzorii vă permite să nu indicați manual ce senzor este conectat unde.

Informațiile de la codificatoarele de motor sunt afișate în partea de sus, informațiile de la senzori sunt afișate în partea de jos. În centrul ecranului - informații despre dispozitiv specific(într-un anumit port), care poate fi selectat prin apăsarea butoanelor de control de pe tastatură. Informațiile includ o reprezentare grafică a senzorului, numele acestuia și citirile curente:

Senzor tactil:


Senzor giroscopic:


Senzor de culoare în modul de lumină reflectată:


Senzor de distanta cu ultrasunete:

Aici, apropo, puteți vedea că senzorul susține acum că poate măsura distanțe cu o precizie de milimetri, iar distanța minimă măsurată este acum de 3 cm.

Informații de la codificatorul motorului din stânga.


Următoarea aplicație este controlul motorului. În esență, vă permite să utilizați butoane pentru a roti motoarele. Cu butonul central trebuie să selectați ce motoare să rotiți. Și apoi utilizați perechi de butoane în sus și în jos sau la stânga și la dreapta pentru a roti anumite motoare.


Nu a fost posibil să încercați a treia aplicație, deoarece livrarea standard a versiunii educaționale a kit-ului EV3 nu include un senzor de distanță cu infraroșu și un far cu infraroșu. Dar se pare că pe acest ecran puteți configura ce motoare vor fi controlate de la farul cu infraroșu.


Desigur, cel mai mult aplicație interesantă se programează pe un bloc. A fost reproiectat semnificativ: un program poate conține acum până la 16 elemente de program (blocuri), iar programele create pot fi salvate și, bineînțeles, redeschise pentru modificare.


Când se deschide aplicația de scriere a programului, este afișată o buclă de execuție goală (se va executa o singură iterație) și o propunere de inserare a primului bloc. Puteți insera un bloc folosind butonul „Sus”.


În fereastra de selecție a blocurilor care apare, sunt disponibile 17 blocuri (6 blocuri de acțiune și 11 blocuri de așteptare) plus acțiunea de ștergere a blocului curent.



Ordinea selecției și secvența blocurilor este determinată de programator. Nu implică faptul că fiecare bloc de acțiune trebuie să fie urmat de un bloc de așteptare, așa cum a fost cazul anterior cu blocul NXT.

Blocul selectat din program arată astfel:


Comportamentul blocului poate fi specificat prin apăsarea butonului central. Pentru acest bloc, de exemplu, puteți modifica unghiul și direcția de rotație a robotului sau puteți opri complet motoarele (de exemplu, după blocul de așteptare anterior).


Deplasând „cursorul” la stânga sau la dreapta, puteți insera un alt bloc:


De exemplu, un bloc de așteptare pentru eveniment pe un senzor de distanță:


Și schimbați-i comportamentul (evenimentul va avea loc dacă distanța devine mai mare de 60 cm):


Blocurile pot fi inserate între blocurile existente sau chiar la începutul unui program.


Iată mai multe exemple de blocuri de așteptare:

Bloc de timp de așteptare (puteți seta exact cât timp să așteptați):


Sau un bloc pentru așteptarea unui eveniment de la un senzor giroscopic (puteți seta unghiul de rotație al senzorului).


Trebuie remarcat din nou că funcționalitatea de auto-detecție a senzorului simplifică procesul de programare pe unitate. Nu mai este nevoie să respectați regula conform căreia anumiți senzori trebuie conectați la anumite porturi.

Dacă programul trebuie executat de mai multe ori, numărul de iterații ale buclei de control poate fi schimbat:


Programul este lansat prin selectarea primului bloc:


Când porniți programul, pe ecran vor fi afișate următoarele:


Programul poate fi salvat și puteți specifica un nume de fișier pentru căutare ulterioară:



Literele sunt selectate folosind tastatura (bună ziua, touchpad!)

Dacă încercați să închideți un program nesalvat, va fi afișat următorul mesaj nu foarte clar și va fi produs un sunet neplăcut:


Mai târziu, puteți deschide programul creat și face modificări.


Desigur, doar programele create pe bloc sunt deschise.

În concluzie, aș dori să arăt cum arată oprirea unui bloc:


Ideea de a înlocui microcomputerul din designer cu un Beaglebone sau altul nu este nouă. Dar odată cu lansarea lui EV3, a devenit posibil nu numai să obțineți un analog 100%, ci și să creșteți performanța legorobotului dvs.

Prezentarea video a proiectului:

E VB suportă pe deplin sistemul Lego Mindstorms Ev3 atât la nivel hardware cât și software, compatibil 100% cu toți senzorii și motoarele Lego. Blocul funcționează la fel ca Bloc Lego Mindstorms EV3:

BeagleBone Black— computer Linux cu o singură placă. Este un concurent al Raspberry Pi. Are procesor puternic procesor AM335x 720MHz ARM®, mare numărul de intrări/ieșiri, capabilitățile pot fi extinse cu plăci suplimentare.

Lego Mindstorms EV3 are un procesor ARM9 (TI Sitara AM180x) de 300MHz, așa că trecând la un procesor ARM Cortex-A8 (TI Sitara AM335x) BeagleBone Black de 1GHz crește productivitatea, plus că devine posibilă conectarea plăcilor de expansiune suplimentare!

Cel mai important lucru este că are Lego Mindstorms EV3 descrierea deschisă tot software-ul și hardware-ul!

De exemplu, celebrul robot de rezolvare a cubului Rubik a fost asamblat și demonstrat. Doar în loc de EV3 au instalat EVB-ul dezvoltat. Vă invităm să vizionați videoclipul:

Autorii proiectului produc și vând deja EVB. Ei plănuiesc să extindă semnificativ producția până la sfârșitul lunii aprilie 2015. În plus, au dezvoltat și produc mai mulți senzori compatibili.

Conexiune USB

LEGO Mindstorms EV3 se poate conecta la un PC sau la alt EV3 printr-o conexiune USB. Viteza și stabilitatea conexiunii în în acest caz, mai bună decât orice altă metodă, inclusiv Bluetooth.

LEGO Mindstorms EV3 are două porturi USB.

Comunicarea dintre LEGO EV3 și alte blocuri LEGO EV3 în modul daisy chain.

Modul Daisy Chain este folosit pentru a conecta două sau mai multe blocuri LEGO EV3.

Acest mod:

  • conceput pentru a conecta mai mult de un LEGO Mindstorms EV3;
  • servește la conectarea mai multor senzori, motoare și alte dispozitive;
  • permite comunicarea intre mai multe LEGO Mindstorms EV3 (pana la 4), ceea ce ne ofera pana la 16 porturi externe si acelasi numar de porturi interne;
  • face posibilă controlul întregului lanț din principalul LEGO Mindstorms EV3;
  • nu poate funcționa cu conexiune activă Wi-Fi sau Bluetooth.

Pentru a activa modul de conectare în lanț, accesați fereastra de setări ale proiectului și bifați caseta.

Când acest mod este selectat, atunci pentru orice motor putem selecta blocul EV3 care va fi utilizat și senzorii necesari.

Tabelul prezintă opțiuni pentru utilizarea blocurilor EV3:

Acţiune

Motor mediu

Motor mare

Director

Management independent

Giroscopic

Infraroşu

cu ultrasunete

Rotirea motorului

Temperaturile

Contor de energie

Sunet

Conexiune prin Bluetooth

Bluetooth permite LEGO Mindstorms EV3 să se conecteze la un PC, alte LEGO Mindstorms EV3, smartphone-uri și alte dispozitive Bluetooth. Raza de comunicare prin Canal Bluetooth– până la 25 m.

Puteți conecta până la 7 blocuri la un LEGO Mindstorms EV3. EV3 Master Brick vă permite să trimiteți și să primiți mesaje către fiecare Slave EV3. EV3 Slaves pot trimite mesaje doar către cărămida principală EV3, nu unul altuia.

Secvență de conexiune Bluetooth EV3

Pentru a conecta două sau mai multe blocuri EV3 unul la altul prin Bluetooth, trebuie să efectuați următorii pași:

1. Deschideți o filă Setări.

2. Selectați Bluetoothși apăsați butonul central.

3. Punem Caseta de selectare vizibilitate Bluetooth.

4. Verificați dacă semnul Bluetooth ("<") виден на верхней левой стороне.

5. Efectuați procedura de mai sus pentru numărul necesar de cărămizi EV3.

6. Accesați fila Conexiune:

7. Faceți clic pe butonul Căutare:

8. Selectați EV3 la care doriți să vă conectați (sau la care doriți să vă conectați) și apăsați butonul central.

9. Conectăm primul și al doilea bloc cu cheia de acces.

Dacă faceți totul corect, pictograma „ va apărea în colțul din stânga sus<>", conectați alte blocuri EV3 în același mod dacă sunt mai mult de două dintre ele.

Dacă opriți LEGO EV3, conexiunea se va pierde și va trebui să repetați toți pașii.

Important: fiecare bloc trebuie să aibă propriul program scris.

Exemplu de program:

Primul bloc: Când senzorul tactil este apăsat, primul bloc EV3 transmite textul celui de-al doilea bloc cu o întârziere de 3 secunde (bloc principal).

Exemplu de program pentru blocul 2:

Al doilea bloc așteaptă să primească textul din primul bloc, iar odată ce îl primește, va afișa un cuvânt (în exemplul nostru, cuvântul „Bună ziua”) timp de 10 secunde (blocul slave).

Conectați-vă prin Wi-Fi

Comunicarea mai lungă este posibilă cu Conexiune Wi-Fi Dongle la portul USB de pe EV3.

Pentru a utiliza Wi-Fi, trebuie să instalați un modul special pe blocul EV3 folosind un conector USB (adaptor Wi-Fi (Adaptor wireless Netgear N150 (WNA1100)) sau puteți conecta un dongle Wi-Fi.

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații