Optik Sensör#
giriiş#
optical sınıfı, EXP Optik 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şturucuları#
optical(
int32_t index );
Sınıf Yıkıcısı#
optical nesnesini yok eder ve ilgili kaynakları serbest bırakır.
virtual ~optical();
Parametreler#
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Optik sensörün bağlı olduğu akıllı port, |
Örnekler#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Üye Fonksiyonları#
optical sınıfı aşağıdaki üye işlevlerini içerir:
setLight— Optik Sensörün LED’ini açar veya kapatır.setLightPower— Optik Sensörün ışık gücü seviyesini ayarlar.isNearObject— Optik Sensörün menzil içinde bir nesne algılayıp algılamadığını döndürür.color— Optik Sensör tarafından algılanan rengi döndürür.brightness— Nesneden yansıyan ışık miktarını döndürür.hue— Optik Sensör tarafından algılanan tonu döndürür.objectDetected— Optik Sensör bir nesne algıladığında çağrılacak bir fonksiyonu kaydeder.objectLost— Optik Sensör bir nesneyi kaybettiğinde çağrılacak bir fonksiyonu kaydeder.
Herhangi bir optical üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir optical örneği oluşturulmalıdır:
/* This constructor is required when using VS Code.
Optical Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create an optical instance
optical Optical1 = optical(
PORT1); // Smart Port 1
setLight#
Optik sensörün LED ışığını açar veya kapatır. Bu ışık, optik sensörün nesneleri ve renkleri daha net algılamasına yardımcı olur.
Available Functionsvoid setLight(ledState state);
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
LED’i açar veya kapatır. |
Bu fonksiyon bir değer döndürmez.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Optik sensörün LED’inin parlaklığını ayarlar. Işık, optik sensörün nesneleri ve renkleri daha net algılamasına yardımcı olur.
Optik sensörün ışığı kapalıysa, ışık gücünü %0’ın üzerine ayarlamak ışığı açacaktır.
Optik sensörü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 Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
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.
Optical.setLightPower(50, percent);
isNearObject#
Optik sensör yakındaki bir nesneyi algılarsa geri döner.
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– Optik Sensör bir nesneyi algılıyor.false– Optik sensör bir nesne algılamadı.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
Optik sensör tarafından algılanan rengi döndürür.
Available Functionsvex::color color();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesOptik Sensör tarafından renk sınıfı örneği olarak algılanan renk.
Olası renkler şunlardır:
blackwhitered- 340° - 20° arasında bir renk tonu değerigreen- 80° - 140° arasında bir renk tonu değeriblue- 200° - 240° arasında bir renk tonu değeriyellow- 40° - 60° arasında bir renk tonu değeriorange- 20° - 40° arasında bir renk tonu değeripurple- 240° - 280° arasında bir renk tonu değericyan- 140° - 200° arasında bir renk tonu değeri
// Set a variable, detectColor, to the color detected by the
// Optical Sensor
color detectColor = Optical.color();
// Print the color detected by the Optical Sensor
// to the Brain's screen
Brain.Screen.print(detectColor);
brightness#
Nesneden yansıyan ışık miktarını döndürür.
Yüzde oranının yüksek olması, optik sensöre daha fazla ışığın geri yansıdığı anlamına gelir. Yüzde oranının düşük olması ise daha az ışığın geri yansıdığı 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 |
Optik sensör tarafından algılanan parlaklığı %0 - %100 aralığında bir çift sayı olarak 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 Optical Sensor
double brightness = Optical.brightness();
// Print the brightness detected by the Optical Sensor to the
// Brain's screen
Brain.Screen.print(brightness);
hue#
Algılanan rengin ton değerini 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 ValuesOptik Sensör tarafından algılanan renk tonunun 0 ile 359,99 aralığındaki değerini temsil eden bir double sayı.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Bir nesne algılandığında çalışacak bir geri çağırma fonksiyonu kaydeder.
Available Functionsvoid objectDetected(void (* callback)(void));
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Optik Sensör yeni bir nesne algıladığında yürütülen, önceden tanımlanmış bir fonksiyon. |
Bu fonksiyon bir değer döndürmez.
ExamplesGeri çağırma fonksiyonunu tanımlayın (
int main()dışında)// Called when the Optical Sensor detects an object void detected() { // The Brain will print that the Optical Sensor detected an // object to the Brain's screen. Brain.Screen.print("object detected"); }Geri çağrıyı main() fonksiyonunun içine kaydedin
int main()/* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ int main() { // Run when the Optical Sensor detects an object. Optical.objectDetected(detected); }
objectLost#
Bir nesne kaybolduğunda çalışacak bir geri çağırma fonksiyonu kaydeder.
Available Functionsvoid objectLost(void (* callback)(void));
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Optik Sensör algılanan nesneyi kaybettiğinde yürütülen, önceden tanımlanmış bir fonksiyon. |
Bu fonksiyon bir değer döndürmez.
ExamplesGeri çağırma fonksiyonunu tanımlayın (
int main()dışında)// Called when the Optical Sensor loses an object void lost() { // The Brain will print that the Optical Sensor lost an // object to the Brain's screen. Brain.Screen.print("object lost"); }Geri çağrıyı main() fonksiyonunun içine kaydedin
int main()/* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ int main() { // Run lost when the Optical Sensor loses an object. Optical.objectLost(lost); }