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.
Renk Sensörünün Açıklaması
VEX IQ Renk Sensörü, ortamından farklı türdeki bilgileri 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.
Renk tonu değerleri.Ton değerleri renk değerlerine benzer ancak sayısaldır. 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ı tespit ederken Renk Sensörünün bunu yapmak için uygun miktarda ışığa sahip olması önemlidir. Robotunuzun Renk Sensörü için en güvenilir ayarın hangisi olduğunu belirlemek amacıyla, kalibrasyon olarak da bilinen Renk Sensörünüzü farklı ışık seviyelerinde ve lamba farklı seviyelere ayarlanmış halde test ettiğinizden emin olun.
Yakınlığı Algılama
Renk Sensörü bir kızılötesi sensör yayıcı içerir. Kızılötesi yayıcı görünmez bir ışık yayar ve ardından yansımasını algılar. Kızılötesi ışığın çoğu sensöre geri dönerse Robot Beynine bir nesnenin yakın 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 hayattaki bazı yaygın kullanımlar ş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 bazı yaygın kullanım alanları şunlardır:
- Bu sensör bir nesnenin rengini tespit etmek için kullanılabilir.
- Bu sensör bir çizgiyi tespit etmek ve/veya takip etmek için kullanılabilir.
- Bu sensör yakınlarda bir nesnenin olup olmadığını tespit edebiliyor.
Yarışma Robotunda Renk Sensörleri
Renkleri ve tonları tespit ederken Renk Sensörünün bunu yapacak yeterli miktarda ışığa sahip olmasının önemli olduğunu unutmayın. Farklı ışık seviyeleri Renk Sensörünüzün performansını etkileyebileceğinden, yeni bir yarışma alanına her geldiğinizde Renk Sensörünüzü kalibre etme olarak da bilinen test ettiğinizden emin olun. Robotunuzun Renk Sensörü için en güvenilir ayarın hangisi olduğunu belirlemek amacıyla projenizi farklı seviyelerdeki lamba seti ile test edin.
Renk Sensörü tarafından toplanan bilgiler, rekabetçi bir robotun çeşitli koşullara yanıt verecek şekilde programlanması için faydalıdır. Renk Sensörü bir yarışma 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:Python'da bir VEX IQ (1. nesil) Bumper Switch'i kodlamak için bunun bir VEX IQ (2. nesil) Beynine bağlanması gerekir. VEX IQ (1. nesil) Brain Python'u desteklemez.
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, değil koşuluna sahip birWhile döngüsü, color.is_near_object komutuyla birlikte Renk Sensörü robotun önüne yakın bir nesne algılayana kadar robotun ileri gitmesini sağlamak için kullanılır. sensör.
color.color komutu, Renk Sensörü tarafından o anda algılanan rengi bildirir.
Bu örnekte, robotun Renk Sensörü yeşil bir nesne algılayana kadar ileri gitmesini sağlamak için color.color komutuyla birlikte değil koşuluna sahip birWhile döngüsü kullanılır. Robot daha sonra sürüşü durduracaktır. Bu, yukarıdaki ilk videoda gösterilmektedir.
renk.parlaklık komutu, Renk Sensörü tarafından algılanan ışık miktarını bildirir. %0 - %100 arasında bir değer aralığı rapor eder.
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.
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.