Բոլոր ev3 սենսորներն ունեն ճիշտ անվանումը: Երկու կամ ավելի EV3 աղյուսների միացում

Ավանդաբար, ռոբոտները կառուցված են հարթակի վրա Lego Mindstorms EV3, ծրագրավորված են LabVIEW գրաֆիկական միջավայրի միջոցով: Այս դեպքում ծրագրերն աշխատում են EV3 կարգավորիչի վրա, և ռոբոտը գործում է ինքնուրույն: Այստեղ ես կխոսեմ ռոբոտին կառավարելու այլընտրանքային եղանակի մասին՝ օգտագործելով համակարգչի վրա աշխատող .NET հարթակը:

Բայց նախքան ծրագրավորման մեջ մտնելը, եկեք նայենք մի քանի դեպքերի, երբ դա կարող է օգտակար լինել.

  • Պահանջում է ռոբոտի հեռակառավարումը նոութբուքից (օրինակ՝ կոճակները սեղմելով)
  • Պահանջվում է տվյալներ հավաքել EV3 կարգավորիչից և մշակել դրանք արտաքին համակարգում (օրինակ՝ IoT համակարգերի համար)
  • Ցանկացած այլ իրավիճակ, երբ ցանկանում եք գրել կառավարման ալգորիթմ .NET-ում և գործարկել այն EV3 կարգավորիչին միացված համակարգչից:

LEGO MINDSTORMS EV3 API .NET-ի համար

EV3 կարգավորիչը կառավարվում է արտաքին համակարգից՝ հրամաններ ուղարկելով սերիական պորտին: Հրամանի ձևաչափն ինքնին նկարագրված է Communication Developer Kit-ում:

Բայց այս արձանագրությունը ձեռքով իրականացնելը ձանձրալի է: Հետևաբար, կարող եք օգտագործել պատրաստի .NET փաթաթան, որը Բրայան Փիկն ուշադիր գրել է։ Այս գրադարանի սկզբնական կոդը տեղակայված է Github-ում, իսկ օգտագործման համար պատրաստ փաթեթը կարելի է գտնել Nuget-ում:

Միացում EV3 վերահսկիչին

Brick դասը օգտագործվում է EV3 կարգավորիչի հետ հաղորդակցվելու համար: Այս օբյեկտը ստեղծելիս դուք պետք է կոնստրուկտորին փոխանցեք ICCommunication ինտերֆեյսի իրականացումը. օբյեկտ, որը նկարագրում է, թե ինչպես միանալ EV3 կարգավորիչին: Հասանելի են UsbCommunication, BluetoothCommunication և NetworkCommunication (WiFi կապ):

Միացման ամենատարածված մեթոդը Bluetooth-ի միջոցով է: Եկեք ավելի սերտ նայենք այս կապի մեթոդին:

Նախքան մենք կարողանանք ծրագրային կերպով միանալ կարգավորիչին Bluetooth-ի միջոցով, կարգավորիչը պետք է միացված լինի համակարգչին՝ օգտագործելով օպերացիոն համակարգի կարգավորումները:

Կարգավորիչը միացնելուց հետո անցեք Bluetooth կարգավորումներ և ընտրեք COM պորտերի ներդիրը: Մենք գտնում ենք մեր վերահսկիչը, մեզ պետք է արտագնանավահանգիստ. Մենք դա կնշենք BluetoothCommunication օբյեկտը ստեղծելիս:

Կարգավորիչին միանալու ծածկագիրը կունենա հետևյալ տեսքը.

Հանրային համաժամեցված Task Connect (ICCommunication հաղորդակցություն) ( var communication = նոր BluetoothCommunication ("COM9"); var brick = _brick = new Brick(communication); await _brick.ConnectAsync(); )

Ընտրովի, դուք կարող եք նշել կարգավորիչին միացման ժամկետի ավարտը.

Սպասեք _brick.ConnectAsync(TimeSpan.FromSeconds(5));

USB-ի կամ WiFi-ի միջոցով միավորին միացումը կատարվում է նույն կերպ, բացառությամբ, որ օգտագործվում են UsbCommunication և NetworkCommunication օբյեկտները:

Կարգավորիչի վրա կատարված բոլոր հետագա գործողությունները կատարվում են Brick օբյեկտի միջոցով:

Եկեք պտտենք շարժիչները

EV3 կարգավորիչի վրա հրամաններ կատարելու համար մենք մուտք ենք գործում Brick օբյեկտի DirectCommand հատկությունը: Նախ, եկեք փորձենք գործարկել շարժիչները:

Ենթադրենք, որ մեր շարժիչը միացված է կարգավորիչի A պորտին, ապա այս շարժիչը 50% հզորությամբ աշխատելը կունենա հետևյալ տեսքը.

Սպասեք _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50);

Շարժիչը կառավարելու այլ մեթոդներ կան. Օրինակ, դուք կարող եք պտտել շարժիչը որոշակի անկյան տակ՝ օգտագործելով StepMotorAtPowerAsync() և StepMotorAtSpeedAsync() մեթոդները: Առկա են մի քանի մեթոդներ, որոնք տատանումներ են շարժիչների միացման ռեժիմների վրա՝ ըստ ժամանակի, արագության, հզորության և այլն:

Հարկադիր կանգառն իրականացվում է StopMotorAsync() մեթոդով.

Սպասեք _brick.DirectCommand.StopMotorAsync(OutputPort.A, true);

Երկրորդ պարամետրը ցույց է տալիս արգելակի օգտագործումը: Եթե ​​դուք դրեք այն false-ի վրա, շարժիչը կկանգնեցվի:

Սենսորներից արժեքների ընթերցում

EV3 կարգավորիչն ունի չորս պորտ՝ սենսորների միացման համար։ Բացի սրանից, շարժիչներն ունեն նաև ներկառուցված կոդավորիչներ, որոնք թույլ են տալիս դրանք օգտագործել որպես սենսորներ։ Արդյունքում մենք ունենք 8 պորտ, որոնցից կարելի է կարդալ արժեքները։

Արժեքները կարդալու պորտերին կարելի է մուտք գործել Brick օբյեկտի Ports հատկության միջոցով: Ports-ը նավահանգիստների հավաքածու է, որոնք հասանելի են վերահսկիչի վրա: Հետեւաբար, կոնկրետ նավահանգստի հետ աշխատելու համար անհրաժեշտ է ընտրել այն: InputPort.One ... InputPort.Four-ը սենսորային պորտերն են, իսկ InputPort.A ... InputPort.D-ն շարժիչի կոդավորիչներն են:

Var port1 = _brick.Ports;

EV3-ի սենսորները կարող են աշխատել տարբեր ռեժիմներով: Օրինակ, EV3 Color Sensor-ը կարող է օգտագործվել շրջակա միջավայրի լույսը չափելու, արտացոլված լույսը չափելու կամ գույնը հայտնաբերելու համար: Հետևաբար, սենսորին «պատմելու» համար, թե ինչպես ենք մենք ցանկանում օգտագործել այն, մենք պետք է սահմանենք դրա ռեժիմը.

Brick.Ports.SetMode(ColorMode.Reflective);

Այժմ, երբ սենսորը միացված է, և դրա գործառնական ռեժիմը միացված է, դուք կարող եք կարդալ դրանից տվյալները: Դուք կարող եք ստանալ «հում» տվյալներ, մշակված արժեք և տոկոսային արժեք:

Float si = _brick.Ports.SIValue; int raw = _brick.Ports.RawValue; բայթ տոկոս = _brick.Ports.PercentValue;

SIValue հատկությունը վերադարձնում է մշակված տվյալները: Ամեն ինչ կախված է նրանից, թե որ սենսորն է օգտագործվում և ինչ ռեժիմում: Օրինակ, արտացոլված լույսը չափելիս մենք կստանանք արժեքներ 0-ից մինչև 100՝ կախված արտացոլված լույսի ինտենսիվությունից (սև/սպիտակ):

RawValue հատկությունը վերադարձնում է ADC-ից ստացված չմշակված արժեքը: Երբեմն ավելի հարմար է այն օգտագործել հետագա մշակման և օգտագործման համար: Ի դեպ, EV3 մշակման միջավայրում հնարավոր է նաև ստանալ «հում» արժեքներ. դրա համար անհրաժեշտ է օգտագործել կապույտ վահանակի բլոկը:

Եթե ​​ձեր օգտագործած սենսորը ակնկալում է արժեքներ ստանալ տոկոսներով, ապա կարող եք նաև օգտագործել PercentValue հատկությունը:

Հրամանների կատարում խմբաքանակով

Ենթադրենք, մենք ունենք երկու անիվներով ռոբոտի սայլ և ցանկանում ենք այն տեղակայել տեղում: Այս դեպքում երկու անիվները պետք է պտտվեն հակառակ ուղղությամբ: Եթե ​​մենք օգտագործում ենք DirectCommand և հաջորդաբար երկու հրաման ենք ուղարկում վերահսկիչին, դրանց կատարման միջև կարող է որոշ ժամանակ անցնել.

Սպասեք _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50); await _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

Այս օրինակում մենք հրաման ենք ուղարկում A շարժիչը պտտել 50 արագությամբ, այս հրամանը հաջողությամբ ուղարկելուց հետո նույնը կրկնում ենք B պորտին միացված շարժիչի հետ: Խնդիրն այն է, որ հրամաններ ուղարկելը անմիջապես չի կատարվում, ուստի շարժիչները կարող է սկսել պտտվել տարբեր ժամանակներում, երբ հրամանը փոխանցվում է B պորտի, A շարժիչի համար արդենկսկսի պտտվել:

