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 buradan satın alınabilir

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


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.


360 derecelik dairenin bir renk tonu değerine nasıl karşılık geldiğini gösteren renk çemberi. Kırmızı renk 0. derecede, yeşil renk 120. derecede, mavi renk ise 240. derecededir.


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

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

Renkleri Algılama

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

Parlak bir yüzeyi algılayan ve %80'lik bir değer bildiren, ardından koyu bir yüzeyi algılayan ve %20'lik bir değer bildiren bir Renk Sensörünün şeması.

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örü ışık bloğunu Set Color3 light'ı %50'ye ayarlayın.

Karanlık bir ortamda bir robota takılı Renk Sensörü gösterilmektedir. Renk Sensörünün lambası etrafını aydınlatacak şekilde 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. Birincisi Color3 renk adının yazılı olduğu bloğun rengi. İkincisi ise Color3 tonunu derece cinsinden gösteren bir bloktur. Üçüncüsü, Color3'ün hiçbirini algılamadığını belirten 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'ün algıladığı bloğu algılamıyor mu? Bloğun Renk açılır menüsü açılır ve algılayabileceği renklerin listesi gösterilir. 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 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 bir renk tonu değerine nasıl karşılık geldiğini gösteren renk tonu değer diyagramı. Kırmızı renk 0. derecede, yeşil renk 120. derecede, mavi renk ise 240. derecededir.

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.

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

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. 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

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ı

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: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_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(İLERİ)
color_3.is_near_object() değilken:
wait(20, MSEC)
drivetrain.stop()
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.
renk_3.renk()

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

drivetrain.drive(İLERİ)
color_3.GREEN() değilken:
wait(20, MSEC)
drivetrain.stop()
Bu örnekte, not koşuluna sahipWhile döngüsü, color.color komutuyla birlikte kullanılarak, Renk Sensörü yeşil bir nesne algılayana kadar robotun ileri doğru hareket etmesi sağlanır. Robot daha sonra sürüşü durduracaktır. Bu, yukarıdaki ilk videoda gösterilmektedir.
renk_3.parlaklık()

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.

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

brain.screen.print(color_3.hue())
drivetrain.drive(İLERİ)
while not color_3.is_near_object():
wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain.turn_for(SAĞ, 90, DERECE)
else:
drivetrain.turn_for(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: