Lego mindstorms ev3 blok sesli açıklama. EV3 bloğu: menü, sensörleri görüntüleme, programlama. EV3 Denetleyicisine Bağlanma

Yapıcıdaki mikrobilgisayarı bir Beaglebone veya başka bir şeyle değiştirme fikri yeni değil. Ancak EV3'ün piyasaya sürülmesiyle, yalnızca %100 analog elde etmek değil, aynı zamanda Lerobot'unuzun performansını artırmak da mümkün oldu.

Projenin video sunumu:

E VB, hem donanım hem de yazılım olarak Lego Mindstorms Ev3 sistemini tam olarak destekler ve tüm Lego sensörleri ve motorları ile %100 uyumludur. Blok, tıpkı Lego Mindstorms EV3 bloğu gibi çalışır:

Beaglebone Siyah tek kartlı bir Linux bilgisayar. Raspberry Pi'nin rakibidir. sahip güçlü işlemci AM335x 720MHz ARM® işlemci, büyük giriş/çıkış sayısı, ek panolarla olanaklar genişletilebilir.

Lego Mindstorms EV3'ün sahip olduğu ARM işlemci 9 (TI Sitara AM180x) 300MHz, yani ARM Cortex-A8'e (TI Sitara AM335x) geçiş 1GHz BeagleBone Black işlemci üretkenliği artırır, ayrıca bağlanma yeteneği ek panolar uzantılar!

En önemlisi, Lego Mindstorms EV3, tüm yazılım ve donanımların açık bir açıklamasına sahiptir!

Örneğin, iyi bilinen Rubik Küp robotu monte edildi ve gösterildi. Sadece EV3 yerine geliştirilen EVB'yi kurdular. Videoyu izlemenizi öneririz:

Projenin yazarları zaten EVB'yi piyasaya sürüyor ve satıyor. Nisan 2015'in sonuna kadar üretimi önemli ölçüde artırmayı planlıyorlar. Ayrıca, birkaç uyumlu sensör geliştirdiler ve üretiyorlar.

Bireysel slaytlardaki sunumun 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. Bir ekran, Brick kontrol düğmeleri ve dört ana pencereye sahip bir EV3 Brick arayüzü ile inanılmaz çeşitlilikte benzersiz EV3 Brick özelliklerine erişebilirsiniz. Olabilir basit fonksiyonlar, bir programı başlatmak ve durdurmak gibi veya programın kendisini yazmak gibi karmaşık.

3 slayt

Slayt açıklaması:

Arayüz: Menü EV3'ün 4 bölümden oluşan bir menüsü vardır: Son Programlar Dosya Gezinme Brick Uygulamaları Brick Ayarları

4 slayt

Slayt açıklaması:

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

5 slayt

Slayt açıklaması:

Dosya Yöneticisi Mikrobilgisayarın hafızasında ve hafıza kartında saklanan tüm dosyalara erişin ve yönetin. Bu pencereden, SD kartta saklanan dosyalar da dahil olmak üzere EV3 Brick'inizdeki tüm dosyalara erişecek ve bunları yöneteceksiniz. Dosyalar, gerçek program dosyalarına ek olarak, 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 kaydı uygulamaları kullanılarak oluşturulan programlar, BrkProg_SAVE ve BrkDL_SAVE klasörlerinde ayrı ayrı saklanır.

6 slayt

Slayt açıklaması:

EV3 Kontrol Tuğlası Uygulamaları 4'e sahiptir önceden yüklenmiş uygulamalar: A. Liman temsili. B. Motor kontrolü. B. IR kontrolü. D. Modül programlama ortamı.

7 slayt

Slayt açıklaması:

A. Port Görünümü Port Görünümü uygulamasının ilk penceresinde, hangi portların sensörlere veya motorlara bağlı olduğunu hızlı bir şekilde görebilirsiniz. Meşgul bağlantı noktalarından birine gitmek için EV3 Brick Control düğmelerini kullanın ve sensörden veya motordan gelen mevcut okumaları göreceksiniz. Bazı sensörler ve motorlar kurun ve farklı ayarlar. Kurulu motorlar ve sensörler için mevcut ayarları görüntülemek veya değiştirmek için orta düğmeye basın. Modülün ana uygulama penceresine dönmek için "Geri" düğmesini tıklayın.

8 slayt

Slayt açıklaması:

B. Motor kontrolü Dört çıkış portundan birine bağlı herhangi bir motorun ileri veya geri hareketini kontrol edin. İki farklı mod vardı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, Port B'ye (Yukarı ve Aşağı butonlarını kullanarak) ve Port C'ye (Sol ve Sağ butonlarını kullanarak) bağlı motorları kontrol edersiniz. Bu iki mod arasında geçiş, merkezi düğme kullanılarak gerçekleştirilir. Modülün ana uygulama penceresine dönmek için "Geri" düğmesini tıklayın.

9 slayt

Slayt açıklaması:

