Optik Sensör#
giriiş#
optical sınıfı, Optik Sensör’den 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#
optical Optical = optical(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 object in Port 1
optical Optical1 = optical(PORT1);
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 ışığının parlaklığını ayarlar. Işık, optik sensörün nesneleri ve renkleri daha net algılamasına yardımcı olabilir.
Yüzde oranı ne kadar yüksekse ışık o kadar parlak olur. Yüzde oranı ne kadar düşükse ışık o kadar loş 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.
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ün menzil içinde bir nesne algılayıp algılamadığını 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— Yakında bir nesne tespit edildi.false— Bir nesne algılanmadı.
// 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 renk tonu değerine bağlı olarak, 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:
blue– Renk tonu değeri 196° ile 229° arasındablue_green– 140° ile 195° arasında renk tonu değeriblue_violet– 230° ile 239° arasında renk tonu değerigreen– Renk tonu değeri 84° ile 139° arasındaorange– Renk tonu değeri 21° ile 30° arasındared– Renk tonu değeri 350° ile 14° arasındared_orange– 15° ile 20° arasında renk tonu değerired_violet– Renk tonu değeri 281° ile 350° arasındaviolet– Renk tonu değeri 240° ile 280° arasındayellow– Renk tonu değeri 54° ile 74° arasındayellow_green– Renk tonu değeri 75° ile 83° arasındayellow_orange– Renk tonu değeri 31° ile 53° arasında
// 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#
Optik sensöre geri 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 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#
Optik 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 ValuesOptik sensör tarafından algılanan renk tonunun 0 ile 359,00 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); }