Optikai érzékelő#
Bevezetés#
A optical osztály az EXP optikai érzékelő adatainak elérésére szolgál. A visszavert fényt használja objektumok érzékelésére, színek azonosítására, valamint a fényerő és színárnyalat mérésére.
Osztálykonstruktorok#
optical(
int32_t index );
Osztálydestruktor#
Megsemmisíti a optical objektumot és felszabadítja a hozzá tartozó erőforrásokat.
virtual ~optical();
Paraméterek#
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az az intelligens port, amelyhez az optikai érzékelő csatlakozik, |
Példák#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Tagfüggvények#
A optical osztály a következő tagfüggvényeket tartalmazza:
setLight— Be- vagy kikapcsolja az optikai érzékelő LED-jét.setLightPower— Beállítja az optikai érzékelő fényerősségi szintjét.isNearObject— Visszaadja, hogy az optikai érzékelő érzékel-e objektumot a hatótávolságon belül.color— Visszaadja az optikai érzékelő által érzékelt színt.brightness— Visszaadja az objektumról visszaverődő fény mennyiségét.hue— Visszaadja az optikai érzékelő által érzékelt színárnyalatot.objectDetected— Regisztrál egy függvényt, amely akkor hívódik meg, amikor az optikai érzékelő objektumot érzékel.objectLost— Regisztrál egy függvényt, amely akkor hívódik meg, amikor az optikai érzékelő elveszít egy objektumot.
Bármely optical tagfüggvény meghívása előtt létre kell hozni egy optical példányt, az alábbiak szerint:
/* 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#
Be- vagy kikapcsolja az optikai érzékelő LED-jét. A fény segíthet az optikai érzékelőnek a tárgyak és a színek tisztább érzékelésében.
Available Functionsvoid setLight(ledState state);
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Be- vagy kikapcsolja a LED-et. |
Ez a függvény nem ad vissza értéket.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Beállítja az optikai érzékelő LED-jének fényerejét. A fény segíthet az optikai érzékelőnek a tárgyak és a színek tisztább érzékelésében.
Ha az optikai érzékelő lámpája ki van kapcsolva, a fényerő 0% fölé állítása bekapcsolja a lámpát.
Ha az optikai érzékelő lámpája világít, a fényerő 0%-ra állítása kikapcsolja a lámpát.
A magasabb százalékos érték fényesebbé, az alacsonyabb százalékos érték pedig halványabbá teszi a fényt.
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A lámpa teljesítményszintje 0 és 100 között állítható. |
|
|
The unit that represents the light intensity: |
Ez a függvény nem ad vissza értéket.
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
Akkor adja vissza, ha az optikai érzékelő egy közeli tárgyat észlel.
Available Functionsbool isNearObject();
Ez a függvény nem fogad el paramétereket.
Return ValuesEz a függvény egy logikai értéket ad vissza, amely jelzi, hogy észlelhető-e közeli objektum:
true– Az optikai érzékelő objektumot érzékel.false– Az optikai érzékelő nem érzékel tárgyat.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
Az optikai érzékelő által érzékelt színt adja vissza.
Available Functionsvex::color color();
Ez a függvény nem fogad el paramétereket.
Return ValuesAz optikai érzékelő által a color class osztály egy példányaként érzékelt szín.
Lehetséges színek a következők:
blackwhitered- Színárnyalat 340° és 20° közöttgreen– 80° és 140° közötti színárnyalatértékblue- 200° és 240° közötti színárnyalatértékyellow- 40° és 60° közötti színárnyalatértékorange- Színárnyalat 20° és 40° közöttpurple- Színárnyalat 240° és 280° közöttcyan- Színárnyalat 140° és 200° között
// 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#
Visszaadja az objektumról visszaverődő fény mennyiségét.
A magasabb százalékos érték azt jelenti, hogy több fény verődik vissza az optikai érzékelőre. Az alacsonyabb százalékos érték azt jelenti, hogy kevesebb fény verődik vissza.
Available Functionsdouble brightness(bool bRaw = false);
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Logikai érték a nyers fényerőadatok beolvasásához százalékos érték helyett. Az alapértelmezett érték |
Egy dupla érték, amely az optikai érzékelő által érzékelt fényerőt 0 és 100% közötti dupla értékként jelöli, vagy egy dupla érték, amely az érzékelő által érzékelt nyers adatokat jelöli.
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#
Visszaadja az érzékelt szín árnyalatértékét.
A színárnyalat a színek leírásának egy módja, számok segítségével, egy színkör körül.

double hue();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy dupla szám, amely az optikai érzékelő által érzékelt színárnyalat értékét jelöli 0 és 359,99 között.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Visszahívó függvényt regisztrál, amikor egy objektumot észlel.
Available Functionsvoid objectDetected(void (* callback)(void));
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy korábban definiált függvény, amely akkor hajtódik végre, amikor az optikai érzékelő új objektumot észlel. |
Ez a függvény nem ad vissza értéket.
ExamplesDefiniáljuk a visszahívó függvényt (
int main())// 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"); }Regisztrálja a visszahívást a
int main()függvényen belül./* 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#
Visszahívó függvényt regisztrál, amikor egy objektum elveszik.
Available Functionsvoid objectLost(void (* callback)(void));
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy korábban definiált függvény, amely akkor hajtódik végre, amikor az optikai érzékelő elveszít egy érzékelt objektumot. |
Ez a függvény nem ad vissza értéket.
ExamplesDefiniáljuk a visszahívó függvényt (
int main())// 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"); }Regisztrálja a visszahívást a
int main()függvényen belül./* 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); }