Եթե ​​մեզ համար կարևոր է, որ շարժիչները միաժամանակ պտտվեն, մենք կարող ենք հրամաններ ուղարկել վերահսկիչին «փաթեթով»: Այս դեպքում դուք պետք է օգտագործեք BatchCommand հատկությունը DirectCommand-ի փոխարեն.

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); սպասում _brick.BatchCommand.SendCommandAsync();

Այժմ պատրաստվում են միանգամից երկու հրաման, որից հետո դրանք ուղարկվում են վերահսկիչին մեկ փաթեթով։ Կարգավորիչը, ստանալով այս հրամանները, կսկսի միաժամանակ պտտել շարժիչները:

Էլ ի՞նչ կարող ես անել

Բացի պտտվող շարժիչներից և սենսորների արժեքները կարդալուց, դուք կարող եք կատարել մի շարք այլ գործողություններ EV3 կարգավորիչի վրա: Ես չեմ մանրամասնի դրանցից յուրաքանչյուրի մասին, ես միայն կթվարկեմ ցանկը, թե ինչ կարելի է անել.

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync() և այլն - EV3 կարգավորիչի ներկառուցված էկրանի մանիպուլյացիա
  • PlayToneAsync() և PlaySoundAsync() - օգտագործեք ներկառուցված բարձրախոսը հնչյուններ նվագարկելու համար
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (SystemCommand-ից) - աշխատել ֆայլերի հետ

Եզրակացություն

Mindstorms EV3 ռոբոտները կառավարելու համար .NET-ի օգտագործումը լավ ցույց է տալիս, թե ինչպես կարող են համագործակցել «տարբեր աշխարհների» տեխնոլոգիաները: .NET-ի համար EV3 API-ի ուսումնասիրության արդյունքում ստեղծվել է մի փոքրիկ հավելված, որը թույլ է տալիս համակարգչից կառավարել EV3 ռոբոտը։ Ցավոք, նմանատիպ հավելվածներ կան NXT-ի համար, սակայն EV3-ը շրջանցել է դրանք։ Միևնույն ժամանակ, դրանք օգտակար են կառավարվող ռոբոտների մրցումներում, ինչպիսին է ռոբոտների ֆուտբոլը:

Հավելվածը կարելի է ներբեռնել և տեղադրել այս հղումից.

Եթե ​​դուք, ինչպես մենք, չունեք ստանդարտ EV3 սենսորների հնարավորությունները, ապա ձեր ռոբոտներում սենսորների 4 պորտերը բավարար չեն, կամ ցանկանում եք միացնել որոշ էկզոտիկ ծայրամասային սարքեր ձեր ռոբոտին, այս հոդվածը ձեզ համար է: Հավատացեք ինձ, EV3-ի համար տնական սենսորն ավելի հեշտ է, քան թվում է: Փորձարկման համար կատարյալ են հին ռադիոյից ստացված «ձայնի կոճակը» կամ ծաղկամանի մեջ գետնին խրված մի քանի մեխեր:

Զարմանալիորեն, յուրաքանչյուր EV3 սենսորային պորտ թաքցնում է մի շարք տարբեր արձանագրություններ, հիմնականում NXT և երրորդ կողմի սենսորների հետ համատեղելիության համար: Եկեք նայենք, թե ինչպես է աշխատում EV3 մալուխը


Տարօրինակ է, բայց կարմիր լարը հողակցված է (GND), կանաչ լարը 4,3 Վ սնուցման պլյուսն է: Կապույտ մետաղալարը և՛ SDA է I2C ավտոբուսի համար, և՛ TX՝ UART արձանագրության համար: Բացի այդ, կապույտ մետաղալարը EV3-ի համար անալոգային-թվային փոխարկիչի մուտքն է: Դեղին մետաղալարը և՛ SCL է I2C ավտոբուսի համար, և՛ RX՝ UART արձանագրության համար: Սպիտակ մետաղալարը NXT սենսորների համար անալոգային-թվային փոխարկիչի մուտքն է: Սև - թվային մուտք, NXT-ի հետ համատեղելի սենսորների համար - այն կրկնօրինակում է GND-ը: Հեշտ չէ, այնպես չէ՞: Գնանք կարգով։

EV3 անալոգային մուտք

Յուրաքանչյուր սենսորային պորտ ունի անալոգային-թվային փոխարկիչ ալիք: Այն օգտագործվում է այնպիսի սենսորների համար, ինչպիսիք են Touch Sensor (կոճակը), NXT Light Sensor և Color Sensor արտացոլված լույսի և շրջակա լույսի ռեժիմում, NXT Sound Sensor և NXT Thermometer:

910 Օմ դիմադրությունը, որը միացված է ըստ դիագրամի, վերահսկիչին ասում է, որ այս նավահանգիստը պետք է միացվի անալոգային մուտքային ռեժիմին: Այս ռեժիմում դուք կարող եք միացնել ցանկացած անալոգային սենսոր EV3-ին, օրինակ՝ Arduino-ից: Նման սենսորով փոխարժեքը կարող է հասնել վայրկյանում մի քանի հազար հարցման, սա սենսորի ամենաարագ տեսակն է:

