VEX IQ (1. nesil) Renk Sensörünün Kullanımı

Renk sensörü, bir nesnenin rengini, renk tonu değerini, gri tonlama değerini, parlaklığını ve yakınlığını algılamak için yansıyan ışığı kullanır.

VEX IQ (1. nesil) Renk Sensörü parçası.

VEX IQ Renk Sensörü, VEX IQ Süper Kit'e dahildir ve ayrıca da alınabilir.

2. Nesil VEX IQ Robotu mu kullanıyorsunuz? İkinci nesil sensörlere genel bir bakış için burayabakın ve Renk Sensörünün nesil versiyonu olan Optik Sensörhakkında bilgi edinin.


Renk Sensörünün Açıklaması

VEX IQ Renk Sensörü, çevresinden farklı türde bilgiler yakalamasına olanak tanıyan birden fazla moda sahiptir. Topladığı bilgiler, bulunduğu ortamın aydınlatma koşullarından ve sensör ile okuduğu nesne veya yüzey arasındaki mesafeden etkilenir.


360 derecelik dairenin renk tonu değeriyle nasıl ilişkili olduğunu gösteren renk çemberi. Kırmızı rengin derecesi 0, yeşil rengin derecesi 120 ve mavi rengin derecesi 240'tır.


Renk Sensörü Nasıl Çalışır?

Renk sensörü hem rengi hem de yakınlığı algılayabilir.

Renkleri Algılama
VEXcode IQ Parlaklık değeri, Color3 parlaklığını % olarak gösteren bloğun parlaklığını gösterir.
Parlak bir yüzeyi algılayıp %80 değerini, ardından koyu bir yüzeyi algılayıp %20 değerini bildiren bir renk sensörünün diyagramı.

Parlaklık modundayken Renk Sensörü, robotun ortamındaki tüm ışığın yoğunluğunu algılamak için kullanılır. Renk Sensörü aktif durumdayken ne kadar çok ışık ulaşırsa Robot Beynine gönderilen yüzde değeri de o kadar yüksek olur.

VEXcode IQ Set renk sensörlü ışık bloğu, "Renk 3'ü %50'ye ayarla" mesajını okur.
Karanlık bir ortamda bir robota takılı olarak gösterilen renk sensörü. Renk sensörünün lambası, çevresini aydınlatmak için açılır.

Algılanan parlaklık yüzdesi düşükse veya güvenilmezse Renk Sensörünün lambası açılabilir veya aşağıdaki ışık ayarını kullanarak bloke etmek için lambanın parlaklık yüzdesi artırılabilir:

Üç adet VEXcode IQ Renk Sensörü bloğu. İlki, Color3 renk adını taşıyan bloğun rengidir. İkincisi, Color3 tonunu derece cinsinden gösteren bir Ton bloğudur. Üçüncüsü, "Color3 hiçbirini algılamıyor mu?" şeklinde okunan bir Renk algılama bloğudur.

Renk Sensörü gördüğü rengi renk değeri veya renk tonu değeri olarak raporlayabilir.

VEXcode IQ Color, Color3 yazan bloğu algılıyor, ancak hiçbirini algılamıyor mu? Bloğun Renk açılır menüsü, algılayacağı renklerin listesini göstermek için açılır. Listede turuncu, mor, kırmızı menekşe, menekşe, mavi menekşe, mavi yeşil, sarı yeşil, sarı turuncu ve kırmızı turuncu renkleri yer alıyor.

Renk değerleri.Renk Sensörünün algılayabildiği listelenmiş 14 renk vardır. Bloğun görüntüsünde eksik olan renkler kırmızı, yeşil, mavi, beyaz ve sarıdır.

360 derecenin renk tonu değeriyle nasıl ilişkili olduğunu gösteren renk tonu değeri diyagramı. Kırmızı rengin derecesi 0, yeşil rengin derecesi 120 ve mavi rengin derecesi 240'tır.

Ton değerleri.Ton değerleri, renk değerlerine benzer ancak sayısal değerlerdir. Renk tonu değeri derece gibi 0 ile 360 ​​arasında değişir. Yukarıda listelenen renk değerlerinin kendi eşdeğer renk tonu değeri aralıkları vardır. 

Renkleri ve tonları algılarken, renk sensörünün bunu yapabilmesi için yeterli miktarda ışığa sahip olması önemlidir. Robotunuzun renk sensörü için en güvenilir ayarı belirlemek amacıyla, renk sensörünüzü farklı ışık seviyelerinde ve lambanın farklı ayarlarında test etmeyi (kalibre etmeyi) unutmayın.

Yakınlığı Algılama

Renk sensörü, kızılötesi sensör-verici içerir. Kızılötesi verici görünmez bir ışık yayar ve ardından bunun yansımasını algılar. Kızılötesi ışığın büyük kısmı sensöre doğru geri yansırsa, bu durum robot beynine bir nesnenin yakınlarda olduğunu bildirir.

VEXcode IQ, Color3'ün nesneye yakın olduğunu belirten bir nesne bloğu buldu.

Renk Sensörünün Ortak Kullanımları

Renk sensörleri, ekranlarda veya ürünlerde belirli renklerin bulunmasının önemli olduğu birçok teknoloji uygulamasında kullanılır.

Günlük hayatta sıkça kullanılan bazı örnekler şunlardır:

  • Renk kalibrasyon araçları, dijital ekranın doğru renkleri gösterip göstermediğini kontrol eder ve ardından ekran ayarlarını gerektiği gibi yapar. Grafik sanatçılarının ve dijital ekranda renklerle çalışan herhangi bir tasarımcının, tam olarak doğru rengin görüntülendiğini görebilmesi önemlidir. Renkler doğru olmadığında yanlış anlaşılmalar ve kaynakların israfı ortaya çıkar.
  • Kameralar ve video kameralar, ışık seviyelerini en üst düzeye çıkararak ve normalde donuk olan renkleri iyileştirerek fotoğraflarını ve videolarını geliştirmek amacıyla, bulundukları aydınlatma koşullarına göre ayarları yapmak için renk sensörlerini kullanır. Bu sensörler aynı zamanda fotoğrafçının fotoğraflarındaki belirli renklere odaklanmasına da olanak tanır.
  • Renk sensörleri bazen üretimde, bir ürünün müşteriye gönderilmeden önce doğru renge sahip olup olmadığını hızlı bir şekilde denetlemek için kullanılır. Örneğin olgunlaştığında veya yenmeye hazır hale geldiğinde renk değiştiren meyve ve sebzeler taranarak pazara gönderilecek doğru renkte olduklarından emin olunabilir. 


VEX IQ Robotunun yaygın kullanım alanlarından bazıları şunlardır:

  • Bu sensör bir nesnenin rengini tespit etmek için kullanılabilir. Bir robotun Renk Sensörü Yeşil Küpü algılayana kadar ileriye doğru hareket ettiğini görmek için bu animasyonu izleyin.

  • Bu sensör bir çizgiyi tespit etmek ve/veya takip etmek için kullanılabilir. Bir robotun Renk Sensörünü kullanarak işaretli bir çizgi boyunca ilerlemesini görmek için bu animasyonu izleyin.

  • Bu sensör yakınlarda bir nesnenin olup olmadığını tespit edebiliyor.

Yarışma Robotunda Renk Sensörleri

Unutmayın, renkleri ve tonları algılarken Renk Sensörünün bunu yapabilmesi için yeterli miktarda ışığa sahip olması önemlidir. Renk sensörünüzün performansını etkileyebilecek farklı ışık seviyeleri nedeniyle, yeni bir yarışma alanına her vardığınızda renk sensörünüzü test etmeyi (kalibre etmeyi) unutmayın. Projenizi, lambayı farklı seviyelerde ayarlayarak test edin ve robotunuzun renk sensörü için en güvenilir ayarın hangisi olduğunu belirleyin. 

Renk Sensörü tarafından toplanan bilgiler, rekabetçi bir robotun çeşitli koşullara yanıt vermesini programlamak için faydalıdır. Renk sensörü, bir yarış robotunu aşağıdaki şekillerde daha iyi hale getirebilir:

  • Robotun sensörün yakınındaki bir nesnenin rengini algılamasını sağlar. Robotun farklı renkli nesneleri sıralamasını, özel olarak renkli bir nesneye yaklaşmasını veya sensörden geçen nesnelerin rengini algılamasını istiyorsanız bu kullanışlıdır.
  • Robotun sensöre ne kadar ışığın geri yansıdığını tespit etmesini sağlar. Bu, robotunuzun yüzeydeki bir çizgiye ulaşana kadar ilerlemesine, hatta bir çizgiyi takip etmesine olanak tanır.
  • Robotun bir nesnenin veya yüzeyin yakında olup olmadığını bilmesini sağlar. Bu, algılanan rengin yakındaki bir nesneden gelen bir okuma mı yoksa potansiyel olarak uzak bir yüzeyin veya ışığın anormal bir okuması mı olduğunu belirlemede yardımcı olur. 

