Skip to main content

Görüntü Sensörünün Kullanımı - C++

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Bu Etkinliğin Amacı

Görme Sensörünü etkili bir şekilde kullanmak, öğrencilerin onu bulunduğu ortama göre yapılandırabilmelerini ve ayarlayabilmelerini gerektirir. Aşağıdaki etkinlikte öğrenciler her ikisini de nasıl yapacaklarını öğrenecekler.
VEXcode V5 ile Görüntü Sensörünü programlama hakkında daha fazla bilgi için,VEX Kütüphanesi içindekiCyardım bilgilerini ziyaret edin.

Aşağıda öğrencilerinizin bu etkinlikte neler yapacaklarının bir özeti yer almaktadır:

  • Nesneleri Algılama (Vision) örnek projesini açın.

  • Görüntü Sensörünü yapılandırın.

  • Nesneleri Algılama (Vision) örnek projesini çalıştırın.

  • Tartışın ve Düşünün.

  • Görüntü Sensörünü ayarlayın.

Öğretmen İpuçları simgesi Öğretmen İpuçları

Eğer öğrenci VEXcode V5'i ilk kez kullanıyorsa,yardımmakaleye erişebilir.

Öğretmen İpuçları simgesi Öğretmen İpuçları - Otomatik Tamamlama Kullanımı

Otomatik tamamlama, VEXcode V5'te yazdığınız komutun geri kalanını tahmin eden bir özelliktir. Öğrenciler VEXcode V5'te çalışırken,yardımcı olması için Otomatik Tamamlama özelliğini kullanmalarını teşvik edin.

VEXcode V5'te, bir komutun Drivetrain kısmı sola, o komut için otomatik tamamlama seçeneklerinin kaydırılabilir listesi ise sağa doğru gösteriliyor.

C++için Otomatik Tamamlama makaleleri Otomatik Tamamlama özelliğinin nasıl kullanılacağını ele almaktadır.

Gerekli donanımı, mühendislik defterinizi alın ve VEXcode V5 'i açın.

Gerekli Malzemeler:
Adet Gerekli Malzemeler
1

VEX V5 Sınıf Başlangıç Kiti

1

VEXcode V5 (en son sürüm, Windows, macOS)

1

Mühendislik Defteri

1

Görme Sensörünü Yapılandırma (VEX Kitaplığı)

1

Görme Sensörünü Ayarlama (VEX Kütüphanesi)

1

Nesneleri Algılama (Vizyon) örnek projesi

Bu etkinlik size Görme Sensörünü kullanmak için gerekli araçları verecektir.

Talimatları öğrenmek için VEXcode V5'in içindeki Yardım (C++) bilgisini kullanabilirsiniz.

VEXcode V5, en solda Araç Kutusu açık ve en sağda Drive for komutu için Yardım açık olarak gösterilir. Yardım, komutun tanımını ve nasıl kullanıldığına ilişkin bilgileri gösterir.

 

1. Adım: Örnek Bir Proje Açın

VEXcode V5 birçok farklı örnek proje içermektedir. Bu keşifte bunlardan birini kullanacaksınız.

Aşağıdaki adımları tamamlayarak Nesneleri Algılama (Vizyon) örnek projesini açın:

  • Dosya menüsünü açın.
  • Açık Örnekler'i seçin.

Dosya menüsü açık ve Açık Örnekler kırmızı bir kutuda vurgulanmış VEXcode V5 Araç Çubuğu. Açık Örnekler, Yeni Bloklar Projesi, Yeni Metin Projesi ve Açık altındaki dördüncü menü öğesidir.

  • Uygulamanın üst kısmındaki filtre çubuğunu kullanın ve "Algılama" yı seçin.

VEXcode V5 Örnek Proje seçim penceresi, Algılama filtresi üstte seçilir ve kırmızı bir kutuda vurgulanır. Aşağıda altı örnek proje simgesi gösterilmektedir.

Nesneleri Algılama (Vision) örnek projesini seçin ve açın.