Լույսի սենսոր

Ջերմաչափ

Հողի խոնավության սենսոր

Կարող եք նաև միացնել՝ խոսափող, կոճակ, IR հեռաչափ և շատ այլ սովորական սենսորներ: Եթե ​​4,3 Վ հզորությունը բավարար չէ սենսորին, կարող եք այն սնուցել 5 Վ լարմամբ EV3 կարգավորիչի կողքին գտնվող USB պորտից:

Վերոնշյալ «ծավալի գլխիկը» (նաև հայտնի է որպես փոփոխական ռեզիստոր կամ պոտենցիոմետր) անալոգային սենսորի հիանալի օրինակ է. այն կարելի է միացնել այսպես.

Նման սենսորից արժեքներ կարդալու համար ստանդարտ LEGO ծրագրավորման միջավայրում դուք պետք է օգտագործեք կապույտ RAW բլոկը:

I2C արձանագրություն

Սա թվային արձանագրություն է, օրինակ, NXT ուլտրաձայնային սենսորը և շատ Hitechnic սենսորներ, ինչպիսիք են IR Seeker կամ Color Sensor V2, աշխատում են դրա վրա: Մյուս պլատֆորմների համար, օրինակ Arduino-ի համար, i2c սենսորները շատ են, կարող եք նաև միացնել։ Սխեման հետևյալն է.

82 ohms դիմադրություն առաջարկվում է LEGO Group-ի կողմից, սակայն տարբեր աղբյուրներ նշում են 43 ohms կամ ավելի քիչ: Փաստորեն, մենք փորձել ենք ընդհանրապես հրաժարվել այդ դիմադրություններից, և ամեն ինչ աշխատում է, թեկուզ «սեղանի վրա»: Իրական ռոբոտում, որն աշխատում է տարբեր տեսակի միջամտությունների պայմաններում, SCL և SDA գծերը դեռ պետք է միացված լինեն էլեկտրամատակարարմանը դիմադրության միջոցով, ինչպես նշված է վերը նշված դիագրամում: i2c-ի գործառնական արագությունը EV3-ում բավականին ցածր է՝ մոտավորապես 10,000 կբ/վ, այդ իսկ պատճառով բոլորի սիրելի Hitechnic Color Sensor V2-ն այդքան դանդաղ է :)

Ցավոք, LEGO-ի ստանդարտ EV3-G-ի համար չկա i2c սենսորի հետ երկկողմանի հաղորդակցության լիարժեք բլոկ, բայց օգտագործելով երրորդ կողմի ծրագրավորման միջավայրերը, ինչպիսիք են RobotC, LeJOS կամ EV3 Basic, դուք կարող եք փոխազդել գրեթե ցանկացած i2c սենսորների հետ: .

