ჩვენ ვმუშაობთ Lego Mindstorms EV3-თან .NET-დან. ორი ან მეტი EV3 აგურის დაკავშირება დაკავშირება Wi-Fi-ით

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. აირჩიეთ ბლუთუზიდა დააჭირეთ ცენტრალურ ღილაკს.

3. ჩვენ ვაყენებთ მოსანიშნი ველი ხილვადობაᲑლუთუზი.

4. შეამოწმეთ, რომ Bluetooth ნიშანი ("<") виден на верхней левой стороне.

5. გააკეთეთ ზემოაღნიშნული პროცედურა საჭირო რაოდენობის EV3 Bricks-ისთვის.

6. გადადით კავშირის ჩანართზე:

7. დააწკაპუნეთ ღილაკზე ძიება:

8. აირჩიეთ EV3, რომელთანაც გსურთ დაკავშირება (ან რომელთანაც გსურთ დაკავშირება) და დააჭირეთ ცენტრალურ ღილაკს.

9. პირველ და მეორე ბლოკს წვდომის გასაღებით ვაკავშირებთ.

თუ ყველაფერს სწორად აკეთებთ, ხატი " გამოჩნდება ზედა მარცხენა კუთხეში<>“, დააკავშირეთ სხვა EV3 ბლოკები იმავე გზით, თუ მათგან ორზე მეტია.

თუ LEGO EV3-ს გამორთავთ, კავშირი დაიკარგება და მოგიწევთ ყველა ნაბიჯის გამეორება.

მნიშვნელოვანია: თითოეულ ბლოკს უნდა ჰქონდეს დაწერილი საკუთარი პროგრამა.

პროგრამის მაგალითი:

პირველი ბლოკი: სენსორული სენსორის დაჭერისას, პირველი EV3 ბლოკი ტექსტს გადასცემს მეორე ბლოკს 3 წამის დაგვიანებით (მთავარი ბლოკი).

პროგრამის მაგალითი 2 ბლოკისთვის:

მეორე ბლოკი ელოდება ტექსტის მიღებას პირველი ბლოკიდან და მას შემდეგ რაც მიიღებს მას, გამოჩნდება სიტყვა (ჩვენს მაგალითში სიტყვა "გამარჯობა") 10 წამის განმავლობაში (მონური ბლოკი).

დაკავშირება Wi-Fi-ით

უფრო დიდი დიაპაზონის კომუნიკაცია შესაძლებელია Wi-Fi Dongle-ის USB პორტთან EV3-ის მიერთებით.

