Renk Sensörü#
giriiş#
colorsensor sınıfı, Renk Sensörü’nden veri almak için kullanılır. Nesneleri algılamak, renkleri belirlemek ve parlaklık ile tonu ölçmek için yansıyan ışığı kullanır.
Sınıf Oluşturucu#
colorsensor Color1 = colorsensor(index);
Sınıf Yıkıcısı#
colorsensor nesnesini yok eder ve ilgili kaynakları serbest bırakır.
virtual ~colorsensor();
Parametreler#
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Renk sensörünün bağlı olduğu Akıllı Bağlantı Noktası, |
Örnekler#
// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);
Üye Fonksiyonları#
colorsensor sınıfı aşağıdaki üye fonksiyonlarını içerir:
setLight– Renk Sensörünün LED’ini açar, kapatır veya belirli bir parlaklık seviyesine getirir.isNearObject– Bir nesnenin Renk Sensörüne yakın olup olmadığını döndürür.detects– Belirtilen rengin Renk Sensörü tarafından algılanıp algılanmadığını döndürür.colorname– Renk Sensörü tarafından algılanan rengin adını döndürür.brightness– Bir nesnenin algılanan parlaklığını döndürür.hue– Tespit edilen ton değerini döndürür.
Herhangi bir colorsensor üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir colorsensor örneği oluşturulmalıdır:
/* This constructor is required when using VS Code.
Color Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);
setLight#
Renk sensörünün LED’inin ışık gücünü ayarlar. Bu ışık, renk sensörünün nesneleri ve renkleri daha net algılamasına yardımcı olur.
Renk sensörünün ışığı kapalıysa, ışık gücünü %0’ın üzerine ayarlamak ışığı açacaktır.
Renk sensörünün ışığı yanıyorsa, ışık gücünü %0’a ayarlamak ışığı söndürecektir.
Yüzde oranı ne kadar yüksekse ışık o kadar parlak olur. Yüzde oranı ne kadar düşükse ışık o kadar loş olur.
Available Functions1 —
ledStatekullanarak LED’i açar veya kapatır.void setLight( ledState state );
Parameters2 — LED’i belirli bir yoğunluğa ayarlar.
void setLight( int32_t intensity, percentUnits units = percent );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
LED’i açar veya kapatır. |
|
|
Işık gücü seviyesi 0 ile 100 arasında ayarlanabilir. |
|
|
Işık yoğunluğunu temsil eden birim: % |
Bu fonksiyon bir değer döndürmez.
Examples// Set the light power to 50 percent.
Color1.setLight(50, percent);
isNearObject#
Renk Sensörü yakındaki bir nesneyi algılarsa bu değeri döndürür.
Available Functionsbool isNearObject();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesBu fonksiyon, yakındaki bir nesnenin tespit edilip edilmediğini gösteren bir Boolean değeri döndürür:
true– Renk Sensörü bir nesne algılıyor.false– Renk sensörü bir nesne algılamıyor.
// If an object is detected by the Color Sensor, print
// "near object".
if (Color1.isNearObject()){
Brain.Screen.print("near object");
}
detects#
Renk sensörünün belirtilen rengi algılayıp algılamadığını döndürür.
Available Functions1 — Detects a
colorType.bool detects( colorType color );
Parameters2 — Detects a
vex::color.bool detects( vex::color color );
Parametreler |
Tip |
Tanım |
|---|---|---|
|
|
A valid color:
|
|
|
Geçerli bir özel renk veya yukarıda listelenen önceden tanımlanmış renklerden biri. |
true– Renk Sensörü rengi algılar.false– Renk sensörü rengi algılamıyor.
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Drive until a red object is seen
Drivetrain.drive(forward);
while (true) {
if (Color1.detects(red)) {
Drivetrain.stop();
break;
}
wait(0.5, seconds);
}
}
colorname#
Tespit edilen en yakın eşleşen rengi döndürür.
Available FunctionscolorType colorname();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesDoğrudan yazdırıldığında, o renkle ilişkili sayısal değeri gösterir:
Renk |
Sayısal Değer |
|---|---|
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
VEXcode, Aygıtlar penceresinde bir Renk Sensörü yapılandırıldığında
convertColorToStringfonksiyonunu otomatik olarak oluşturur. Bu fonksiyon yalnızca VEXcode IQ projelerinde kullanılabilir ve diğer ortamlarda çalışmaz.VEXcode dışında
colornamekullanılırken, karşılaştırmalar doğrudancolorTypedeğeriyle yapılmalıdır —colorType::ile başlayan herhangi bir renk (örneğin,colorType::greenveyacolorType::red).
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Continuously check the detected color
while (true) {
// Compare the color name with "red"
if (convertColorToString(Color1.colorname()) == "red") {
Brain.Screen.print("Red object!");
} else {
Brain.Screen.print("Not red");
}
wait(0.5, seconds);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
}
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Continuously check the detected color
while (true) {
// Compare the color name with the colorType
if (Color1.colorname() == colorType::red) {
Brain.Screen.print("Red object!");
} else {
Brain.Screen.print("Not red");
}
wait(0.5, seconds);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
}
}
brightness#
Nesneden yansıyan ışık miktarını döndürür.
Yüzde oranının yüksek olması, renk sensörüne daha fazla ışığın geri yansıtıldığı anlamına gelir. Yüzde oranının düşük olması ise daha az ışığın geri yansıtıldığı anlamına gelir.
Available Functionsdouble brightness(bool bRaw = false);
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Parlaklık verilerini yüzde yerine ham olarak okumak için kullanılan bir Boolean değeri. Varsayılan değer |
Renk sensörü tarafından algılanan parlaklığı %0 - %100 aralığında temsil eden bir çift sayı veya sensör tarafından algılanan ham veriyi temsil eden bir çift sayı.
Examples// Set a variable, brightness, to the value of the brightness
// detected by the Color Sensor
double brightness = Color1.brightness();
// Print the brightness detected by the Color Sensor to the
// Brain's screen
Brain.Screen.print(brightness);
hue#
Renk sensörü tarafından algılanan renk tonunu döndürür.
Renk tonu, renk çemberi üzerindeki sayılar kullanılarak rengi tanımlamanın bir yoludur.

double hue();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesRenk Sensörü tarafından algılanan renk tonunun 0 ile 359,00 aralığındaki değerini temsil eden bir double değer.
Examples// Set a variable, hue, to the value of the hue detected
// by the Color Sensor.
double hue = Color1.hue();