EV3-ի` i2c արձանագրության միջոցով աշխատելու ունակությունը հետաքրքիր հնարավորություն է բացում մի քանի սենսորների մի պորտին միացնելու համար: I2C արձանագրությունը թույլ է տալիս մեկ ավտոբուսին միացնել մինչև 127 ստրուկ սարքեր: Պատկերացնու՞մ եք։ 127 սենսոր յուրաքանչյուր EV3 պորտի համար :) Ավելին, հաճախ i2c սենսորների մի փունջ միավորվում են մեկ սարքում, օրինակ ստորև ներկայացված լուսանկարում կա 10-ը 1-ի սենսոր (պարունակում է կողմնացույց, գիրոսկոպ, արագացուցիչ, բարոմետր և այլն)

UART

Գրեթե բոլոր ստանդարտ ոչ EV3 սենսորները, բացառությամբ Touch Sensor-ի, գործում են UART արձանագրության միջոցով, և այդ պատճառով նրանք համատեղելի չեն NXT կարգավորիչի հետ, որը, թեև ունի նույն միակցիչները, չունի UART ներդրված իր սենսորի վրա: նավահանգիստները. Նայեք դիագրամին, այն մի փոքր ավելի պարզ է, քան նախորդ դեպքերում.

UART սենսորները ավտոմատ կերպով համապատասխանում են իրենց գործողության արագությանը EV3-ի հետ: Սկզբում միանալով 2400 կբիտ/վ արագությամբ՝ պայմանավորվում են գործառնական ռեժիմների և փոխարժեքների շուրջ, այնուհետև անցնում են բարձրացված արագության։ Տարբեր սենսորների համար բնորոշ փոխարժեքներն են 38400 և 115200 կբիթ/վրկ:
LEGO-ն իր UART սենսորներում ներդրել է բավականին բարդ արձանագրություն, ուստի չկան երրորդ կողմի սենսորներ, որոնք ի սկզբանե նախատեսված չեն եղել այս հարթակի համար, բայց համատեղելի են դրա հետ: Այնուամենայնիվ, այս արձանագրությունը շատ հարմար է «տնական» միացման համար
միկրոկարգավորիչների վրա հիմնված սենսորներ:
Arduino-ի համար կա մի հրաշալի գրադարան, որը կոչվում է EV3UARTEmulation, որը գրվել է հայտնի LeJOS-ի մշակող Լորի Գրիֆիթսի կողմից, որը թույլ է տալիս այս տախտակին ձևացնել, թե UART-LEGO-ի հետ համատեղելի սենսոր է: Նրա LeJOS News բլոգն ունի գազի սենսորների, IMU սենսորի և թվային կողմնացույցի միացման բազմաթիվ օրինակներ՝ օգտագործելով այս գրադարանը:

Ստորև բերված տեսանյութում ներկայացված է տնական սենսորի օգտագործման օրինակ: Մենք չունենք բավականաչափ օրիգինալ LEGO հեռավորության սենսորներ, ուստի ռոբոտի վրա մենք օգտագործում ենք ինքնաշեն սենսորներ.


Ռոբոտի խնդիրն է սկսել կանաչ բջիջից, գտնել ելք լաբիրինթոսից (կարմիր բջիջ) և ամենակարճ ճանապարհով վերադառնալ մեկնարկային կետ՝ առանց փակուղիներ մտնելու։

Ընտրեք էկրանի ռեժիմը

Ռեժիմի ընտրություն
Արգելափակել տեքստային դաշտը
Մուտքագրումներ
Նախադիտման կոճակ

Ընտրեք տեքստի կամ գրաֆիկայի տեսակը, որը ցանկանում եք տեսնել՝ օգտագործելով ռեժիմի ընտրիչը: Ռեժիմն ընտրելուց հետո կարող եք ընտրել մուտքագրման արժեքները: Հասանելի մուտքերը տարբեր կլինեն՝ կախված ռեժիմից: Ռեժիմները և մուտքերը նկարագրված են ստորև:

Կարող եք սեղմել Preview կոճակը՝ նախադիտելու համար, թե ինչ կցուցադրի Display բլոկը EV3 էկրանին: Դուք կարող եք բաց թողնել տեսարանը՝ բլոկի համար մուտքային արժեքներ ընտրելիս:

Էկրանի կոորդինատները

Էկրանի արգելափակման ռեժիմներից շատերը օգտագործում են X և Y կոորդինատներ՝ տարրի գտնվելու վայրը որոշելու համար: Կոորդինատները որոշում են պիքսելների դիրքը EV3 Brick էկրանի վրա: Դիրքը (0, 0) գտնվում է էկրանի վերին ձախ անկյունում, ինչպես ցույց է տրված ստորև նկարում:

Էկրանի չափսերը՝ 178 պիքսել լայնություն և 128 պիքսել բարձրություն։ X կոորդինատների արժեքների միջակայքը ձախից էկրանին 0-ից մինչև աջ կողմում 177 է: Y կոորդինատների արժեքների միջակայքը վերևում 0-ից մինչև ներքևում 127 է:

Խորհուրդներ եւ հնարքներ

Դուք կարող եք օգտագործել Էկրանի բլոկի վերին ձախ անկյունում գտնվող «Նախադիտում» կոճակը՝ օգնելու գտնել էկրանի ճիշտ կոորդինատները:

Տեքստ - պիքսելներ

Տեքստ - Pixels ռեժիմը թույլ է տալիս ցուցադրել տեքստը EV3 Brick էկրանի ցանկացած վայրում:

Վերականգնել պատուհանը

Վերականգնել պատուհանի ռեժիմը վերադարձնում է EV3 Brick էկրանը ստանդարտ տեղեկատվական էկրանին, որը ցուցադրվում է ծրագրի գործարկման ընթացքում: Այս էկրանը ցույց է տալիս ծրագրի անվանումը և հետադարձ կապի այլ տեղեկություններ: Երբ դուք ծրագիր եք գործարկում EV3 Brick-ի վրա, այս էկրանը հայտնվում է ծրագրի առաջին Էկրանի բլոկի գործարկումից առաջ:

Ցուցադրվող տարրերի տեսանելիության ապահովում

Երբ EV3 ծրագիրն ավարտվում է, EV3 Brick էկրանը մաքրվում է և վերադառնում EV3 Brick մենյուի էկրան: Ծրագրի կողմից ցուցադրվող ցանկացած տեքստ կամ գրաֆիկա կջնջվի: Եթե, օրինակ, ձեր ծրագիրն ունի մեկ «Էկրան» բլոկ և ուրիշ ոչինչ, ապա ծրագրի ավարտից անմիջապես հետո էկրանն այնքան արագ կջնջվի, որ «Էկրանի» բլոկի արդյունքները չեք տեսնի։

Եթե ​​ցանկանում եք, որ էկրանը տեսանելի մնա ծրագրի ավարտից հետո, դուք պետք է ծրագրի ավարտին բլոկ ավելացնեք, որպեսզի ծրագիրը անմիջապես չավարտվի, ինչպես ցույց է տրված հետևյալ օրինակներում:

Ցուցադրվում են բազմաթիվ տարրեր

Եթե ​​ցանկանում եք էկրանին միաժամանակ ցուցադրել մի քանի տեքստ կամ գրաֆիկական տարրեր, կարևոր է չմաքրել EV3 Brick էկրանը տարրերի միջև: Էկրանի բլոկի յուրաքանչյուր ռեժիմ ունի Clear Screen մուտքագրում: Եթե ​​Clear Screen-ը ճշմարիտ է, ամբողջ էկրանը կջնջվի մինչև տարրի ցուցադրումը: Սա նշանակում է, որ մի քանի տարրեր ցուցադրելու համար պետք է Clear Screen-ը սահմանել False-ի յուրաքանչյուր Էկրանի բլոկի համար, բացառությամբ առաջինի:

Ցուցադրվում են թվեր

Ձեր ծրագրում թվային արժեք ցուցադրելու համար միացրեք տվյալների ավտոբուսը Text Display բլոկի Text մուտքագրմանը: Թվային տվյալների ավտոբուսը ավտոմատ կերպով կվերածվի տեքստի՝ օգտագործելով տվյալների ավտոբուսի տիպի փոխարկումը (տես բաժինը

Ներկայացման նկարագրությունը առանձին սլայդներով.

1 սլայդ

Սլայդի նկարագրություն.

2 սլայդ

Սլայդի նկարագրություն.

EV3 Brick ինտերֆեյս EV3 Brick-ը կառավարման կենտրոնն է, որը սնուցում է ձեր ռոբոտներին: Էկրանի, Brick կառավարման կոճակների և EV3 Brick ինտերֆեյսի միջոցով, որը պարունակում է չորս հիմնական պատուհաններ, դուք մուտք ունեք EV3 Brick-ի եզակի առանձնահատկությունների ցնցող բազմազանություն: Սրանք կարող են լինել պարզ գործառույթներ, օրինակ՝ ծրագիր սկսելն ու դադարեցնելը, կամ բարդ, ինչպես հենց ծրագիրը գրելը:

3 սլայդ

Սլայդի նկարագրություն.

Ինտերֆեյս. EV3 մենյուն ունի մենյու, որը բաղկացած է 4 մասից.

4 սլայդ

Սլայդի նկարագրություն.

Վերջին ծրագրեր Գործարկեք ձեր աշխատասեղանի համակարգչից վերջերս ներբեռնված ծրագրերը: Այս պատուհանը դատարկ կմնա այնքան ժամանակ, մինչև չսկսեք ներբեռնել և գործարկել ծրագրերը: Այս պատուհանում կցուցադրվեն վերջերս գործարկված ծրագրերը: Ցանկի վերևում գտնվող ծրագիրը, որը ընտրված է լռելյայն, այն ծրագիրն է, որը գործարկվել է վերջին անգամ:

5 սլայդ

Սլայդի նկարագրություն.

Ֆայլերի կառավարիչ Մուտք գործեք և կառավարեք բոլոր ֆայլերը, որոնք պահվում են միկրոհամակարգչի հիշողության մեջ, ինչպես նաև հիշողության քարտում: Այս պատուհանից դուք մուտք կունենաք և կկառավարեք ձեր EV3 Brick-ի բոլոր ֆայլերը, ներառյալ SD քարտում պահված ֆայլերը: Ֆայլերը կազմակերպվում են նախագծի թղթապանակների մեջ, որոնք, բացի բուն ծրագրի ֆայլերից, պարունակում են նաև յուրաքանչյուր նախագծում օգտագործվող ձայներն ու պատկերները: Ֆայլերը կարող են տեղափոխվել կամ ջնջվել՝ օգտագործելով ֆայլերի նավիգատորը: Մոդուլի ծրագրավորման միջավայրի և մոդուլի տվյալների գրանցման հավելվածների միջոցով ստեղծված ծրագրերը պահվում են առանձին BrkProg_SAVE և BrkDL_SAVE պանակներում:

6 սլայդ

Սլայդի նկարագրություն.

EV3 Control Box Applications-ն ունի 4 նախապես տեղադրված հավելված՝ A. Port View: B. Շարժիչի կառավարում: B. IR հսկողություն: D. Մոդուլի ծրագրավորման միջավայր:

7 սլայդ

Սլայդի նկարագրություն.

A. Port View հավելվածի առաջին պատուհանում դուք կարող եք արագ տեսնել, թե որ նավահանգիստներն ունեն սենսորներ կամ շարժիչներ միացված: Օգտագործեք EV3 Brick կառավարման կոճակները՝ նավարկելու զբաղեցրած նավահանգիստներից մեկը և կտեսնեք ընթացիկ ընթերցումները սենսորից կամ շարժիչից: Տեղադրեք մի քանի սենսորներ և շարժիչներ և փորձեք տարբեր պարամետրերով: Տեղադրված շարժիչների և սենսորների ընթացիկ կարգավորումները դիտելու կամ փոխելու համար սեղմեք կենտրոնական կոճակը: Մոդուլի հիմնական հավելվածի պատուհան վերադառնալու համար սեղմեք «Հետ» կոճակը:

8 սլայդ

Սլայդի նկարագրություն.

B. Շարժիչի կառավարում Վերահսկեք ցանկացած շարժիչի առաջ կամ հակառակ շարժումը, որը միացված է չորս ելքային միացքներից մեկին: Կան երկու տարբեր ռեժիմներ. Մեկ ռեժիմում դուք կկարողանաք կառավարել A պորտին միացված շարժիչները (օգտագործելով վեր և վար կոճակները) և D պորտին (օգտագործելով ձախ և աջ կոճակները): Մյուս ռեժիմում դուք կառավարում եք B պորտին միացված շարժիչները (օգտագործելով վերև և վար կոճակները) և C պորտին (օգտագործելով ձախ և աջ կոճակները): Այս երկու ռեժիմների միջև անցումը կատարվում է կենտրոնական կոճակի միջոցով: Մոդուլի հիմնական հավելվածի պատուհան վերադառնալու համար սեղմեք «Հետ» կոճակը:

Սլայդ 9

Սլայդի նկարագրություն.

IR կառավարում Վերահսկեք ցանկացած շարժիչի առաջ կամ հակառակ շարժումը, որը միացված է չորս ելքային միացքներից մեկին, օգտագործելով հեռակառավարման ինֆրակարմիր փարոսը որպես հեռակառավարման վահանակ և ինֆրակարմիր սենսորը որպես ստացող (ինֆրակարմիր սենսորը պետք է միացված լինի EV3 Brick-ի 4-րդ պորտին): . Կան երկու տարբեր ռեժիմներ. Մեկ ռեժիմում դուք կօգտագործեք 1 և 2 ալիքները հեռավոր ինֆրակարմիր փարոսի վրա: 1-ին ալիքում դուք կկարողանաք կառավարել B նավահանգիստին միացված շարժիչները (օգտագործելով 1 և 2 կոճակները հեռակառավարման IR փարոսի վրա) և C նավահանգիստը (օգտագործելով 3 և 4 կոճակները հեռավոր IR փարոսի վրա): 2-րդ ալիքում դուք կկարողանաք կառավարել A պորտին միացված շարժիչները (օգտագործելով 1 և 2 կոճակները) և D պորտին (օգտագործելով 3 և 4 կոճակները): Մեկ այլ ռեժիմում դուք կարող եք կառավարել շարժիչները նույն կերպ՝ փոխարենը օգտագործելով հեռակառավարվող ինֆրակարմիր փարոսի վրա 3 և 4 ալիքները: Այս երկու ռեժիմների միջև անցումը կատարվում է կենտրոնական կոճակի միջոցով: Մոդուլի հիմնական հավելվածի պատուհան վերադառնալու համար սեղմեք «Հետ» կոճակը:

10 սլայդ

Սլայդի նկարագրություն.

Աղյուսի ծրագրավորման միջավայր EV3 Brick-ը գալիս է դրա վրա տեղադրված ծրագրակազմով: Հավելվածը նման է ձեր համակարգչում տեղադրված ծրագրերին: Այս հրահանգները պարունակում են հիմնական տեղեկությունները, որոնք անհրաժեշտ են սկսելու համար:

11 սլայդ

Սլայդի նկարագրություն.

EV3 Brick Settings Այս պատուհանը թույլ է տալիս դիտել և կարգավորել տարբեր ընդհանուր կարգավորումներ EV3 Brick-ում:

12 սլայդ

Սլայդի նկարագրություն.

Ձայնի կարգավորումը Դուք կարող եք բարձրացնել կամ նվազեցնել Ձայնը EV3-ի Կարգավորումներ ներդիրում:

Սլայդ 13

USB միացում

LEGO Mindstorms EV3-ը կարող է միանալ համակարգչին կամ այլ EV3-ին USB կապի միջոցով: Կապի արագությունն ու կայունությունն այս դեպքում ավելի լավն են, քան ցանկացած այլ եղանակով, ներառյալ Bluetooth-ը:

LEGO Mindstorms EV3-ն ունի երկու USB պորտ:

Հաղորդակցություն LEGO EV3-ի և այլ LEGO EV3 բլոկների միջև Daisy Chain ռեժիմում:

Daisy շղթայի ռեժիմն օգտագործվում է երկու կամ ավելի LEGO EV3 բլոկների միացման համար:

Այս ռեժիմը.

  • նախատեսված է մեկից ավելի LEGO Mindstorms EV3 միացնելու համար;
  • ծառայում է ավելի շատ սենսորների, շարժիչների և այլ սարքերի միացմանը.
  • թույլ է տալիս հաղորդակցվել մի քանի LEGO Mindstorms EV3 (մինչև 4) միջև, որը մեզ տալիս է մինչև 16 արտաքին և նույնքան ներքին պորտեր;
  • հնարավորություն է տալիս վերահսկել ամբողջ շղթան հիմնական LEGO Mindstorms EV3-ից;
  • չի կարող գործել, երբ Wi-Fi-ը կամ Bluetooth-ը ակտիվ են:

Daisy շղթայի միացման ռեժիմը միացնելու համար գնացեք նախագծի կարգավորումների պատուհանը և նշեք վանդակը:

Երբ ընտրված է այս ռեժիմը, ապա ցանկացած շարժիչի համար մենք կարող ենք ընտրել EV3 բլոկը, որը կօգտագործվի և անհրաժեշտ սենսորները:

Աղյուսակը ցույց է տալիս EV3 բլոկների օգտագործման տարբերակները.

Գործողություն

Միջին շարժիչ

Մեծ շարժիչ

ղեկ

Անկախ կառավարում

Գիրոսկոպիկ

Ինֆրակարմիր

Ուլտրաձայնային

Շարժիչի ռոտացիա

Ջերմաստիճաններ

Էներգիայի հաշվիչ

Ձայն

Միացում Bluetooth-ի միջոցով

Bluetooth-ը թույլ է տալիս LEGO Mindstorms EV3-ին միանալ համակարգչին, այլ LEGO Mindstorms EV3-ին, սմարթֆոններին և այլ Bluetooth սարքերին: Bluetooth-ի միջոցով հաղորդակցության տիրույթը մինչև 25 մ է:

Դուք կարող եք միացնել մինչև 7 բլոկ մեկ LEGO Mindstorms EV3-ին: EV3 Master Brick-ը թույլ է տալիս ուղարկել և ստանալ հաղորդագրություններ յուրաքանչյուր EV3 Slave-ին: EV3 Slaves-ը կարող է հաղորդագրություններ ուղարկել միայն EV3 Master Brick-ին, ոչ թե միմյանց:

EV3 միացման հաջորդականությունը Bluetooth-ի միջոցով

Երկու կամ ավելի EV3 բլոկներ Bluetooth-ի միջոցով միմյանց միացնելու համար անհրաժեշտ է կատարել հետևյալ քայլերը.

1. Բացեք ներդիր Կարգավորումներ.

2. Ընտրեք Bluetoothև սեղմեք կենտրոնական կոճակը:

3. Մենք դնում ենք Նշավանդակ տեսանելիությունը Bluetooth.

4. Ստուգեք, որ Bluetooth նշանը ("<") виден на верхней левой стороне.

5. Կատարեք վերը նշված ընթացակարգը անհրաժեշտ քանակությամբ EV3 Աղյուսների համար:

6. Գնացեք «Միացում» ներդիր.

7. Սեղմեք Search կոճակը.

8. Ընտրեք EV3-ը, որին ցանկանում եք միանալ (կամ որին ցանկանում եք միանալ) և սեղմեք կենտրոնական կոճակը:

9. Մենք կապում ենք առաջին և երկրորդ բլոկները մուտքի ստեղնով:

Եթե ​​ամեն ինչ ճիշտ եք անում, ապա վերին ձախ անկյունում կհայտնվի «» պատկերակը<>«, նույն կերպ միացրեք մյուս EV3 բլոկները, եթե դրանք երկուսից ավելի են։

Եթե ​​անջատեք LEGO EV3-ը, կապը կկորչի, և դուք պետք է կրկնեք բոլոր քայլերը:

Կարևոր է. յուրաքանչյուր բլոկի պետք է գրված լինի իր ծրագիրը:

Օրինակ ծրագիր.

Առաջին բլոկ. Երբ հպման սենսորը սեղմված է, առաջին EV3 Block-ը տեքստը փոխանցում է երկրորդ Բլոկին 3 վայրկյան ուշացումով (հիմնական բլոկ):

Ծրագրի օրինակ 2-րդ բլոկի համար.

Երկրորդ բլոկը սպասում է առաջին բլոկի տեքստը ստանալուն, և այն ստանալուց հետո այն կցուցադրի բառ (մեր օրինակում՝ «Բարև» բառը) 10 վայրկյան (ստրկատիրական բլոկ):

Միացեք Wi-Fi-ի միջոցով

Ավելի մեծ հեռավորության վրա հաղորդակցությունը հնարավոր է Wi-Fi Dongle-ը միացնելով EV3-ի USB պորտին:

Wi-Fi-ից օգտվելու համար հարկավոր է հատուկ մոդուլ տեղադրել EV3 բլոկի վրա՝ օգտագործելով USB միակցիչ (Wi-Fi ադապտեր (Netgear N150 Wireless Adapter (WNA1100), կամ կարող եք միացնել Wi-Fi Dongle: