Tüm ev3 sensörleri doğru ada sahiptir. İki veya daha fazla EV3 tuğlasını bağlama

Geleneksel olarak robotlar bir platform üzerine kuruludur. Lego Mindstorms EV3 LabVIEW grafik ortamı kullanılarak programlanır. Bu durumda programlar EV3 kontrol cihazında çalışır ve robot otonom olarak çalışır. Burada robotu kontrol etmenin alternatif bir yolundan bahsedeceğim - bilgisayarda çalışan .NET platformunu kullanarak.

Ancak programlamaya başlamadan önce bunun yararlı olabileceği bazı durumlara bakalım:

  • Robotun bir dizüstü bilgisayardan uzaktan kontrol edilmesini gerektirir (örneğin, düğmelere basılarak)
  • EV3 kontrol cihazından veri toplanması ve harici bir sistemde (örneğin IoT sistemleri için) işlenmesi gerekir.
  • .NET'te bir kontrol algoritması yazmak ve bunu EV3 kontrol cihazına bağlı bir bilgisayardan çalıştırmak istediğiniz diğer durumlar

.NET için LEGO MINDSTORMS EV3 API'si

EV3 denetleyicisi, seri bağlantı noktasına komutlar gönderilerek harici bir sistemden kontrol edilir. Komut formatının kendisi İletişim Geliştirici Kitinde açıklanmıştır.

Ancak bu protokolü manuel olarak uygulamak sıkıcıdır. Bu nedenle Brian Peek'in özenle yazdığı hazır .NET sarmalayıcıyı kullanabilirsiniz. Bu kütüphanenin kaynak kodu Github'da barındırılmaktadır ve kullanıma hazır paket Nuget'te bulunabilir.

EV3 Kontrolörüne Bağlanma

Brick sınıfı EV3 denetleyicisi ile iletişim kurmak için kullanılır. Bu nesneyi oluştururken, ICommunication arayüzünün bir uygulamasını yapıcıya (EV3 denetleyicisine nasıl bağlanılacağını açıklayan bir nesne) iletmeniz gerekir. UsbHaberleşme, BluetoothHaberleşme ve AğHaberleşme (WiFi bağlantısı) uygulamaları mevcuttur.

En popüler bağlantı yöntemi Bluetooth'tur. Bu bağlantı yöntemine daha yakından bakalım.

Denetleyiciye Bluetooth aracılığıyla programlı olarak bağlanabilmemiz için önce denetleyicinin işletim sistemi ayarları kullanılarak bilgisayara bağlanması gerekir.

Denetleyici bağlandıktan sonra Bluetooth ayarlarına gidin ve COM bağlantı noktaları sekmesini seçin. Denetleyicimizi buluyoruz, ihtiyacımız var dışa dönük liman. BluetoothCommunication nesnesini oluştururken bunu belirteceğiz.

Denetleyiciye bağlanacak kod şöyle görünecektir:

Genel eşzamansız Görev Bağlantısı(ICommunication iletişimi) ( var iletişim = new BluetoothCommunication("COM9"); varbrick = _brick = new Brick(iletişim); wait _brick.ConnectAsync(); )

İsteğe bağlı olarak denetleyiciye bağlantı zaman aşımı belirtebilirsiniz:

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

Üniteye USB veya WiFi üzerinden bağlanma, UsbCommunication ve NetworkCommunication nesnelerinin kullanılması dışında aynı şekilde gerçekleştirilir.

Denetleyicide gerçekleştirilen diğer tüm eylemler Brick nesnesi aracılığıyla gerçekleştirilir.

Hadi motorları döndürelim

EV3 kontrol cihazında komutları yürütmek için Brick nesnesinin DirectCommand özelliğine erişiyoruz. İlk önce motorları çalıştırmayı deneyelim.

Motorumuzun kontrolörün A portuna bağlı olduğunu varsayalım, o zaman bu motoru %50 güçte çalıştırmak şöyle görünecektir:

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

