Renk Sensörünü Programlama
Bu öğreticiyi takip ederken yeni bir OpMode oluşturmanız önerilir. Bizim OpMode'umuzun adı "HelloRobot_ColorSensor"!
Renk ve ışık sensörleri menüsü, aşağıda gösterildiği gibi "Sensors" (Sensörler) sekmesinde bulunur:


Renk Sensörü Temelleri:
Bir dokunma sensörü, bilgi toplamak için fiziksel bir anahtar kullanırken, bir renk sensörü yansıyan ışığı kullanır. Bu sayede sensör, gördüğü ışık miktarını, bir yüzeye olan mesafeyi ve önündeki rengin ne olduğunu belirlemek için farklı veriler toplar.
Ama renk nedir? Robotumuzda, üç temel bileşene odaklanacağız: hue (ton), saturation (doygunluk) ve value (değer). Bunlarla, robotumuzun gördüğü şeyleri tanımlayabilmesi için HSV renk modelini kullanabiliriz.
HSV, dijital boyama programlarında renk seçiciler oluşturmak, fotoğrafları düzenlemek ve vizyon kodlaması yapmak gibi işlerde kullanılan silindirik bir RGB renk modelidir.
Hue (Ton): Rengin genel rengi
Saturation (Doygunluk): Rengin canlılığı
Value (Değer): Rengin parlaklık düzeyi
HSV, robotumuza gördüğü rengi anlamada ve renkli oyun parçalarını tanımada yardımcı olacak temel bir araçtır.
Işık ve Karanlık Algılama
Renkleri ele almadan önce, robotumuzu renk sensörünü kullanarak ne kadar ışık yansıttığını söylemesi için programlayalım.
Bunun için, döngümüze bir
blok ekleyelim. "Key" parametresini "Light detected" olarak ayarlayalım:

Key parametresine "Light detected" değerini ekledikten sonra, renk sensörü menüsünden blok alıp, "number" parametresine yerleştireceğiz:

Hızlı Kontrol!
Programınızı test etmeye başladığınızda, renk sensörünüzün neler algıladığını gözlemleyin! Test sırasında şu soruları düşünün:
Daha fazla ışık algılandığında sayı artıyor mu yoksa azalıyor mu?
Renk sensörü farklı renk yüzeylere baktığında ne oluyor?
Renk sensörünün LED ışığını açıp kapattığınızda değer değişiyor mu?
Işıklandırma değiştiğinde ya da bir gölge oluştuğunda değer değişiyor mu?
Değişkenler Kurma
Şimdi, programımızda birkaç değişken belirleyelim.

Değişkenlerin ne olduğunu daha detaylı olarak Bölüm 2: Robot Kontrolü'nde inceleyeceğiz, ancak bu örnekte robotumuza topladığı verileri daha anlaşılır bir şekilde çevirmesi için değişkenler kullanacağız. Bu değişkenlerimiz "color", "hue", "saturation", "value", ve "normalizedColors" olacak.

Normalizasyon
Renk normalizasyonu, görsel programlamada, ışık ve gölgelerden kaynaklanan farkları dengelemek için kullanılan bir tekniktir. Bu, renk tonlarının değişmesini de etkiler. Örneğin, mavi rengin birçok tonunu (cyan, lacivert, akvamarin gibi) görmek mümkündür, ancak robotumuz bunları tek bir mavi olarak referans alacaktır.
Değişken Tanımlama
Şimdi değişkenlerimizi adlandırdık, onları farklı değerlere ayarlamamız gerekiyor.
Değişkenler menüsünden
blok'u seçelim.Menüden "normalizedColors" değerini seçip, ardından renk sensörü menüsünden uygun
blok ile "Light detected" telemetrisinin altına ekleyelim:
Sonraki adımda, tüm değişkenler için set blokları ekleyeceğiz:

Her birine, Utilities altındaki Color menüsünden karşılık gelen bloğu bağlayalım:

NormalizedColors listede en altta yer alır. Değişken adını varsayılan "myColor"'dan değiştireceğiz.

"Color" değişkeni, "normalizedColors" ile eşleşirken, diğerleri "color" olarak ayarlanacaktır.
Şimdi, renk sensörünün algıladığı değerleri görmek için telemetri blokları ekleyebiliriz!
Last updated