IR kontrolü Uzak bir kızılötesi işaret kullanarak dört çıkış bağlantı noktasından birine bağlı herhangi bir motorun ileri veya geri hareketini kontrol edin. uzaktan kumanda ve alıcı olarak bir kızılötesi sensör (kızılötesi sensör, EV3 Brick'teki bağlantı noktası 4'e bağlanmalıdır). İki farklı mod vardır. Bir modda, uzak kızılötesi işaret üzerindeki 1 ve 2 numaralı kanalları kullanacaksınız. Kanal 1'de, bağlantı noktası B'ye (uzak kızılötesi işaret üzerindeki 1 ve 2 düğmelerini kullanarak) ve bağlantı noktası C'ye (uzak kızılötesi işaret üzerindeki düğme 3 ve 4'ü kullanarak) bağlı motorları kontrol edebileceksiniz. Kanal 2'de, bağlantı noktası A'ya (1 ve 2 düğmelerini kullanarak) ve D bağlantı noktasına (3 ve 4 düğmelerini kullanarak) bağlı motorları kontrol edebileceksiniz. Diğer modda, bunun yerine uzak kızılötesi işaret üzerindeki 3. ve 4. kanalları kullanarak motorları aynı şekilde kontrol edebilirsiniz. Bu iki mod arasında geçiş, merkezi düğme kullanılarak gerçekleştirilir. Modülün ana uygulama penceresine dönmek için "Geri" düğmesini tıklayın.

10 slayt

Slayt açıklaması:

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

11 slayt

Slayt açıklaması:

EV3 Brick Settings Bu pencere, çeşitli Genel Ayarlar EV3 Brick'te.

12 slayt

Slayt açıklaması:

Sesi Ayarlama EV3'teki Ayarlar sekmesinde Sesi artırabilir veya azaltabilirsiniz.

13 slayt

Herhangi bir sorunuz varsa, yeni kurucu hakkında ne bilmek istersiniz (belirli bir şeyin nasıl çalıştığı, sensörler veya motorlarla bir deney yapın) - bize yazın - önerilerinizi test etmeye çalışacağız. Bu şekilde, daha satışa çıkmadan önce EV3 hakkında çok daha fazlasını öğrenebilirsiniz.

Şimdi her şey EV3 Brick yazılımına (EV3 üretici yazılımı) genel bir bakışla başlıyor.

Yeni bloğun özelliklerinden biri de uzun süre açılıp kapanması. Zamanla, süreç dahil etme ile orantılıdır. cep telefonu veya ev yönlendirici, yani saniye 20-30. Açtıktan sonra aşağıdaki menü belirir:


Gördüğünüz gibi, NXT bloğuna kıyasla çok şey değişti: yazı tiplerinin kalitesi iyileştirildi, daha fazla çizilen grafik öğeleri ve bir pencere arayüzü. Her şeyden önce, bunun nedeni ekran boyutunun şimdi artmasıdır - NXT bloğu gibi 100'e 64 yerine 178'e 128 piksel olmuştur. Kendine özgü düğmeleri ve kaydırma çubukları ile pencereli bir arabirimin varlığıyla, harici bir dokunmatik yüzeyşimdi daha da mantıklı.


İlk pencereden bloğa yüklenen programları çağırmanın yanı sıra doğrudan blok üzerinde oluşturulan programları da çağırmak mümkündür. Şunlar. programı şimdi başlatmak için NXT bloğunda olduğundan daha az tıklama yapmanız gerekiyor.

İndirilen programların yanı sıra ikinci ve sonraki ekranlara (menü öğeleri) geçiş, şu anda 4'ü bulunan kontrol düğmeleri kullanılarak gerçekleştirilir.


İkinci ekran - bloktaki dosya sistemi nesneleri arasında gezinmenizi sağlar. Dosya sistemi artık geleneksel hiyerarşiyi destekliyor: dosyalar ve dizinler.


Üçüncü ekran, alt menüler içerir - blokla farklı eylemler gerçekleştirmenize izin veren uygulamalar:


V şimdiki versiyonu Bu tür dört uygulama engelleme yazılımı vardır:

  • Sensörleri görüntüle
  • Motor kontrolü
  • Uzaktan kumanda
  • Blokta programlama
Dördüncü ekran konfigürasyon ekranıdır. Dışında temel ayarlar: ses seviyesi, hareketsizlik zamanlayıcısı, BlueTooth'u açma ve WiFi, blok yazılımı hakkında bilgi bulmanızı sağlar:



Belirli bir menü öğesinin / uygulamanın seçimi, klavyedeki orta düğmedir. Ve herhangi bir menü öğesinden veya uygulamadan çıkmak için, ekranın sol tarafında, artık ana düğmelerden ayrı olarak bulunan "Çıkış" düğmesine basmanız gerekir.

Şimdi üçüncü ekrana geri dönmeli ve uygulamaları tanımaya başlamalısınız. Yani, uygulama "Sensörleri görüntüle" (Port Görünümü).

NXT bloğundaki benzer bir modun aksine, artık bloğa bağlı 8 cihazın tümü hakkında bilgileri aynı anda görebilirsiniz. Ayrıca, sensörlerin otomatik olarak algılanmasının beyan edilen işlevselliği, hangi sensörün nereye bağlı olduğunu elle belirtmemenizi sağlar.

Üst kısım motorların kodlayıcılarından gelen bilgileri gösterir, alt kısım sensörlerden gelen bilgileri gösterir. Ekranın ortasında - klavyedeki kontrol düğmelerine basılarak seçilebilen belirli bir cihaz (belirli bir bağlantı noktasında) hakkında bilgi. Bilgi şunları içerir: Grafik sunum sensör, adı ve mevcut okumalar:

Dokunma sensörü:


Gyro Sensörü:


Yansıyan ışık ölçüm modunda renk sensörü:


Ultrasonik Mesafe Sensörü:

Bu arada, sensörün artık en yakın milimetreye olan mesafeyi ölçebileceğini iddia ettiğini ve minimum ölçülebilir mesafenin artık 3 cm olduğunu görebilirsiniz.

Sol motorun kodlayıcısından gelen bilgiler.


Bir sonraki uygulama motor kontrolüdür. Aslında motorları butonlarla döndürmenizi sağlar. Ortadaki düğme ile hangi motorların döndürüleceğini seçmeniz gerekir. Ve sonra belirli motorları döndürmek için yukarı ve aşağı veya sola ve sağa düğme çiftleri.


EV3 Education Edition, kızılötesi mesafe sensörü ve kızılötesi işaret ile standart olarak gelmediği için üçüncü uygulamayı deneyemedik. Ancak görünüşe göre, bu ekranda kızılötesi işaretten hangi motorların kontrol edileceğini yapılandırabilirsiniz.


Tabii ki, en ilginç uygulama- blokta programlama. Önemli ölçüde revize edilmiştir: bir program artık 16'ya kadar program öğesi (blok) içerebilir ve oluşturulan programlar kaydedilebilir ve elbette değişiklik için yeniden açılabilir.


Program yazma uygulaması açıldığında, boş bir çalıştırma döngüsü görüntülenir (yalnızca bir yineleme gerçekleştirilecektir) ve ilk bloğu eklemek için bir istem görüntülenir. "Yukarı" düğmesini kullanarak bir blok ekleyebilirsiniz.


Açılan blok seçim penceresinde 17 blok (6 eylem bloğu ve 11 bekleme bloğu) artı mevcut bloğun silme eylemi mevcuttur.



Blokların seçildiği ve izlendiği sıra programcı tarafından belirlenir. Daha önce NXT bloğunda olduğu gibi, her eylem bloğunu bir bekleme bloğunun takip etmesi gerektiği anlamına gelmez.

Programda seçilen blok şöyle görünür:


Bloğun davranışı ortadaki düğmeye basılarak iyileştirilebilir. Bu blok için örneğin robotun dönüş yönünü değiştirebilir veya motorları tamamen durdurabilirsiniz (örneğin önceki bekleme bloğundan sonra).


"İmleci" sola veya sağa hareket ettirerek başka bir blok ekleyebilirsiniz:


Örneğin, bir mesafe sensöründe olay bekleyen bir blok:


Ve davranışını değiştirin (mesafe 60 cm'den fazlaysa olay gerçekleşir):


Bloklar, mevcut bloklar arasına veya hatta bir programın başlangıcında eklenebilir.


Bekleme bloklarına ilişkin birkaç örnek daha:

Zamana göre blok bekleme (tam olarak ne kadar bekleyeceğinizi ayarlayabilirsiniz):


Veya bir jiroskop sensöründen bir olay bekleyen bir blok (sensörün dönüş açısını ayarlayabilirsiniz).


Sensörlerin otomatik olarak algılanmasının işlevselliğinin bloktaki programlama sürecini basitleştirdiğine tekrar dikkat edilmelidir. Artık belirli sensörlerin belirli portlara bağlanması gerektiği kuralına uymaya gerek yok.

Programın birkaç kez yürütülmesi gerekiyorsa, kontrol döngüsünün yineleme sayısı değiştirilebilir:


Program, ilk blok seçilerek başlatılır:


Program başladığında, ekranda aşağıdakiler görüntülenecektir:


Program kaydedilebilir ve sonraki araması için bir dosya adı belirleyebilirsiniz:



Harfler klavye kullanılarak seçilir (merhaba dokunmatik yüzey!)

Kaydedilmemiş bir programı kapatmaya çalışırsanız, aşağıdaki çok net olmayan mesaj görüntülenecek ve kötü bir ses üretilecektir:


Gelecekte, oluşturulan program açılabilir ve değiştirilebilir.


Doğal olarak sadece blokta oluşturulan programlar açılır.

Sonuç olarak, bloğu kapatmanın nasıl göründüğünü göstermek istiyorum:


Geleneksel olarak, bir platform üzerine inşa edilmiş robotlar Lego Zihin Fırtınası EV3, LabVIEW grafik ortamı kullanılarak programlanır. Bu durumda programlar EV3 Controller üzerinde çalışır ve robot otonom olarak çalışır. burada bahsedeceğim alternatif yol robot kontrolü - bilgisayarda çalışan .NET platformunu kullanma.

Ancak doğrudan programlamaya geçmeden önce, bunun yararlı olabileceği durumlara bakalım:

  • Gerekli uzaktan kumanda dizüstü bilgisayardan bir robot tarafından (örneğin, düğmelere basarak)
  • EV3 Controller'dan veri toplama ve harici bir sistemde işleme ihtiyacı (örneğin, IoT sistemleri için)
  • .NET'te bir kontrol algoritması yazmak ve bunu EV3 Controller'a bağlı bir bilgisayardan çalıştırmak istediğiniz diğer durumlar

.NET için LEGO MINDSTORMS EV3 API

EV3 Denetleyicisini aşağıdakilerden kontrol etme harici sistem seri porta komutlar gönderilerek yapılır. Komut biçiminin kendisi, İletişim Geliştirme Kitinde açıklanmıştır.

Ancak bu protokolü elle uygulamak sıkıcıdır. Bu nedenle Brian Peek tarafından özenle yazılmış hazır .NET sarmalayıcısını kullanabilirsiniz. Bu kitaplığın kaynak kodu Github'da barındırılmaktadır ve kullanıma hazır paket Nuget'te bulunabilir.

EV3 Denetleyicisine Bağlanma

Brick sınıfı, EV3 Controller ile iletişim kurmak için kullanılır. Bu nesneyi oluştururken, yapıcının EV3 denetleyicisine nasıl bağlanacağını açıklayan bir nesne olan ICommunication arabiriminin bir uygulamasını geçmesi gerekir. UsbCommunication, BluetoothCommunication ve NetworkCommunication (WiFi üzerinden bağlantı) uygulamaları mevcuttur.

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

Kontrol cihazına Bluetooth aracılığıyla programlı olarak bağlanabilmemiz için önce, kontrol cihazının işletim sistemi ayarları kullanılarak bilgisayara bağlanması gerekir.

Kontrolör bağlandıktan sonra Bluetooth ayarlarına gidin ve COM portları sekmesini seçin. Kontrolörümüzü buluyoruz, ihtiyacımız var dışa dönük Liman. BluetoothCommunication nesnesini oluştururken belirteceğiz.

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

Genel zaman uyumsuz Görev Bağlantısı(ICommunication iletişimi) ( var iletişim = new BluetoothCommunication("COM9"); var brick = _brick = new Brick(communication); wait _brick.ConnectAsync(); )

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

Await_brick.ConnectAsync(TimeSpan.FromSeconds(5));

Üniteye USB veya WiFi üzerinden bağlanma, UsbCommunication ve NetworkCommunication nesnelerinin kullanılması dışında benzerdir.

Her şey sonraki adımlar denetleyiciyle yürütülen , Brick nesnesi aracılığıyla gerçekleştirilir.

Haydi motorları döndürelim

EV3 Controller üzerinde komutları çalıştırmak için Brick nesnesinin DirectCommand özelliğine erişelim. İlk olarak, motorları çalıştırmayı deneyelim.

Motorumuzun kontrolörün A portuna bağlı olduğunu varsayalım, 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 var. Örneğin, StepMotorAtPowerAsync() ve StepMotorAtSpeedAsync() yöntemlerini kullanarak bir motoru belirli bir açıya döndürebilirsiniz. Toplamda, motorları açma modlarında - zaman, hız, güç vb. - varyasyonlar olan çeşitli yöntemler mevcuttur.

StopMotorAsync() yöntemi tarafından zorunlu bir durdurma gerçekleştirilir:

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

İkinci parametre, frenin kullanımını gösterir. false olarak ayarlanırsa, motor yavaşlayarak durur.

Sensörlerden okuma değerleri

EV3 Denetleyicide dört sensör bağlantı noktası bulunur. Buna ek olarak, motorlarda sensör olarak kullanılmalarını sağlayan yerleşik kodlayıcılar da bulunur. Sonuç olarak elimizde değerlerin okunabileceği 8 adet port bulunmaktadır.

Değerleri okumak için portlara Brick nesnesinin Ports özelliği üzerinden erişilebilir. Bağlantı noktaları, denetleyicide bulunan bir bağlantı noktası koleksiyonudur. Bu nedenle, belirli bir bağlantı noktasıyla çalışmak için onu seçmeniz gerekir. InputPort.One ... InputPort.Four, sensör portlarıdır ve InputPort.A ... InputPort.D, motor kodlayıcılarıdır.

Var port1 = _brick.Ports;

EV3'teki sensörler çalışabilir farklı modlar. Ö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ığına ve çalışma modu ayarlandığına göre, sensörden veri okuyabilirsiniz. Ham veri, işlenmiş değer ve yüzde değeri alabilirsiniz.

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

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

RawValue özelliği, ADC'den alınan ham değeri döndürür. Bazen daha fazla işleme ve kullanım için kullanmak daha uygundur. Bu arada, EV3 IDE ayrıca "ham" değerler alma yeteneğine de sahiptir - bunun için mavi panelden bloğu kullanmanız gerekir.

Kullanılan gösterge yüzde olarak değerler almayı bekliyorsa, PercentValue özelliğini de kullanabilirsiniz.

Komutları toplu olarak yürütme

Diyelim ki emrimizde iki tekerlekli bir robot arabamız var ve onu yerinde yerleştirmek istiyoruz. Bu durumda, iki tekerlek ters yönde dönmelidir. DirectCommand'ı kullanır ve denetleyiciye sırayla iki komut gönderirsek, bunların yürütülmesi arasında biraz zaman olabilir:

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

Bu örnekte A motorunu 50 hızında döndürmek için bir komut gönderiyoruz, bu komutu başarıyla gönderdikten sonra aynı işlemi B portuna bağlı motor için de tekrarlıyoruz. Sorun şu ki komut gönderme anlık değil yani motorlar dönmeye başlayabilir farklı zamanlarda - komut B portu için iletilirken, motor A çoktan dönmeye başlayacak.

Motorları aynı anda döndürmemiz bizim için kritikse, kontrolöre bir "paket" içinde komutlar 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); bekle _brick.BatchCommand.SendCommandAsync();

Şimdi iki komut aynı anda hazırlanır ve ardından tek pakette kontrolöre gönderilir. Bu komutları alan kontrolör, aynı anda motorların dönüşünü başlatacaktır.

Başka ne yapılabilir

Motorları döndürmeye ve sensör değerlerini okumaya ek olarak, EV3 Kontrol Cihazı üzerinde gerçekleştirebileceğiniz bir dizi başka işlem vardır. Her biri üzerinde ayrıntılı olarak durmayacağım, sadece yapılabileceklerin bir listesini listeleyeceğim:

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

Çözüm

Yönetim için .NET'i Kullanma zihin fırtınası robotları EV3, "farklı dünyalardan" teknolojilerin birlikte nasıl çalışabileceğini gösterme konusunda iyi bir iş çıkarıyor. EV3 API for .NET üzerinde yapılan araştırma sonucunda, EV3 Robotunuzu bilgisayarınızdan kontrol etmenizi sağlayan küçük bir uygulama oluşturulmuştur. Ne yazık ki, NXT için benzer uygulamalar var, ancak EV3'ü atladılar. Aynı zamanda robot futbolu gibi kontrollü robot yarışmalarında da faydalıdırlar.

Uygulama şu bağlantıdan indirilebilir ve yüklenebilir:

- Kimi istersin - bir oğul mu yoksa bir kız mı?
- Oğul!
- Neden?
- Radyo kontrollü bir helikopter istiyorum!!!
Komik olmayan ve düğmeli bir akordeon anekdotu, ancak onu alıp bu yayına onunla başlayamazsınız - o burada en iyi şekilde daha sonra tartışılacak olanın özünü yansıtır. Ancak, başlıktan ne hakkında olduğunu zaten anladınız.

Dikkatlice! Yayın, bir oğul sahibi olmak için karşı konulmaz bir arzuya neden olabilir.

Tarih dersi

LEGO şirketi (adı Danimarkaca “leg godt”, “Zevkle oyna” ifadesinden gelir) tanıtım gerektirmez - ilk tanıdık plastik küpler 1947'de çok daha sonra ortaya çıkmasına rağmen, 1932'de kuruldu. O yıllarda üretilen LEGO tuğlaları, şimdi üretilenlerle tam uyumlu.

LEGO'nun 80. yıldönümü için Pixar tarafından yayınlanan şirketin kuruluş tarihi:

Şimdi şirket yılda yaklaşık 20 milyar parça üretiyor, yani saniyede 630'dan fazla parça. akımda model aralığı 600'den fazla farklı kurucu ve öyle oldu ki Mindstorms serisi bir tür teknik düşüncenin zirvesi, en sofistike kurucu. Kısacası oldukça tam teşekküllü robotlar yapmanızı sağlar.

Wikipedia'ya göre, LEGO Mindstorms serisi ilk olarak 1998'de tanıtıldı. 8 yıl sonra (2006'da) LEGO Mindstorms NXT 1.0 seti doğdu ve zaten 2009'da LEGO Mindstorms NXT 2.0 seti doğdu. Bugün hakkında konuşacağız LEGO Zihin Fırtınası EV3- neredeyse bir yıl önce 4 Ocak 2013'te tanıtılan kurucu sonlandırıcının son (üçüncü) nesli (sadece altı ay sonra satışa çıktı).

EV3 ve NXT 2.0 arasındaki farklar

Prensip olarak, ana fikir aynı kalır - seri, programlanabilir robotların montajı için tasarlanmıştır. Bu nedenle, ortaya çıkan ilk soru, önceki kurucunun piyasaya sürülmesinden bu yana nelerin değiştiği ve yeni bir tane satın almaya değer mi? Temel fark, güncellenmiş sensörlerde/motorlarda ve en önemlisi EV3 Smart Brick'tedir (EV, EVolution anlamına gelir):
Gördüğünüz gibi, fark oldukça önemli - 4 yıl içinde yalnızca ekran çözünürlüğü ve çıkartma seti değiştirilseydi garip olurdu.

Diğer bir fark, NXT serisinin birkaç versiyonda (farklı yıllarda) satılmış olması ve temel ve kaynak olmak üzere farklı setleri temsil etmesidir. Yeni EV3 bununla daha kolay - ana sürümde satılsa da - (601 parça), bundan birçok şey yapabilirsiniz. Ancak dilerseniz, ek sensörler ve parçalar içeren temel bir set (541 parça) satın alabilirsiniz (kimse sıradan tasarımcıların parçalarını kullanmaktan rahatsız olmaz). Bu arada, beş basamaklı makale numaralarına dikkat edin - şirket 2013 yılında bu numaralandırmaya geçti.

Uyumluluğa gelince, burada mümkün olan her şey yapıldı. Tüm NXT sensörleri ve motorları EV3 uyumludur ve NXT olarak tanınır. EV3 sensörleri NXT ile çalışmıyor ancak EV3 motorları uyumlu görünüyor. NXT Brick, EV3 yazılımıyla programlanabilir, ancak bazı özellikler mevcut olmayabilir, ancak EV3 Brick'i NXT yazılımıyla üçüncü taraf çözümler olmadan programlamak mümkün değildir.

kutunun içinde

Ben kendim küçükken ve ailemle birlikte merkezi Çocuk Dünyasına (hala oradayken), Lubyanka'ya gittiğimde bile - o zaman bile gözlerimi LEGO ile kutulardan alamadım. O zaman ne Giktimes, ne de Habr vardı, ama o zamandan beri kutular aynı parlak ve sulu kaldı, yetişkinlikte bile tükürük sürecini aktive ediyorlar) Bu bağlamda, diğer üreticilerin öğrenecek çok şeyi var.

Kutunun bir kısmı aslında (kesilmişse) renk sensörlü robotlar için kullanılabilecek farklı renk bölgelerine sahip bir izdir.

Tüm parçalar, talimatlar ve bir dizi çıkartma ile birlikte torbalarda düzgün bir şekilde düzenlenmiştir. Kitin içinde neler olduğuna kısaca bir göz atalım.

Kendim EV3, o aynı zamanda bir entelektüel bloktur, sistemin kalbidir, aynı zamanda bir “tuğla” veya “küp”tür. Robotunuz için bir kontrol merkezi ve güç istasyonu görevi görür ve aşağıdaki işlevsel öğelere sahiptir:

- 178x128 çözünürlüğe sahip çok işlevli monokrom ekran
– Çalışma modunu belirtmek için arka ışık değiştirme işlevli (3 renk) altı düğmeli kontrol arayüzü
– Sensörleri bağlamak için 4 giriş portu (1, 2, 3, 4)
– Komutları yürütmek için 4 çıkış portu (A, B, C, D)
– EV3'ü bir bilgisayara bağlamak için 1 miniUSB konektörü
– 1 USB ana bilgisayar bağlantı noktası (örneğin, birden fazla EV3'ü birbirine zincirlemek için)
– 1 microSD kart yuvası (32 GB'a kadar) – mevcut EV3 belleğini genişletmek için
- Dahili hoparlör

EV3 Brick ayrıca Bluetooth, WiFi (NETGEAR WNA1100 Wireless-N 150 USB Adaptörü aracılığıyla) ve programlar oluşturmanıza ve doğrudan EV3 Brick'te veri günlüğü oluşturmanıza olanak tanıyan bilgisayarlarla iletişim kurmak için bir API'yi destekler.

» Büyük EV3 Servo (2 adet). EV3 Brick ile çalışmak üzere tasarlanmıştır ve 1 derecelik hassasiyete sahip yerleşik bir dönüş sensörüne sahiptir. Bu sensör kullanılarak motor, diğer motorlara bağlanarak robotun sabit bir hızda hareket etmesine olanak tanır. Ek olarak, dönüş sensörü, mesafe ve hız verilerini doğru bir şekilde okumak için çeşitli deneylerde kullanılabilir.

– 1 dereceye kadar ölçüm doğruluğuna sahip dahili dönüş sensörü
– 160-170 rpm'ye kadar maksimum hız
– 40 Ncm maksimum tork

» Orta EV3 Servo. Robotun boyutunun yanı sıra hızın ve tepki vermenin yükünden daha önemli olduğu görevler için idealdir.

– 1 dereceye kadar ölçüm hassasiyetine sahip dahili dönüş sensörü
– 240-250 rpm'ye kadar maksimum hız
– Maksimum 12 Ncm tork
– Otomatik tanımlama yazılım EV3

» Renk sensörü (EV3). Işık sensörü olarak da kullanılabilmesine rağmen 8 farklı rengi algılayabilme özelliğine sahiptir.

– Tam karanlıktan parlak güneş ışığına kadar yansıyan kırmızı ışığı ve ortam ortam ışığını ölçer
– 8 rengi düzeltir ve tanımlar
– 1 kHz'e kadar yoklama oranı
– EV3 Yazılımı tarafından otomatik tanımlama

» Dokunmatik sensör (EV3). Robotun dokunmaya tepki vermesini sağlar, üç durumu tanır: dokunma, tıklama ve bırakma. Ayrıca hem tekli hem de çoklu tıklama sayısını belirleyebilir.

» Dijital IR sensörü (EV3). Robotun yaklaşımını belirlemek. Ayrıca, bir IR işaretçisinden IR sinyallerini alarak, uzaktan kumandalı robotların oluşturulmasına olanak tanır. navigasyon sistemleri engelleri aşmak için.

– 50-70 cm yarıçap içinde yaklaşma/kaldırma ölçümleri
– 2 metreye kadar IR alma aralığı
– 4 adede kadar ayrı sinyal alma kanalı
– Uzaktan IR kontrol komutlarını alma
– EV3 Yazılımı tarafından otomatik tanımlama

» Uzak kızılötesi işaret. EV3 IR Sensörü ile kullanım için tasarlanmıştır. İşaret, sensör tarafından alınan bir IR sinyali yayar - IR sensörüne sinyal göndererek EV3 Brick için uzaktan kumanda olarak kullanılabilir.

– 4 adede kadar ayrı sinyal iletim kanalı (doğrudan kasayı açın)
- Açma / kapama için bir düğme ve geçiş anahtarı vardır
– Kızılötesi işaret çalışırken, yeşil LED yanar
Otomatik kapanma 1 saatten fazla boşta
– 2 metreye kadar menzil

Ayrı bir çanta, sensörleri ve motorları kübe bağlamak için kabloların yanı sıra, küpü bir bilgisayara bağlamak için bir USB kablosu içerir.

iki not etmekte fayda var önemli anlar. İlk olarak, aşağıdakiler gibi başka Lego sensörleri vardır:

» Gyro Sensörü (EV3). EV3 Dijital Gyro Sensörü, robotun dönme hareketini ölçmenize ve hareketindeki ve konumundaki değişiklikleri algılamanıza olanak tanır. ± 3 derece hassasiyetle açı ölçüm modu; yerleşik jiroskop, 440 derece / s'ye varan bir momentle dönüşleri yakalar; 1 kHz'e kadar örnekleme hızı.

» Ultrasonik sensör (EV3). Ses dalgaları üretir ve nesnelerden yansımalarını yakalar, böylece nesnelere olan mesafeyi ölçer. Tek dalgalar yayan sonar modunda da kullanılabilir. Programların çalışması için tetikleyici olacak ses dalgalarını alabilir. 1 ila 250 cm arasındaki mesafeleri ölçer ve ölçüm doğruluğu ± 1 cm'dir.

İkincisi, HiTechnic ve Mindsensors gibi üçüncü taraf üreticilerin sensörleri ve diğer aksesuarları desteklenir - her türlü joystick, kızılötesi mesafe sensörleri, manyetik sensörler, pusulalar, jiroskoplar, ivmeölçerler, zamanlayıcılar, çoklayıcılar, bilyeli mafsallar vb. sunarlar. Yani, bir soru sorarsanız, birçok ilginç şey bulabilirsiniz.

Genel olarak, zaten anladığınız gibi, LEGO gerçek erkekler içindir!

İlk model

Kit, tek bir modeli monte edebileceğiniz bir kağıt talimatla birlikte gelir - bir tür tırtıl kendinden tahrikli araç.

İlk başta şaşırdım, çünkü en basit setlerde bile (LEGO Creator gibi bir dizi) her zaman birkaç talimat var ve sonra aniden kağıttan pişman oldular veya kutuda yer bulamadılar. Sadece resmi web sitesinde bir dizi parçadan 17 farklı robotun birleştirilmesi önerildiği ortaya çıktı! Bu nedenle, bir kutudaki 17 talimat gerçekten gereksiz olacaktır (hem lojistik hem de doğa ormanları için). İşte robotların isimleri: EV3RSTORM , GRIPP3R , R3PTAR , SPIK3R ve TRACK3R . ROBODOZ3R , BANNER PRINT3R , EV3MEG , BOBB3 , MR-B3AM , RAC3 TRUCK , KRAZ3 , EV3D4, EL3CTRIC GITAR , DINOR3X , WACK3M ve EV3GAME - İnternet'e bağlanma talimatlarının yanı sıra EV3'e bağlanma talimatlarının da indirilmesi gerekir. bir bilgisayar.

Talimat en ayrıntılı olanıdır, batırmak zordur. oğlum dedi torbalardaki parçaların çok iyi paketlenmediğini - ilk sayfada 3 farklı paket açmanız gerekebilir, ancak bunlar da önemsizdir.

Şarj edilebilir bir pil (dahil değildir) veya 6 AA pil ile yapılabilecek EV3 Brick'e güç verilmesi gerekir. İleriye bakmak - IR işaretçisine (uzaktan kumanda olarak da bilinir) güç sağlamak için 2 pil (ama zaten küçük parmaklar) gerekecektir.

Çocuk (7 yaşında) ilk modeli yaklaşık 30 dakikada monte etti.

Sürecin, örneğin LEGO Technics modellerini monte etmek kadar heyecan verici olmadığı ortaya çıktı - talimatlar, en ilginç robottan uzak bir şekilde monte edilmesini öneriyor: sadece, aralarında neredeyse tüm sensörler ve motorlar olan büyük parçalar içeriyor - görünüşe göre işi göstermek için her birinin.

Ancak sonuç tüm çocukların beklentilerini aştı - ilk kez kendi kendine hareket edebilen bir model kurdu: ileri geri, dön, yerinde dön, dokunaçlarla bükülmüş ...

Başlatma, ön paneldeki birkaç düğmeye basmanız gereken EV3 küpünden gerçekleştirilir. Bazı eylemler doğrudan küp üzerinde programlanabilir: yineleme sayısını seçin, ses sinyalini ayarlayın ve benzeri - her şeyi tek bir makalede anlatamazsınız, duman kılavuzları.

Yumuşak

Yukarıda toplanan modeli bir bilgisayar aracılığıyla programlamak gerekli değildi. Ancak, böyle bir olasılık var ve farklı seviyelerde hardcore.

Bir çocuğun hem Windows hem de OS X altında bulunan üretici tarafından sunulan yazılımla başlaması en kolayı olacaktır. İkinci durumda, dağıtım kiti 666 MB ağırlığındadır ve yüklü uygulama gigabayt alır. LEGO Mindstorms EV3 Home Edition olarak adlandırılıyor ve kötü şöhretli LabView şirketi ile işbirliği içinde geliştirildi. LEGO web sitesinde oldukça fazla programlama öğreticisi var.

Lansmandan hemen sonra, önümüzde bir setten monte edilebilecek etkileşimli bir robot “garajı” belirir:




Beğendiğimizi seçip toplamaya başlıyoruz: etkileşimli montaj talimatlarını, videolarını ve ayrıca monte edilmiş robotla tamamlanabilecek çeşitli görevlerin bir seçimini göreceğiz. Bu yüzden dağılım çok ağırdı.








Her şeyi ayrıntılı olarak açıklamak için bir neden göremiyorum: uygulamayı hızlı bir şekilde kendiniz indirecek ve orada ne olduğunu ve hangi düzeyde olduğunu göreceksiniz. En çok hatırladığım eksikliklerden birinden bahsetmedikçe: en kolay (özellikle çocuklar için) arayüz değil - uygulama bir tür banka müşterisi kokuyor.

EV3 tuğlasının bir akıllı telefondan kontrol edilebileceğini tekrar belirtmek gerekir. işletim sistemleri Ayrı uygulamaların bulunduğu Android veya iOS.

Bütün bunlar yeterli değilse, hardcore derecesini artırabilirsiniz. EV3 tuğlası için yeteneklerini, hızını vb. genişletmenize izin veren çeşitli yazılımlar vardır. Örneğin, alternatif üretici yazılımı leJOS EV3, EV3'ü Java'da programlamanıza izin veren jvm'li bir bellenimdir. Başka bir dilde ister misin? Ok Google - aralarından seçim yapabileceğiniz neredeyse 60 seçeneğiniz var: ASM/C/C++/Perl/Python/Ruby/VB/Haskell/Lisp/Matlab/LabVIEW ve çok daha fazlası.

Birkaç nedenden dolayı bunun hakkında daha ayrıntılı konuşmayacağım: ilk olarak, benden programcı tamamen yanlış (oğlum için tüm umutlar), ikincisi, şimdiye kadar sadece bir modeli birleştirmeyi başardık (ve alacağız). hafta sonu ikincisi) ve -Üçüncü olarak - bu kurucu için zaten bir sipariş verdiniz ve yakında her şeyi kendiniz öğreneceksiniz;) Ama cidden, makale zaten çok büyük - iki bağlantıyı incelemek daha iyidir: bir ve iki.

Eh, bir başka büyük artı, tüm dünyada dolu olan LEGO topluluklarıdır. Robotlarla denemenin herhangi bir aşamasında, her zaman benzer düşünen insanları ve sorunu çözmeye yardımcı olabilecek kişileri bulabileceğinizden emin olabilirsiniz. Dost topluluklara ek olarak, İnternet'te çok çeşitli talimatlar, modeller, kaynak kodları, videolar ve eğitim materyalleri yayınlanmıştır. Tüm bunların tek bir anlamı var: Mindstorms'tan sıkılmayacaksınız.

Lehte ve aleyhte olanlar

LEGO ürünleri birkaç yıldır kaliteleriyle ünlüdür, bu nedenle bu konuda herhangi bir şikayet yoktur: muhteşem bir kutu, parçalar, çıkartmalar, talimatlar - her şey en küçük ayrıntısına kadar çalışılır. Bu nedenle, bir büyük olana kıyasla tüm “küçük artılara” gözlerimi kapatmama izin verin: normal bir parça setinden bile yapılabilecek olası tasarım kombinasyonlarının çeşitliliği (ek setlerden bahsetmeye değmez) yalnızca sınırlıdır. senin hayal gücünle. Birleştirilmiş modeli farklı şekillerde programlama yeteneği, aslında ilk bakışta göründüğünden çok daha fazla olan başka bir artıdır.

Ama gerçekten önemli dezavantajlardan sadece birini buldum: fiyat. Yaz aylarında LEGO Mindstorms EV3 14-15 bine alınabiliyordu ancak yaprak dökmeyen başkan oranındaki hızlı yükseliş fiyatı 17 bine çıkardı. Biri diyecek ki: evet, havalı bir tasarımcı... AMA PAHALI!» Ve o haklı olacak. Kiti ve yeteneklerini keşfederken, yaratılmasına harcanan kaynakların miktarı beni çok etkiledi; Çok fazla elektronik ve diğer her şey olduğunu anlıyorum ... ama yine de tasarımcı için böyle bir maliyetle anlaşamıyorum. Bu para için bir kişiyi hapisten çıkarabilirsiniz (c) başka birçok hediye seçin: bir quadcopter, radyo kontrollü içten yanmalı motor modeli, tam boyutlu bir elektrikli motosiklet, spor bölümünde bir yıllık sınıflar, bir tablet ... ve bir sürü şey! Ancak istediğiniz zaman spora gidebilirsiniz ve bu pek de bir hediye sayılmaz, ancak aynı quadcopter ilk ciddi arızaya kadar vızıldayacak. Lego, bu bağlamda, işi zevkle, gerçekçi olmayan büyük potansiyelle birleştiren çok daha uzun ömürlü bir hediyedir. Evet, aynı tablette programlamayı da öğrenebilirsiniz, ancak çalışmanın sonucunu ellerinizle hissetmenin bir yolu olmadığında, artık o kadar heyecan verici değil. Bu yüzden kendin karar ver.

Oh evet. Üretici bu seti 10 yaşından büyük çocuklar için konumlandırıyor, ancak 7 yaşındaki bir çocuk bile oynamaya ilgi duyuyordu - hızlı gelişim süreci başladı. Ne kadar düşünüyorsun bu adamlar ve ilk Porsche'lerini ne zaman alacaklar?)

Son

Her birimiz Yeni Yılı kar kızları, Noel ağacı, mandalina, bir kase Olivier ve elbette hediyelerle ilişkilendiririz. Ve çocuklar hakkında konuşursak, hediyeleri bu listedeki son yerden uzaktır. Ve eğer öyleyse, oğlunuz büyüyorsa, ağacın altındaki bu tasarımcının onu domuz sevinç çığlıklarına getireceğinden şüphe edemezsiniz. Ve Yeni Yıl havai fişeklerinden sonra, çocuğunuzla küpler ve teller arasında daha derine inmek için neredeyse bir haftanız olacağı göz önüne alındığında ... onun çocuğunu satın alıyorsunuz, değil mi?

Yeni Yılın Kutlu Olsun!

Konunun devamı:
Android

Windows 7 veya 10 masaüstündeki widget'lar, kullanıcılara çok sayıda seçenek sunarak çalışma alanınızı rasyonel bir şekilde özelleştirmenize olanak tanır. Temelde sistem...