Motoru kontrol etmenin başka yöntemleri de vardır. Örneğin, StepMotorAtPowerAsync() ve StepMotorAtSpeedAsync() yöntemlerini kullanarak bir motoru belirli bir açıya döndürebilirsiniz. Motorları çalıştırma modlarının zamana, hıza, güce vb. göre varyasyonları olan çeşitli yöntemler mevcuttur.

Zorla durdurma, StopMotorAsync() yöntemi kullanılarak gerçekleştirilir:

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

İkinci parametre frenin kullanımını gösterir. Yanlış olarak ayarlarsanız motor yavaş yavaş durur.

Sensörlerden değerlerin okunması

EV3 kontrol cihazında sensörleri bağlamak için dört bağlantı noktası bulunur. Buna ek olarak motorlarda sensör olarak kullanılmalarına olanak tanıyan yerleşik kodlayıcılar da bulunur. Sonuç olarak değerlerin okunabileceği 8 adet portumuz var.

Değerleri okumak için kullanılan bağlantı noktalarına Brick nesnesinin Ports özelliği aracılığıyla erişilebilir. Bağlantı noktaları, denetleyicide bulunan bağlantı noktalarının bir koleksiyonudur. Bu nedenle, belirli bir bağlantı noktasıyla çalışmak için onu seçmeniz gerekir. GirişPort.Bir ... GirişPort.Dört sensör bağlantı noktalarıdır ve GirişPort.A ... GirişPort.D motor kodlayıcılardır.

Var port1 = _brick.Ports;

EV3'teki sensörler farklı modlarda çalışabilir. Örneğin EV3 Renk Sensörü ortam ışığını ölçmek, yansıyan ışığı ölçmek veya rengi algılamak için kullanılabilir. Bu nedenle, sensöre onu tam olarak nasıl kullanmak istediğimizi "söylemek" için modunu ayarlamamız gerekir:

Brick.Ports.SetMode(ColorMode.Reflective);

Artık sensör bağlandığı ve çalışma modu ayarlandığı için ondan veri okuyabilirsiniz. “Ham” veriyi, işlenmiş değeri ve yüzde değerini alabilirsiniz.

Float si = _brick.Ports.SIValue; int raw = _brick.Ports.RawValue; bayt yüzdesi = _brick.Ports.PercentValue;

SIValue özelliği işlenmiş verileri döndürür. Her şey hangi sensörün ve hangi modda kullanıldığına bağlıdır. Örneğin yansıyan ışığı ölçerken yansıyan ışığın yoğunluğuna (siyah/beyaz) bağlı olarak 0'dan 100'e kadar değerler alacağız.

RawValue özelliği, ADC'den elde edilen ham değeri döndürür. Bazen daha sonraki işlemler ve kullanım için kullanmak daha uygundur. Bu arada, EV3 geliştirme ortamında "ham" değerler elde etmek de mümkündür - bunun için mavi paneldeki bloğu kullanmanız gerekir.

Kullandığınız sensör yüzde cinsinden değer almayı bekliyorsa PercentValue özelliğini de kullanabilirsiniz.

Komutları toplu olarak yürütme

Diyelim ki iki tekerlekli bir robot arabamız var ve onu yerine yerleştirmek istiyoruz. Bu durumda iki tekerleğin ters yönde dönmesi gerekir. DirectCommand'ı kullanırsak ve denetleyiciye sırayla iki komut gönderirsek, bunların yürütülmesi arasında biraz zaman geçebilir:

Await _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50); wait _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

Bu örnekte A motorunu 50 hızla döndürme komutu gönderiyoruz, bu komutu başarılı bir şekilde gönderdikten sonra B portuna bağlı motor için de aynı işlemi tekrarlıyoruz. Sorun şu ki komut gönderimi anında olmuyor dolayısıyla motorlar farklı zamanlarda dönmeye başlayabilir - B portu, A motoru için komut iletilirken çoktan dönmeye başlayacak.

Motorların aynı anda dönmesini sağlamak bizim için kritikse kontrolöre komutları bir “paket” halinde gönderebiliriz. Bu durumda DirectCommand yerine BatchCommand özelliğini kullanmalısınız:

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); wait _brick.BatchCommand.SendCommandAsync();

Artık iki komut aynı anda hazırlanıyor ve ardından kontrolöre tek paket halinde gönderiliyor. Bu komutları alan kontrolör, motorları aynı anda döndürmeye başlayacaktır.

Başka ne yapabilirim

Motorları döndürmenin ve sensör değerlerini okumanın yanı sıra EV3 kontrol cihazında bir dizi başka işlem de gerçekleştirebilirsiniz. Her biri hakkında detaya girmeyeceğim, sadece neler yapılabileceğini listeleyeceğim:

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync(), vb. - EV3 denetleyicisinin yerleşik ekranının manipülasyonu
  • PlayToneAsync() ve PlaySoundAsync() - sesleri çalmak için yerleşik hoparlörü kullanın
  • WriteFileAsync() , CopyFileAsync() , SilFileAsync() (SystemCommand'dan) - dosyalarla çalışma

Çözüm

Mindstorms EV3 robotlarını kontrol etmek için .NET'in kullanılması, "farklı dünyalardan" teknolojilerin birlikte nasıl çalışabileceğini iyi bir şekilde gösteriyor. .NET için EV3 API araştırması sonucunda EV3 robotunu bilgisayardan kontrol etmenizi sağlayan küçük bir uygulama oluşturuldu. Ne yazık ki NXT için de benzer uygulamalar mevcut ancak EV3 bunları atladı. Aynı zamanda robot futbolu gibi kontrollü robot müsabakalarında da kullanışlıdırlar.

Uygulama bu bağlantıdan indirilebilir ve kurulabilir:

Siz de bizim gibi standart EV3 sensörlerinin yeteneklerinden yoksunsanız, robotlarınızdaki sensörler için 4 bağlantı noktası yeterli değilse veya bazı egzotik çevre birimlerini robotunuza bağlamak istiyorsanız - bu makale tam size göre. İnanın bana, EV3 için ev yapımı bir sensör göründüğünden daha kolay. Eski bir radyonun "ses düğmesi" veya toprak nemi sensörü olarak bir saksıda yere çakılmış birkaç çivi deney için mükemmeldir.

Şaşırtıcı bir şekilde, her EV3 sensör bağlantı noktası, esas olarak NXT ve üçüncü taraf sensörlerle uyumluluk için bir dizi farklı protokolü gizler. EV3 kablosunun nasıl çalıştığına bakalım


Garip ama kırmızı kablo toprak (GND), yeşil kablo ise 4,3V güç kaynağının artısı. Mavi kablo hem I2C veriyolu için SDA hem de UART protokolü için TX'tir. Ek olarak mavi kablo, EV3 için analogdan dijitale dönüştürücünün girişidir. Sarı kablo hem I2C veri yolu için SCL hem de UART protokolü için RX'tir. Beyaz kablo, NXT sensörleri için analogdan dijitale dönüştürücünün girişidir. Siyah - NXT ile uyumlu sensörler için dijital giriş - GND'yi kopyalar. Kolay değil, değil mi? Sırayla gidelim.

EV3 analog girişi

Her sensör bağlantı noktasının analogdan dijitale dönüştürücü kanalı vardır. Yansıyan ışık ve ortam ışığı modunda Dokunmatik Sensör (düğme), NXT Işık Sensörü ve Renk Sensörü, NXT Ses Sensörü ve NXT Termometre gibi sensörler için kullanılır.

Diyagrama göre bağlanan 910 Ohm'luk bir direnç, denetleyiciye bu bağlantı noktasının analog giriş moduna geçirilmesi gerektiğini bildirir. Bu modda, örneğin Arduino'daki herhangi bir analog sensörü EV3'e bağlayabilirsiniz. Böyle bir sensörle değişim oranı saniyede birkaç bin ankete ulaşabilir; bu, en hızlı sensör türüdür.

Işık sensörü

Termometre

Toprak nem sensörü

Ayrıca şunları da bağlayabilirsiniz: bir mikrofon, bir düğme, bir IR telemetre ve diğer birçok yaygın sensör. Sensöre 4,3V güç yetmiyorsa EV3 kumandasının yan tarafında bulunan USB bağlantı noktasından 5V ile çalıştırabilirsiniz.

Yukarıda bahsedilen "ses düğmesi" (değişken direnç veya potansiyometre olarak da bilinir) analog sensörün mükemmel bir örneğidir - şu şekilde bağlanabilir:

Standart LEGO programlama ortamında böyle bir sensörden gelen değerleri okumak için mavi RAW bloğunu kullanmalısınız.

I2C protokolü

Bu dijital bir protokoldür; örneğin NXT ultrasonik sensör ve IR Seeker veya Color Sensor V2 gibi birçok Hitechnic sensör bunun üzerinde çalışır. Diğer platformlar için, örneğin Arduino için, çok sayıda i2c sensörü vardır, bunları da bağlayabilirsiniz. Şema aşağıdaki gibidir:

LEGO Group tarafından 82 ohm'luk bir direnç tavsiye edilmektedir, ancak çeşitli kaynaklar 43 ohm veya daha azından bahsetmektedir. Aslında biz bu direnişlerden tamamen vazgeçmeye çalıştık ve her şey en azından “masa üzerinde” yürüyor. Çeşitli türden parazit koşullarında çalışan gerçek bir robotta, SCL ve SDA hatları yukarıdaki şemada gösterildiği gibi yine de dirençler aracılığıyla güç kaynağına bağlı olmalıdır. EV3'teki i2c çalışma hızı oldukça düşük, yaklaşık 10.000 kbps, bu yüzden herkesin favorisi Hitechnic Renk Sensörü V2 bu kadar yavaş :)