Renk Sensörünün Bloklar halinde Kodlanması

VEXcode IQ Color3 nesnesinin yakınında bir nesne bloğu bulundu?

<Found an object> bloğu, bir koşulu doğru veya yanlış olarak bildiren bir Boole raportör bloğudur. Boolean blokları, <Found an object> bloğu gibi, diğer bloklar için altıgen (altı taraflı) girişlere sahip blokların içine sığar.

<Found an object> Boolean bloğu, Renk sensörü bir nesne algılarsa 'doğru' ise 'doğru', algılamıyorsa 'yanlış' rapor eder. Boole blokları hakkında daha fazla bilgi edinmek için Yardım veya Blok Şekli ve Anlamı makalesini ziyaret edin.

 

VEXcode IQ, bir nesneyi bulana kadar ileriye doğru ilerlemek için Renk Sensörü kullanan bir projeyi engeller. Proje şu şekildedir: Başladığınızda, ileri doğru sürün, Color3 bir nesne bulana kadar bekleyin ve ardından sürüşü durdurun.

Bu örnekte, <Found an object> bloğu, robotun bir nesne algılanana kadar ileri gitmesini sağlamak amacıyla [Wait Until] bloğuyla birlikte yakınlığı algılamak için kullanılır.

VEXcode IQ Color, Color3'ün yeşil algıladığını belirten bloğu algılıyor mu?

<Color detects> bloğu aynı zamanda bir koşulu doğru veya yanlış olarak bildiren bir Boole raportör bloğudur. <Color detects> bloğu, Renk sensörü seçilen rengi algılarsa 'doğru'yu, sensör başka bir renk algılarsa 'yanlış'ı bildirir. Boole blokları hakkında daha fazla bilgi edinmek için Yardım veya Blok Şekli ve Anlamı makalesini ziyaret edin.

 

VEXcode IQ, yeşil rengi algılayana kadar ileriye doğru hareket eden bir Renk Sensörü kullanan projeyi engeller. Proje şu şekildedir: Başladığınızda, ileri doğru sürün, Color3 yeşil ışığı algılayana kadar bekleyin ve ardından sürüşü durdurun.

Bu örnekte, robotun Renk Sensörü yeşil bir nesne algılayana kadar ileri gitmesini sağlamak için <Color detects> bloğu bir [Wait Until] bloğuyla birlikte kullanılır. Robot daha sonra sürüşü durduracaktır. Bu, yukarıdaki ilk videoda gösterilmektedir.

VEXcode IQ Color3 parlaklığını % olarak okuyan bloğun parlaklığı.

(Parlaklık) bloğu, Renk Sensörü tarafından algılanan ışık miktarını bildirir. Dairesel boşluklu diğer blokların içinde kullanılan raportör bloktur.

(Parlaklığı) bloğu % ila %100 arasında bir aralık bildirir.

 

VEXcode IQ, işaretli bir çizgiyi takip etmek için aşağı bakan bir Renk Sensörü kullanan projeyi engeller. Projeye başlandığında Color3 ışığını %25'e ayarlayın. Sonra, sonsuza kadar eğer Color3 parlaklığı % olarak 25'ten büyükse o zaman LeftMotor'u 35 derece ileri döndür, değilse RightMotor'u 35 derece ileri döndür.

Bu örnekte (Parlaklık) bloğu, yukarıdaki ikinci videoda gösterildiği gibi robotun bir çizgiyi algılaması ve takip etmesi için kullanılır.

Color3 tonunu derece cinsinden okuyan bloğun VEXcode IQ Hue'su.

(Ton) bloğu, Renk Sensörü tarafından algılanan rengin tonunu bildirir. Dairesel boşluklu diğer blokların içinde kullanılan raportör bloktur.

(Parlaklığı) bloğu 0 ila 360 aralığını bildirir.

 

VEXcode IQ, bir Optik Sensör kullanarak ileriye doğru hareket eden ve bir nesneye ulaşana kadar ilerleyen, kırmızıysa sağa, kırmızı değilse sola dönen bir projeyi engeller. Proje şu şekildedir: Başladığınızda, Color3 tonunu Brain'e derece cinsinden yazdırın, ileri doğru sürün ve ardından Color3 bir nesne bulana kadar bekleyin. Eğer Color3 tonu derece cinsinden 330'dan büyükse ve Color3 tonu derece cinsinden 30'dan küçükse 90 derece sağa dönün, aksi takdirde 90 derece sola dönün.

Bu örnekte (Hue of) bloğu, robotun kırmızı renge karşılık gelen bir dizi renk tonu değerini kontrol etmesini ve bu değerlerin sensör tarafından algılanması durumunda 90 derece sağa dönmesini sağlamak için kullanılır. Başka renk tonu değerleri algılanırsa robot 90 derece sola dönecektir.

(Ton) bloğu, ortamdaki ışık koşullarının tutarsız olabileceği durumlarda robotun belirli renkleri algılaması gerektiğinde yararlı olabilir.

Python'da Renk Sensörünü Kodlama

Not:VEX IQ (1. nesil) Bumper Switch'i Python'da kodlamak için, VEX IQ (2. nesil) Brain'e bağlı olması gerekir. VEX IQ (1. nesil) Brain, Python'ı desteklemiyor.

renk_3.nesneye_yakın()

color.is_near_object komutu, bir Renk sensörü sensörün önüne yakın bir nesne veya yüzey algıladığında Doğru bildirir ve Renk Sensörü sensörün önüne yakın bir nesneyi veya yüzeyi algılamadığında bildirir sensör.

Not:Komutta görünen Renk Sensörünün adı, yapılandırmada verilen isme karşılık gelir. 

drivetrain.drive(FORWARD)
while not color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
Bu örnekte, Renk Sensörü sensörün ön tarafına yakın bir nesne algılayana kadar robotun ileri doğru hareket etmesini sağlamak için,While döngüsü ve not koşulu color.is_near_object komutu kullanılmıştır.
renk_3.renk()

color.color komutu, Renk Sensörü tarafından şu anda algılanan rengi bildirir.

drivetrain.drive(FORWARD)
while not color_3.GREEN():
    wait(20, MSEC)
drivetrain.stop()
Bu örnekte, Renk Sensörü yeşil bir nesne algılayana kadar robotun ileri doğru hareket etmesini sağlamak içinWhile döngüsü ve not koşulu color.color komutu kullanılmıştır. Robot daha sonra hareket etmeyi durduracaktır. Bu durum yukarıdaki ilk videoda gösterilmiştir.
renk_3.parlaklık()

color.brightness komutu, Renk Sensörü tarafından algılanan ışık miktarını bildirir. %0 ile %100 arasında değişen değerler bildirir.

color_3.set_light(25, PERCENT)
    while True:
        if color_3.brightness() > 25:
            # Renk Sensörü ışığı algılarsa, robot sola kayar
            LeftMotor.spin_for(FORWARD, 35, DEGREES)
        else:
            # Renk Sensörü karanlığı algılarsa, robot sağa kayar
            RightMotor.spin_for(FORWARD, 35, DEGREES)
        wait(20, MSEC)
Bu örnekte yukarıdaki ikinci videoda gösterildiği gibi robotun bir çizgiyi algılayıp takip etmesi için color.brightness komutu kullanılıyor.
renk_3.renk_tonu()

color.hue komutu, Renk Sensörü tarafından algılanan rengin tonunu bildirir. 0'dan 360'a kadar renk tonu değerleri aralığını bildirir

beyin.ekran.yazdır(color_3.hue())
tahrik sistemi.sür (İLERİ)
color_3 nesneye yakın değilse:
    bekle (20 MSEC)
eğer color_3.hue() > 330 ve color_3.hue() < 30:
    tahrik sistemi.dön (SAĞA, 90, DERECE)
aksi halde:
    tahrik sistemi.dön (SOL, 90, DERECE)

Bu örnekte, color.hue komutu, robotun kırmızı renge karşılık gelen bir dizi renk tonu değerini kontrol etmesini ve bu değerlerin sensör tarafından algılanması durumunda 90 derece sağa dönmesini sağlamak için kullanılır. Başka renk tonu değerleri algılanırsa robot 90 derece sola dönecektir.

color.hue komutu, ortamdaki ışık koşullarının tutarsız olabileceği durumlarda robotun belirli renkleri algılaması gerektiğinde yararlı olabilir.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: