مستشعر بصري#

مقدمة#

The optical class is used to access data from the V5 Optical Sensor. It uses reflected light to detect objects, identify colors, and measure brightness and hue.

مُنشئ الفئة#

optical Optical = optical(index);

مُدمِّر الفئة#

يدمر الكائن البصري optical.

virtual ~optical();

حدود#

المعلمة

يكتب

وصف

index

int32_t

المنفذ الذكي الذي يتصل به المستشعر البصري، مكتوبًا على النحو التالي: PORTx، حيث x هو رقم المنفذ (على سبيل المثال، PORT1).

أمثلة#

// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);

الدوال الأعضاء#

The optical class includes the following member functions:

  • setLight — يقوم بتشغيل أو إيقاف تشغيل مؤشر LED الخاص بالمستشعر البصري.

  • setLightPower — يحدد مستوى طاقة الضوء للمستشعر البصري.

  • isNearObject — تُرجع ما إذا كان المستشعر البصري يكتشف وجود جسم ضمن النطاق.

  • color — يعيد اللون الذي تم اكتشافه بواسطة المستشعر البصري.

  • brightness — تُرجع كمية الضوء المنعكس من الجسم.

  • hue — تُرجع اللون الذي تم اكتشافه بواسطة المستشعر البصري.

  • objectDetected — يسجل دالة ليتم استدعاؤها عندما يكتشف المستشعر البصري وجود جسم.

  • objectLost — يسجل دالة يتم استدعاؤها عندما يفقد المستشعر البصري كائنًا.

Before calling any optical member functions, an optical instance must be created, as shown below:

// Create an optical object in Port 1
optical Optical1 = optical(PORT1);

setLight#

يُشغّل أو يُطفئ مؤشر LED الخاص بالمستشعر البصري. يساعد هذا الضوء المستشعر البصري على اكتشاف الأجسام والألوان بشكل أوضح.

Available Functions
void  setLight(ledState state);

Parameters

المعلمة

يكتب

وصف

state

ledState

Sets the LED on or off. ledState::on turns the LED on at 100% brightness. ledState::off turns it off.

Return Values

هذه الدالة لا تُرجع قيمة.

Examples
// Turn on LED with previous intensity.
Optical.setLight(ledState::on);

setLightPower#

يضبط هذا الخيار سطوع مؤشر LED الخاص بالمستشعر البصري. يساعد هذا الضوء المستشعر البصري على اكتشاف الأجسام والألوان بشكل أكثر وضوحًا.

إذا كان ضوء المستشعر البصري مطفأً، فإن ضبط طاقة الضوء فوق 0% سيؤدي إلى تشغيل الضوء.

إذا كان ضوء المستشعر البصري مضاءً، فإن ضبط طاقة الضوء على 0% سيؤدي إلى إطفاء الضوء.

نسبة أعلى تجعل الضوء أكثر سطوعاً. نسبة أقل تجعل الضوء أقل سطوعاً.

Available Functions
void setLightPower( 
      int32_t      intensity, 
      percentUnits units = percent );

Parameters

المعلمة

يكتب

وصف

intensity

int32_t

مستوى الطاقة لضبط الإضاءة من 0 إلى 100.

units

percentUnits

The unit that represents the light intensity: percent / pct — percent

Return Values

هذه الدالة لا تُرجع قيمة.

Examples
// Set the light power to 50 percent.
Optical.setLightPower(50, percent);

isNearObject#

يُرجع قيمة إذا اكتشف المستشعر البصري جسمًا قريبًا.

Available Functions
bool  isNearObject();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

تُرجع هذه الدالة قيمة منطقية تشير إلى ما إذا تم اكتشاف جسم قريب أم لا:

  • true - يكتشف المستشعر البصري وجود جسم.

  • false - لا يكتشف المستشعر البصري وجود جسم.

Examples
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
  Brain.Screen.print("near object");
}

color#

يعيد اللون الذي تم اكتشافه بواسطة المستشعر البصري.

Available Functions
vex::color  color();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

اللون الذي تم اكتشافه بواسطة المستشعر البصري كمثال على فئة اللون.

الألوان الممكنة هي:

  • black

  • white

  • red - قيمة لونية بين 340° - 20°

  • green - قيمة لونية بين 80° - 140°

  • blue - قيمة لونية بين 200° - 240°

  • yellow - قيمة لونية بين 40° - 60°

  • orange - قيمة لونية بين 20° - 40°

  • purple - قيمة لونية بين 240° - 280°

  • cyan - قيمة لونية بين 140° و 200°

Examples
// 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#

يُعيد مقدار الضوء المنعكس من الجسم.

نسبة أعلى تعني انعكاس المزيد من الضوء إلى المستشعر البصري. نسبة أقل تعني انعكاس كمية أقل من الضوء.

Available Functions
double  brightness(bool bRaw = false);

Parameters

المعلمة

يكتب

وصف

bRaw

bool

قيمة منطقية لقراءة بيانات السطوع الخام بدلاً من النسبة المئوية. القيمة الافتراضية هي false.

Return Values

قيمة مزدوجة تمثل السطوع الذي تم اكتشافه بواسطة المستشعر البصري كقيمة مزدوجة في النطاق 0 - 100٪، أو قيمة مزدوجة تمثل البيانات الأولية التي تم اكتشافها بواسطة المستشعر.

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#

يُعيد قيمة درجة اللون المكتشف.

اللون هو طريقة لوصف اللون باستخدام الأرقام الموجودة على عجلة الألوان.

عجلة ألوان VEX توضح درجات الألوان حول دائرة، حيث يكون اللون الأحمر عند الدرجة 0 ويتدرج عبر قوس قزح مع زيادة القيمة.

Available Functions
double hue();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

قيمة مزدوجة تمثل قيمة اللون الذي تم اكتشافه بواسطة المستشعر البصري في النطاق 0 - 359.99.

Examples
// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();

objectDetected#

يسجل دالة رد نداء عند اكتشاف كائن ما.

Available Functions
void objectDetected(void (* callback)(void));

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

A previously defined function that executes when the Optical Sensor detects a new object.

Return Values

هذه الدالة لا تُرجع قيمة.

Examples

عرّف دالة الاستدعاء (خارج نطاق int main())

// Display a message when the Optical Sensor detects an object.
void detected() {
  Brain.Screen.print("object detected");
}

قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية int main()

int main() {
  // Run detected when the Optical Sensor detects an object.
  Optical.objectDetected(detected);
}

objectLost#

يسجل دالة رد نداء عند فقدان كائن ما.

Available Functions
void objectLost(void (* callback)(void));

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

A previously defined function that executes when the Optical Sensor loses a detected object.

Return Values

هذه الدالة لا تُرجع قيمة.

Examples

عرّف دالة الاستدعاء (خارج نطاق int main())

// Display a message when the Optical Sensor loses an object.
void lost() {
  Brain.Screen.print("object lost");
}

قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية int main()

int main() {
  // Run lost when the Optical Sensor loses an object.
  Optical.objectLost(lost);
}