Maalesef LEGO'nun standart EV3-G'sinde i2c sensörüyle iki yönlü iletişim için tam teşekküllü bir blok yoktur, ancak RobotC, LeJOS veya EV3 Basic gibi üçüncü taraf programlama ortamlarını kullanarak neredeyse tüm i2c sensörleriyle etkileşime girebilirsiniz. .

EV3'ün i2c protokolünü kullanarak çalışabilme yeteneği, birden fazla sensörün tek bir bağlantı noktasına bağlanması için ilginç bir olasılığın önünü açıyor. I2C protokolü, bir veri yoluna 127'ye kadar bağımlı cihazı bağlamanıza olanak tanır. Hayal edebilirsiniz? Her EV3 bağlantı noktası için 127 sensör :) Ayrıca, genellikle bir grup i2c sensörü tek bir cihazda birleştirilir, örneğin aşağıdaki fotoğrafta 10'u 1 arada bir sensör vardır (pusula, jiroskop, ivmeölçer, barometre vb. içerir)

UART

Dokunmatik Sensör hariç neredeyse tüm standart EV3 olmayan sensörler, UART protokolünü kullanarak çalışır ve bu nedenle, aynı konektörlere sahip olmasına rağmen sensöründe UART uygulanmayan NXT denetleyiciyle uyumlu değildirler. limanlar. Diyagrama bir göz atın, önceki durumlardan biraz daha basittir:

UART sensörleri, çalışma hızlarını otomatik olarak EV3 ile eşleştirir. Başlangıçta 2400 kbit/s hızında bağlantı kuruyorlar, çalışma modları ve döviz kurları üzerinde anlaşıyorlar, ardından daha yüksek bir hıza geçiyorlar. Farklı sensörler için tipik değişim oranları 38400 ve 115200 kbit/s'dir.
LEGO, UART sensörlerinde oldukça karmaşık bir protokol uygulamıştır, bu nedenle başlangıçta bu platform için tasarlanmamış ancak onunla uyumlu üçüncü taraf sensörler yoktur. Bununla birlikte, bu protokol "ev yapımı" bağlantı kurmak için çok uygundur.
Mikrodenetleyicilere dayalı sensörler.
Arduino için ünlü LeJOS geliştiricisi Lawrie Griffiths tarafından yazılan ve bu kartın UART-LEGO uyumlu bir sensör gibi davranmasını sağlayan EV3UARTEmulation adında harika bir kütüphane var. LeJOS News blogunda bu kütüphaneyi kullanarak gaz sensörlerini, bir IMU sensörünü ve dijital pusulayı bağlamaya ilişkin birçok örnek var.

Videonun altında ev yapımı bir sensör kullanmanın bir örneği bulunmaktadır. Yeterli sayıda orijinal LEGO mesafe sensörümiz yok, bu yüzden robotta ev yapımı olanı kullanıyoruz:


Robotun görevi yeşil hücreden başlayıp, labirentten (kırmızı hücre) çıkış yolunu bulmak ve çıkmaz sokaklara girmeden en kısa yoldan başlangıç ​​noktasına dönmektir.

Ekran modunu seçin

Mod seçimi
Metin alanını engelle
Girişler
Önizleme düğmesi

Mod seçiciyi kullanarak görmek istediğiniz metin veya grafik türünü seçin. Modu seçtikten sonra giriş değerlerini seçebilirsiniz. Kullanılabilir girişler moda bağlı olarak değişecektir. Modlar ve girişler aşağıda açıklanmıştır.

EV3 ekranında Ekran bloğunun neyi görüntüleyeceğini önizlemek için Önizleme düğmesine tıklayabilirsiniz. Blok için giriş değerlerini seçerken görünümü açık bırakabilirsiniz.

Ekran koordinatları

Ekran bloğu modlarının çoğu, öğenin konumunu belirlemek için X ve Y koordinatlarını kullanır. Koordinatlar, EV3 Brick ekranındaki piksellerin konumunu belirler. (0, 0) konumu, aşağıdaki resimde gösterildiği gibi ekranın sol üst köşesindedir.

Ekran boyutları: 178 piksel genişlik ve 128 piksel yükseklik. X koordinat değerlerinin aralığı soldaki ekranda 0'dan sağda 177'ye kadardır. Y koordinat değerlerinin aralığı üstte 0'dan altta 127'ye kadardır.

Ipuçları ve Püf noktaları

Doğru ekran koordinatlarını bulmanıza yardımcı olması için Ekran bloğunun sol üst köşesindeki Önizleme düğmesini kullanabilirsiniz.

Metin - Piksel

Metin - Piksel modu, metni EV3 Brick ekranının herhangi bir yerinde görüntülemenize olanak tanır.

Pencereyi sıfırla

Pencereyi Sıfırla modu, EV3 Brick ekranını program çalışırken gösterilen standart bilgi ekranına döndürür. Bu ekran program adını ve diğer geri bildirim bilgilerini gösterir. EV3 Brick'te bir program çalıştırdığınızda bu ekran, programın ilk Ekran bloğu çalıştırılmadan önce görüntülenir.

Görüntülenen öğelerin görünürlüğünün sağlanması

EV3 Programı tamamlandığında EV3 Brick ekranı temizlenir ve EV3 Brick Menü ekranına geri döner. Program tarafından görüntülenen tüm metin veya grafikler silinecektir. Örneğin, programınızda bir "Ekran" bloğu varsa ve başka hiçbir şey yoksa, program bittikten hemen sonra ekran o kadar hızlı temizlenir ki "Ekran" bloğunun sonuçlarını görmezsiniz.

Program tamamlandıktan sonra ekranın görünür kalmasını istiyorsanız aşağıdaki örneklerde gösterildiği gibi programın hemen bitmesini önlemek için programın sonuna bir blok eklemelisiniz.

Birden fazla öğe gösteriliyor