Wi-Fi-ს გამოსაყენებლად, თქვენ უნდა დააინსტალიროთ სპეციალური მოდული EV3 ბლოკზე USB კონექტორის გამოყენებით (Wi-Fi ადაპტერი (Netgear N150 Wireless Adapter (WNA1100), ან შეგიძლიათ დააკავშიროთ Wi-Fi Dongle.

აირჩიეთ ეკრანის რეჟიმი

რეჟიმის შერჩევა
ტექსტის ველის დაბლოკვა
შეყვანები
გადახედვის ღილაკი

აირჩიეთ ტექსტის ან გრაფიკის ტიპი, რომლის ნახვა გსურთ რეჟიმის ამომრჩევის გამოყენებით. რეჟიმის არჩევის შემდეგ შეგიძლიათ აირჩიოთ შეყვანის მნიშვნელობები. ხელმისაწვდომი შეყვანები განსხვავდება რეჟიმის მიხედვით. რეჟიმები და შეყვანები აღწერილია ქვემოთ.

შეგიძლიათ დააწკაპუნოთ Preview ღილაკზე, რათა წინასწარ ნახოთ, თუ რას აჩვენებს ეკრანის ბლოკი EV3 ეკრანზე. თქვენ შეგიძლიათ დატოვოთ ხედი ღია ბლოკისთვის შეყვანის მნიშვნელობების არჩევისას.

ეკრანის კოორდინატები

ეკრანის ბლოკის ბევრი რეჟიმი იყენებს X და Y კოორდინატებს ელემენტის ადგილმდებარეობის დასადგენად. კოორდინატები განსაზღვრავენ პიქსელების პოზიციას EV3 Brick ეკრანზე. პოზიცია (0, 0) არის ეკრანის ზედა მარცხენა კუთხეში, როგორც ნაჩვენებია ქვემოთ მოცემულ სურათზე.

ეკრანის ზომები: 178 პიქსელი სიგანე და 128 პიქსელი სიმაღლე. X კოორდინატების მნიშვნელობების დიაპაზონი არის 0-დან მარცხნივ ეკრანზე 177-მდე მარჯვნივ. Y კოორდინატების მნიშვნელობების დიაპაზონი არის 0-დან ზემოდან 127-მდე ბოლოში.

Რჩევები და ხრიკები

შეგიძლიათ გამოიყენოთ Preview ღილაკი ეკრანის ბლოკის ზედა მარცხენა კუთხეში, რათა დაგეხმაროთ ეკრანის სწორი კოორდინატების პოვნაში.

ტექსტი - პიქსელები

ტექსტი - პიქსელების რეჟიმი საშუალებას გაძლევთ აჩვენოთ ტექსტი ნებისმიერ ადგილას EV3 Brick ეკრანზე.

ფანჯრის გადატვირთვა

ფანჯრის გადატვირთვის რეჟიმი დააბრუნებს EV3 Brick ეკრანს სტანდარტული ინფორმაციის ეკრანზე, რომელიც ნაჩვენებია პროგრამის გაშვებისას. ეს ეკრანი აჩვენებს პროგრამის სახელს და სხვა უკუკავშირის ინფორმაციას. როდესაც თქვენ აწარმოებთ პროგრამას EV3 Brick-ზე, ეს ეკრანი გამოჩნდება პროგრამის პირველი ეკრანის ბლოკის გაშვებამდე.

ნაჩვენები ელემენტების ხილვადობის უზრუნველყოფა

როდესაც EV3 პროგრამა დასრულდება, EV3 Brick ეკრანი იშლება და ბრუნდება EV3 Brick მენიუს ეკრანზე. პროგრამის მიერ ნაჩვენები ნებისმიერი ტექსტი ან გრაფიკა წაიშლება. თუ, მაგალითად, თქვენს პროგრამას აქვს ერთი "ეკრანის" ბლოკი და სხვა არაფერი, მაშინ პროგრამის დასრულებისთანავე ეკრანი ისე სწრაფად გაიწმინდება, რომ "ეკრანის" ბლოკის შედეგებს ვერ ნახავთ.

თუ გსურთ, რომ ეკრანი დარჩეს ხილული პროგრამის დასრულების შემდეგ, თქვენ უნდა დაამატოთ ბლოკი პროგრამის ბოლოს, რათა თავიდან აიცილოთ პროგრამის დაუყონებლივ დასრულება, როგორც ეს ნაჩვენებია შემდეგ მაგალითებში.

ნაჩვენებია მრავალი ელემენტი

თუ გსურთ ეკრანზე ერთდროულად რამდენიმე ტექსტის ან გრაფიკული ელემენტის ჩვენება, მნიშვნელოვანია არ გაასუფთავოთ EV3 Brick ეკრანი ელემენტებს შორის. ეკრანის ბლოკის თითოეულ რეჟიმს აქვს Clear Screen შეყვანა. თუ ეკრანის გასუფთავება მართალია, მთელი ეკრანი წაიშლება ელემენტის ჩვენებამდე. ეს ნიშნავს, რომ მრავალი ელემენტის საჩვენებლად, თქვენ უნდა დააყენოთ Clear Screen-ზე False ყველა ეკრანის ბლოკისთვის, გარდა პირველისა.

ნომრების ჩვენება

თქვენს პროგრამაში რიცხვითი მნიშვნელობის საჩვენებლად, დააკავშირეთ მონაცემთა ავტობუსი ტექსტის ჩვენების ბლოკის ტექსტის შეყვანაში. ციფრული მონაცემთა ავტობუსი ავტომატურად გარდაიქმნება ტექსტად მონაცემთა ავტობუსის ტიპის კონვერტაციის გამოყენებით (იხ

დიზაინერში მიკროკომპიუტერის Beaglebone-ით ან სხვა ჩანაცვლების იდეა ახალი არ არის. მაგრამ EV3-ის გამოშვებით შესაძლებელი გახდა არა მხოლოდ 100% ანალოგის მიღება, არამედ თქვენი ლეგორობოტის მუშაობის გაზრდა.

პროექტის ვიდეო პრეზენტაცია:

E VB სრულად უჭერს მხარს Lego Mindstorms Ev3 სისტემას როგორც ტექნიკის, ასევე პროგრამული უზრუნველყოფის დონეზე, 100% თავსებადია ლეგოს ყველა სენსორთან და ძრავთან. ბლოკი მუშაობს ისევე, როგორც Lego Mindstorms EV3 ბლოკი:

BeagleBone შავი— ერთბორტიანი Linux კომპიუტერი.ის Raspberry Pi-ს კონკურენტია. აქვს მძლავრი პროცესორი AM335x 720MHz ARM® პროცესორი, დიდი შეყვანის/გამოსვლების რაოდენობა, შესაძლებლობები შეიძლება გაფართოვდეს დამატებითი დაფებით.

Lego Mindstorms EV3-ს აქვს ARM9 (TI Sitara AM180x) 300 MHz პროცესორი, ამიტომ გადადის ARM Cortex-A8 (TI Sitara AM335x) 1GHz BeagleBone Black პროცესორზე. ზრდის პროდუქტიულობასპლიუს შესაძლებელი ხდება დამატებითი გაფართოების ბარათების დაკავშირება!

ყველაზე მნიშვნელოვანი ის არის, რომ Lego Mindstorms EV3-ს აქვს ყველა პროგრამული უზრუნველყოფისა და აპარატურის ღია აღწერა!

მაგალითად, აწყობილი და დემონსტრირებულია ცნობილი რუბიკის კუბის ამომხსნელი რობოტი. მხოლოდ EV3-ის ნაცვლად დააინსტალირეს განვითარებული EVB. გეპატიჟებით ვიდეოს სანახავად:

პროექტის ავტორები უკვე აწარმოებენ და ყიდიან EVB-ს. ისინი გეგმავენ წარმოების მნიშვნელოვნად გაფართოებას 2015 წლის აპრილის ბოლომდე. გარდა ამისა, მათ შეიმუშავეს და აწარმოებენ რამდენიმე თავსებად სენსორს.

ტრადიციულად, რობოტები აგებულია პლატფორმაზე Lego Mindstorms EV3, დაპროგრამებულია LabVIEW გრაფიკული გარემოს გამოყენებით. ამ შემთხვევაში, პროგრამები მუშაობს EV3 კონტროლერზე და რობოტი მუშაობს ავტონომიურად. აქ ვისაუბრებ რობოტის მართვის ალტერნატიულ გზაზე - კომპიუტერზე გაშვებული .NET პლატფორმის გამოყენებით.

მაგრამ სანამ პროგრამირებას შევუდგებით, მოდით გადავხედოთ რამდენიმე შემთხვევას, როდესაც ეს შეიძლება იყოს სასარგებლო:

  • მოითხოვს რობოტის დისტანციურ მართვას ლეპტოპიდან (მაგალითად, ღილაკების დაჭერით)
  • საჭიროა მონაცემების შეგროვება EV3 კონტროლერიდან და დამუშავება გარე სისტემაზე (მაგალითად, IoT სისტემებისთვის)
  • ნებისმიერი სხვა სიტუაცია, როდესაც გსურთ დაწეროთ კონტროლის ალგორითმი .NET-ში და გაუშვათ იგი EV3 კონტროლერთან დაკავშირებული კომპიუტერიდან

LEGO MINDSTORMS EV3 API .NET-ისთვის

EV3 კონტროლერი კონტროლდება გარე სისტემიდან სერიულ პორტში ბრძანებების გაგზავნით. თავად ბრძანების ფორმატი აღწერილია Communication Developer Kit-ში.

მაგრამ ამ პროტოკოლის ხელით განხორციელება მოსაწყენია. ამიტომ, შეგიძლიათ გამოიყენოთ მზა .NET wrapper, რომელიც ბრაიან პიკმა გულდასმით დაწერა. ამ ბიბლიოთეკის საწყისი კოდი განთავსებულია Github-ზე, ხოლო გამოსაყენებლად მზა პაკეტი შეგიძლიათ იხილოთ Nuget-ზე.

EV3 კონტროლერთან დაკავშირება

Brick კლასი გამოიყენება EV3 კონტროლერთან კომუნიკაციისთვის. ამ ობიექტის შექმნისას, თქვენ უნდა გადასცეთ ICCommunication ინტერფეისის იმპლემენტაცია კონსტრუქტორს - ობიექტი, რომელიც აღწერს როგორ დაუკავშირდეთ EV3 კონტროლერს. ხელმისაწვდომია UsbCommunication, BluetoothCommunication და NetworkCommunication (WiFi კავშირი) დანერგვა.

ყველაზე პოპულარული კავშირის მეთოდია Bluetooth-ის საშუალებით. მოდით უფრო ახლოს მივხედოთ ამ კავშირის მეთოდს.

სანამ პროგრამულად შევძლებთ კონტროლერს Bluetooth-ის საშუალებით დაკავშირებას, კონტროლერი უნდა იყოს დაკავშირებული კომპიუტერთან ოპერაციული სისტემის პარამეტრების გამოყენებით.

კონტროლერის დაკავშირების შემდეგ გადადით Bluetooth პარამეტრებზე და აირჩიეთ COM პორტების ჩანართი. ჩვენ ვიპოვით ჩვენს კონტროლერს, გვჭირდება გამავალიპორტი. ჩვენ მას დავაზუსტებთ BluetoothCommunication ობიექტის შექმნისას.

კონტროლერთან დასაკავშირებლად კოდი ასე გამოიყურება:

საჯარო ასინქრონული Task Connect (ICCommunication კომუნიკაცია) ( var კომუნიკაცია = ახალი BluetoothCommunication ("COM9"); var brick = _brick = new Brick(კომუნიკაცია); ელოდება _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 თვისებით. პორტები არის პორტების კოლექცია, რომელიც ხელმისაწვდომია კონტროლერზე. ამიტომ, კონკრეტულ პორტთან მუშაობისთვის, თქვენ უნდა აირჩიოთ იგი. InputPort.One ... InputPort.Four არის სენსორის პორტები, ხოლო InputPort.A ... InputPort.D არის ძრავის შიფრები.

Var port1 = _brick.პორტები;

EV3-ის სენსორებს შეუძლიათ სხვადასხვა რეჟიმში იმუშაონ. მაგალითად, EV3 ფერის სენსორი შეიძლება გამოყენებულ იქნას გარემოს სინათლის გასაზომად, არეკლილი სინათლის გასაზომად ან ფერის დასადგენად. მაშასადამე, იმისათვის, რომ სენსორს ზუსტად "ვუთხაროთ", როგორ გვინდა მისი გამოყენება, უნდა დავაყენოთ მისი რეჟიმი:

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); ელოდება _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-დან) - ფაილებთან მუშაობა

დასკვნა

.NET-ის გამოყენება Mindstorms EV3 რობოტების გასაკონტროლებლად კარგად აჩვენებს, თუ როგორ შეუძლიათ "სხვადასხვა სამყაროს" ტექნოლოგიებმა ერთად იმუშაონ. .NET-ისთვის EV3 API-ის კვლევის შედეგად შეიქმნა პატარა აპლიკაცია, რომელიც საშუალებას გაძლევთ მართოთ EV3 რობოტი კომპიუტერიდან. სამწუხაროდ, მსგავსი აპლიკაციები არსებობს NXT-სთვის, მაგრამ EV3-მა მათ გვერდი აუარა. ამავე დროს, ისინი სასარგებლოა კონტროლირებადი რობოტების შეჯიბრებებში, როგორიცაა რობოტების ფეხბურთი.

აპლიკაციის ჩამოტვირთვა და ინსტალაცია შესაძლებელია ამ ბმულიდან: