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 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.
Renk Sensörü Nasıl Çalışır?
Renk sensörü hem rengi hem de yakınlığı algılayabilir.
Renkleri Algılama
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.
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:
Renk Sensörü gördüğü rengi renk değeri veya renk tonu değeri olarak raporlayabilir.
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.
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.
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ı
<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.
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.
<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.
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.
(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.
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.
(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.
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.
|
| 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.
|
| 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.
|
| 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
|
|
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. |