Ekranda birden fazla metin veya grafik öğesini aynı anda görüntülemek istiyorsanız EV3 Brick ekranının öğeler arasında temizlenmemesi önemlidir. Ekran bloğunun her modunun bir Ekranı Temizle girişi vardır. Ekranı Temizle seçeneği doğruysa, öğe görüntülenmeden önce ekranın tamamı temizlenir. Bu, birden fazla öğeyi görüntülemek amacıyla, ilki dışındaki her Ekran bloğu için Ekranı Temizle seçeneğini Yanlış olarak ayarlamanız gerektiği anlamına gelir.

Sayıların görüntülenmesi

Programınızda sayısal bir değer görüntülemek için, Metin Görüntüleme bloğunun Metin girişine bir veri yolu bağlayın. Sayısal veri yolu, veri yolu tipi dönüşümü kullanılarak otomatik olarak metne dönüştürülecektir (bkz. bölüm

Sunumun bireysel slaytlarla açıklaması:

1 slayt

Slayt açıklaması:

2 slayt

Slayt açıklaması:

EV3 Brick Arayüzü EV3 Brick, robotlarınıza güç sağlayan kontrol merkezidir. Ekran, Brick kontrol düğmeleri ve dört ana pencere içeren EV3 Brick arayüzü ile çok çeşitli benzersiz EV3 Brick özelliklerine erişebilirsiniz. Bunlar, bir programı başlatmak ve durdurmak gibi basit işlevler olabileceği gibi, programın kendisini yazmak gibi karmaşık da olabilir.

3 slayt

Slayt açıklaması:

Arayüz: EV3 Menüsü 4 bölümden oluşan bir menüye sahiptir: Son Programlar Dosya Gezintisi Brick Uygulamaları Brick Ayarları

4 slayt

Slayt açıklaması:

Son Programlar Masaüstü bilgisayarınızdan yakın zamanda indirilen programları başlatın. Programları indirip çalıştırmaya başlayana kadar bu pencere boş kalacaktır. Bu pencere en son başlattığınız programları gösterecektir. Varsayılan olarak seçilen listenin en başındaki program, en son başlatılan programdır.

5 slayt

Slayt açıklaması:

Dosya Yöneticisi Bellek kartının yanı sıra mikrobilgisayar belleğinde saklanan tüm dosyalara erişin ve bunları yönetin. Bu pencereden, SD kartta saklanan dosyalar da dahil olmak üzere EV3 Brick'inizdeki tüm dosyalara erişecek ve onları yöneteceksiniz. Dosyalar, gerçek program dosyalarının yanı sıra her projede kullanılan sesleri ve görüntüleri de içeren proje klasörleri halinde düzenlenir. Dosyalar, dosya gezgini kullanılarak taşınabilir veya silinebilir. Modül programlama ortamı ve modül veri günlüğü uygulamaları kullanılarak oluşturulan programlar, BrkProg_SAVE ve BrkDL_SAVE klasörlerinde ayrı olarak depolanır.

6 slayt

Slayt açıklaması:

EV3 Kontrol Kutusu Uygulamalarında önceden yüklenmiş 4 uygulama bulunur: A. Bağlantı Noktası Görünümü. B. Motor kontrolü. B. IR kontrolü. D. Modül programlama ortamı.

7 slayt

Slayt açıklaması:

A. Port Görünümü Port View uygulamasının ilk penceresinde hangi portlara bağlı sensör veya motorların bulunduğunu hızlı bir şekilde görebilirsiniz. Dolu bağlantı noktalarından birine gitmek için EV3 Brick kontrol düğmelerini kullanın; sensörden veya motordan gelen mevcut değerleri göreceksiniz. Birkaç sensör ve motor takın ve farklı ayarlarla denemeler yapın. Kurulu motor ve sensörlerin mevcut ayarlarını görüntülemek veya değiştirmek için ortadaki düğmeye basın. Modülün ana uygulama penceresine dönmek için “Geri” butonuna tıklayın.

8 slayt

Slayt açıklaması:

B. Motor Kontrolü Dört çıkış bağlantı noktasından birine bağlı herhangi bir motorun ileri veya geri hareketini kontrol edin. İki farklı mod bulunmaktadır. Bir modda, A bağlantı noktasına (Yukarı ve Aşağı düğmelerini kullanarak) ve D bağlantı noktasına (Sol ve Sağ düğmelerini kullanarak) bağlı motorları kontrol edebileceksiniz. Diğer modda, bağlantı noktası B'ye (Yukarı ve Aşağı düğmelerini kullanarak) ve bağlantı noktası C'ye (Sol ve Sağ düğmelerini kullanarak) bağlı motorları kontrol edersiniz. Bu iki mod arasında geçiş orta düğme kullanılarak yapılır. Modülün ana uygulama penceresine dönmek için “Geri” butonuna tıklayın.

Slayt 9

Slayt açıklaması:

IR Kontrolü Uzak kızılötesi işaretini uzaktan kumanda olarak ve kızılötesi sensörü alıcı olarak kullanarak dört çıkış bağlantı noktasından birine bağlı herhangi bir motorun ileri veya geri hareketini kontrol edin (kızılötesi sensör, EV3 Brick'teki bağlantı noktası 4'e bağlanmalıdır) . İki farklı mod bulunmaktadır. Bir modda uzak kızılötesi işaret üzerindeki 1 ve 2 numaralı kanalları kullanacaksınız. Kanal 1'de, B bağlantı noktasına (uzak IR işaret üzerindeki 1 ve 2 numaralı düğmeleri kullanarak) ve C bağlantı noktasına (uzak IR işaret üzerindeki 3 ve 4 numaralı düğmeleri kullanarak) bağlı motorları kontrol edebileceksiniz. Kanal 2'de A bağlantı noktasına (1 ve 2 numaralı düğmeleri kullanarak) ve D bağlantı noktasına (3 ve 4 numaralı düğmeleri kullanarak) bağlı motorları kontrol edebileceksiniz. Başka bir modda, uzak kızılötesi işaret üzerindeki 3 ve 4 numaralı kanalları kullanarak motorları aynı şekilde kontrol edebilirsiniz. Bu iki mod arasında geçiş orta düğme kullanılarak yapılır. Modülün ana uygulama penceresine dönmek için “Geri” butonuna tıklayın.

10 slayt

Slayt açıklaması:

Brick Programlama Ortamı EV3 Brick, üzerinde kurulu yazılımla birlikte gelir. Uygulama, bilgisayarınızda yüklü olan yazılıma benzer. Bu talimatlar, başlamanız için ihtiyaç duyduğunuz temel bilgileri içerir.

11 slayt

Slayt açıklaması:

EV3 Brick Ayarları Bu pencere, EV3 Brick'teki çeşitli genel ayarları görüntülemenize ve ayarlamanıza olanak tanır.

12 slayt

Slayt açıklaması:

Ses Düzeyini Ayarlama EV3'teki Ayarlar sekmesinde Ses Düzeyini artırabilir veya azaltabilirsiniz.

Slayt 13

USB bağlantısı

LEGO Mindstorms EV3, USB bağlantısı aracılığıyla bir PC'ye veya başka bir EV3'e bağlanabilir. Bu durumda bağlantı hızı ve kararlılığı, Bluetooth dahil diğer yöntemlerden daha iyidir.

LEGO Mindstorms EV3'ün iki USB bağlantı noktası vardır.

Papatya zinciri modunda LEGO EV3 ve diğer LEGO EV3 blokları arasındaki iletişim.

Papatya zinciri modu, iki veya daha fazla LEGO EV3 bloğunu bağlamak için kullanılır.

Bu mod:

  • birden fazla LEGO Mindstorms EV3'ü bağlamak için tasarlandı;
  • daha fazla sensörün, motorun ve diğer cihazların bağlanmasına hizmet eder;
  • birden fazla LEGO Mindstorms EV3 (en fazla 4) arasında iletişime izin verir, bu da bize 16 adede kadar harici bağlantı noktası ve aynı sayıda dahili bağlantı noktası sağlar;
  • tüm zincirin ana LEGO Mindstorms EV3'ten kontrol edilmesini mümkün kılar;
  • Wi-Fi veya Bluetooth etkinken çalışamaz.

Papatya zinciri bağlantı modunu etkinleştirmek için proje ayarları penceresine gidin ve kutuyu işaretleyin.

Bu mod seçildiğinde herhangi bir motor için kullanılacak EV3 bloğunu ve gerekli sensörleri seçebiliriz.

Tabloda EV3 bloklarını kullanma seçenekleri gösterilmektedir:

Aksiyon

Orta motorlu

Büyük motor

Direksiyon

Bağımsız yönetim

Jiroskopik

Kızılötesi

Ultrasonik

Motor dönüşü

Sıcaklıklar

Enerji Ölçer

Ses

Bluetooth aracılığıyla bağlantı

Bluetooth, LEGO Mindstorms EV3'ün bir PC'ye, diğer LEGO Mindstorms EV3'e, akıllı telefonlara ve diğer Bluetooth cihazlarına bağlanmasına olanak tanır. Bluetooth üzerinden iletişim aralığı 25 m'ye kadardır.

Bir LEGO Mindstorms EV3'e en fazla 7 blok bağlayabilirsiniz. EV3 Master Brick, her bir EV3 Slave'e mesaj gönderip almanızı sağlar. EV3 Slave'ler birbirlerine değil, yalnızca EV3 Master Brick'e mesaj gönderebilir.

Bluetooth üzerinden EV3 bağlantı sırası

İki veya daha fazla EV3 bloğunu Bluetooth aracılığıyla birbirine bağlamak için aşağıdaki adımları uygulamanız gerekir:

1. Bir sekme açın Ayarlar.

2. Seçin Bluetooth ve orta düğmeye basın.

3. Koyduk Onay kutusu görünürlük Bluetooth.

4. Bluetooth işaretinin ("<") виден на верхней левой стороне.

5. Gerekli sayıda EV3 Brick için yukarıdaki prosedürü uygulayın.

6. Bağlantı sekmesine gidin:

7. Ara düğmesine tıklayın:

8. Bağlanmak istediğiniz (veya bağlanmak istediğiniz) EV3'ü seçin ve orta düğmeye basın.

9. Birinci ve ikinci blokları erişim anahtarıyla birbirine bağlıyoruz.

Her şeyi doğru yaparsanız sol üst köşede " simgesi görünecektir<>", ikiden fazla varsa diğer EV3 bloklarını da aynı şekilde bağlayın.

LEGO EV3'ü kapatırsanız bağlantı kesilecek ve tüm adımları tekrarlamanız gerekecektir.

Önemli: Her bloğun kendi programının yazılı olması gerekir.

Örnek program:

Birinci Blok: Dokunma sensörüne basıldığında, ilk EV3 Bloğu metni 3 saniyelik bir gecikmeyle ikinci Bloğa (Ana Blok) iletir.

Blok 2 için örnek program:

İkinci blok, ilk bloktan metni almayı bekler ve metni aldıktan sonra, 10 saniye boyunca bir kelimeyi (örneğimizde "Merhaba" kelimesi) görüntüler (slave blok).

Wi-Fi aracılığıyla bağlanın

Wi-Fi Dongle'ı EV3'teki USB bağlantı noktasına bağlayarak daha uzun menzilli iletişim mümkündür.

Wi-Fi kullanmak için, bir USB konektörü (Wi-Fi adaptörü (Netgear N150 Kablosuz Adaptör (WNA1100)) kullanarak EV3 bloğuna özel bir modül kurmanız gerekir veya bir Wi-Fi Dongle bağlayabilirsiniz.