Örnek proje simgesi, altta Nesneleri Algılama Vizyonunu okur ve yukarıda nesne algılamayı gösteren bir sensöre sahip bir robotun mavi bir diyagramını gösterir.

Projenizi Nesneleri Algılama olarak kaydedin.

  • Nesneleri Algılama proje adının artık araç çubuğunun ortasındaki pencerede olduğundan emin olmak için kontrol edin.

VEXcode V5 Araç Çubuğundaki proje adı iletişim kutusu Nesneleri Algılama'yı okur ve 1. yuvanın solda seçildiğini gösterir ve Sağa Kaydedildi'yi okur.

Öğretmen İpuçları simgesi Öğretmen İpuçları

  • Öğrencilerin Dosya menüsünden Örnekleri Aç seçtiğinden emin olun.

  • Öğrencilerin Nesne Algılama (Görme) Örnek projesini seçtiğinden emin olun. Öğrencilere Örnekleri Aç sayfasında seçebilecekleri birkaç seçenek olduğunu belirtebilirsiniz.

  • Öğrencilerden proje ismine kendi adlarının baş harflerini veya gruplarının adını eklemelerini isteyebilirsiniz. Öğrencilerden programlarını göndermelerini istemeniz, programları farklılaştırmanıza yardımcı olacaktır.

  • VEXcode V5'te otomatik kaydetme özelliği bulunduğundan, proje ilk kez kaydedildikten sonra tekrar kaydedilmesine gerek yoktur.

  • Eğer öğrencilerin tasarruf konusunda yardıma ihtiyacı varsa, onları şu makalelerden birine yönlendirin: 

Adım 2: Görüntü Sensörünü Yapılandırma ve Kullanma

Vizyon Sensörü yapılandırma penceresi, solda kırmızı bir küp tutan bir elin görüntüsünü, küp üzerinde bir kaplama ve üzerinde REDBOX ve W142 H142 kelimeleri ile gösterir. Sağda, BlueBox, Redbox ve Greenbox için 3 Renkli imza ayarlanmıştır.

Daha önce kaydedilmiş Nesneleri Algılama (Vision) örnek projesini açın.

Vision Sensor bu projede nasıl kullanılıyor? Proje yürütüldüğünde ne olacağını tahmin edin ve tahminleri mühendislik defterinize yazın.

#include "vex.h"

using namespace vex;

event checkBlue
= event(); event checkRed
= event(); event checkGreen = event ();

// Vision
// Sensor görünümünde mavi bir nesne olup olmadığını kontrol eder ve sonuçları V5 Brain ekranının 1. satırında görüntüler.
void, BlueCallback ()

  {Brain.Screen.clearLine (1
  ); Brain.Screen.setCursor (1,
  1); Vision5.takeSnapshot (Vision5 __BLUEBOX);

  if
    (Vision5.objectCount > 0) {Brain.Screen.print

  (" Mavi
    Nesne Bulunamadı
  ");} else {Brain.Screen.print ("
Mavi Nesne Yok ");}}

// Vision
// Sensörünün görünümünde kırmızı bir nesne olup olmadığını kontrol eder ve sonuçları V5 Brain ekranının 3. satırında görüntüler.
void, RedCallback ()

  {Brain.Screen.clearLine (3
  ); Brain.Screen.setCursor (3,
  1); Vision5.takeSnapshot (Vision5 __REDBOX);

  if
    (Vision5.objectCount > 0) {Brain.Screen.print

  (" Kırmızı
    Nesne Bulunamadı
  ");} else {Brain.Screen.print ("
Kırmızı Nesne Yok ");}}

// Vision
// Sensörünün görünümünde yeşil bir nesne olup olmadığını kontrol eder ve sonuçları V5 Brain ekranının 5. satırında görüntüler.
void, GreenCallback () {

  Brain.Screen.clearLine (5);
  Brain.Screen.setCursor (5, 1
  ); Vision5.takeSnapshot (Vision5 __GREENBOX);

  if (Vision5.objectCount >
    0) {Brain.Screen.print (" Yeşil Nesne Bulunamadı ");

  }
    else {Brain.Screen.print (" Yeşil Nesne Yok ");

}}

// Start proje kodu
int main ()
  {// Robot Yapılandırması Başlatılıyor. SÖKMEYİN!
  vexcodeInit ();

  // Olay işleyicilerini kaydet checkBlue
  (hasBlueCallback); checkRed
  (hasRedCallback); checkGreen
  (hasGreenCallback);

  // Olay işleyicilerinin kullanılmaya hazır olduğundan emin olmak için küçük gecikme
  bekleme(15, msn);

  // Gelecekteki tüm baskılar için yazdırma yazı tipini Brain.Screen.setFont (mono40
  ) ekranına ayarlayın;

  // (true) {checkBlue.broadcastAndWait (); checkRed.broadcastAndWait (); checkGreen.broadcastAndWait ();
    wait
    (0.1,
    saniye);

}}

    iken yeni sensör verilerini kontrol etmek için sürekli olarak çalıştırın
  • indirin ve çalıştırın. Görme Sensörünün önüne farklı renkli nesneler yerleştirin ve robotun davranışını gözlemleyin. Projede gerçekte gözlemlediklerinize kıyasla tahmininizin nasıl farklı veya doğru olduğunu mühendislik defterinize kaydedin.

Öğretmen İpuçları simgesi Öğretmen İpuçları

Üç renkli nesnenin küp olması gerekmez, yeşil, kırmızı ve mavi renkte, nispeten küçük herhangi bir nesne olabilir.

Tartışmayı Motive Et simgesi Tartışmayı Motive Et - Cevap

Öğrencilerin bu projenin mühendislik not defterlerinde ne yapacağını öngördüklerini paylaşmalarını ve ayrıca Görüntü Sensörünün nasıl yapılandırılacağını düşünmelerini sağlamak için bir sınıf tartışması kolaylaştırın.
Aşağıdaki soruları sorarak tartışmayı kolaylaştırın:

  1. Görüntü Sensörünün yapılandırılması için adımlar nelerdir?

  2. if then else yapısı ne işe yarar?

  3. Odayı değiştirirsek Görüntü Sensörünün nesneleri algılama şekli ne olur?

Cevaplar farklılık gösterecektir:

  1. Öğrenciler nesnenin isminin belirlenmesi gerektiğini unutmamalıdırlar. Nesne, Görüntü Sensörünün çerçevesine yerleştirilmeli ve "Dondur" düğmesi kullanılarak sabitlenmelidir. Daha sonra "Ayarla" butonu kullanılarak renk seçilecek ve yapılandırılacaktır. Öğrenciler bu maddelistelenen adımlarıbelirtmelidir.

  2. if then elseyapısı, bildirilen Boolean değerine göreif then elseyapısının ilk veya ikinci kısımlarındaki talimatları çalıştırır. Bu talimatın nasıl kullanılacağına dair daha fazla bilgiyi Yardım bilgilerinde bulabilirsiniz.

  3. Görüntü Sensöründen farklı bir ortamdaki nesneleri algılaması istendiğinde, aydınlatma değişebilir ve nesnelerin renkleri farklı görünebilir. Bu durum, Görüntü Sensörünün nesneleri algılamasını zorlaştırabilir.

Adım 3: Vizyon Sensörünü Ayarlama

Çoğu zaman bir nesne, örneğin bir sınıfta, bir ortamda Görme Sensörü tarafından tanınacak şekilde yapılandırılır. Görme Sensörü daha sonra rekabet ortamı gibi farklı bir ortama alındığında, nesne Görme Sensörü tarafından tanınmayabilir. Bu durum genellikle Görüntü Sensörüyapılandırıldıktan sonra aydınlatmada meydana gelen bir değişiklikten kaynaklanır Bu sorunu çözmek için Görme Sensörünüzü ayarlamanız gerekebilir.

Küp ve metin okuma redbox ve x84 y 28 üzerinde bir kaplama ile kırmızı bir küp tutan bir el ile Görüş Sensörü yapılandırma penceresi daha sonra w 158 h 166. Sağdaki Bluebox, Redbox ve Greenbox renk imzaları, kadran 4.4 olarak ayarlanmış kırmızı bir kutuda vurgulanmış bir kaydırıcı ile ayarlanır.

Daha önce kaydedilmiş Nesneleri Algılama (Vision) örnek projesini açın.

Görme Sensörünün ayarlanması nesneleri ne kadar iyi algılayabildiğini nasıl etkileyecektir? Clawbot'u odanın az ya da çok ışık alan farklı bir bölümüne götürün.

V5 Bir Tarlada Clawbot, kolu aşağıda ve pençesi açık ve mor bir küp nesnenin etrafında.

  • indirin ve çalıştırın. Görme Sensörünün önüne farklı renkli nesneler yerleştirin ve robotun davranışını gözlemleyin. Mühendislik defterinizde Görme Sensörünün nesneleri ne kadar iyi algıladığını belgeleyin. Vizyon Sensörünün konum değiştirdikten sonra ayarlanması gerekiyor mu?
  • Görüntü Sensörünü gerektiği gibi ayarlayın. Görüş Sensörünü, nesneleri daha iyi algılayıp algılamadığını belirlemek ve gerektiğinde ayarlamalar yapmak için ayarlandıktan sonra test edin.

Tartışmayı Motive Et simgesi Motive Edici Tartışma - Etkinlik Üzerine Düşünme

S:Görme Sensörü nesneleri beklediğiniz gibi algıladı mı?
C:Cevaplar değişiklik gösterebilir; ancak bu sorunun amacı bilişsel düşünmeyi teşvik etmektir. Öğrenciler, Görme Sensörünün nesneleri algılama yeteneğinin ortama ve ışığa bağlı olarak değişebileceğini unutmamalıdır.

S:Görme Sensörünü gerektiği gibi ayarlayabilmek neden önemlidir?
C:Cevaplar değişiklik gösterebilse de, bir robot bir Görme Sensörü kullanıyorsa ve bir yarışmaya götürülüyorsa veya hatta bir oyun ya da mücadelede kullanılıyorsa, robotun ne kadar iyi performans göstereceği Görme Sensörünün doğruluğuna bağlı olacaktır. Hassasiyet açısından ayarlanması önemlidir.

Öğrenmenizi Genişletin simgesi Öğreniminizi Genişletin - Çoklu Nesneler

Öğrencilerden Nesne Algılama (Görüntü) projesini çalıştırmalarını ve yapılandırılmış nesnelerden birden fazlasını Görüntü Sensörünün önüne yerleştirmelerini isteyin. Ne oluyor? Bulgularını mühendislik not defterlerine kaydetmelerini isteyin.
Şimdi öğrencilerden Görüntü Sensörünün önüne yapılandırılmış bir nesne ve bilinmeyen veya yapılandırılmamış bir nesne yerleştirmelerini isteyin. Ne oluyor? Bulgularını mühendislik not defterlerine kaydetmelerini isteyin.

Öğrencilere test etmeden önce, Görüntü Sensörünün önüne üç yapılandırılmış nesne yerleştirirlerse ne olacağını sorun. Öğrencilerden test etmeden önce tahminlerini yazmalarını isteyin. Deneyden sonra gözlemlerini kaydetmelerini isteyin.

Soldaki pencerede bir Greenbox ve bir Redbox tutan iki elin gösterildiği Vision Sensor Utility arayüzü. Her renkli küpün üzerinde veri içeren bir katman bulunur. Sağ tarafta Bluebox, Redbox, Greenbox ve Yellowbox'ın imzaları hazır.

Öğrencilerin tahmin ettikleri ve gözlemledikleri konularla ilgili bir tartışmayı kolaylaştırın.

Aşağıdaki soruları sorarak tartışmayı kolaylaştırın:

  • Bir, iki ve üç nesne arasındaki farklar nelerdi?
  • Birden fazla nesneyi tanıyabilmek için projeyi herhangi bir şekilde ayarlayacak mısınız?