Optikai érzékelő#
Bevezetés#
A optical osztály az 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álykonstruktor#
optical Optical = optical(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 object in Port 1
optical Optical1 = optical(PORT1);
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ő 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.
A magasabb százalékos érték fényesebbé, az alacsonyabb százalékos érték pedig halványabbá teszi a fényt.
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.
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#
Visszaadja, hogy az optikai érzékelő érzékel-e objektumot a hatótávolságon belül.
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— Egy tárgyat észlelt a közelben.false— Nem észlelhető objektum.
// 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 a detektált színárnyalat alapján.
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:
blue– Színárnyalatérték 196° és 229° közöttblue_green– Színárnyalat 140° és 195° közöttblue_violet– Színárnyalat 230° és 239° közöttgreen– Színárnyalatérték 84° és 139° közöttorange– Színárnyalat 21° és 30° közöttred– Színárnyalatérték 350° és 14° közöttred_orange– Színárnyalat 15° és 20° közöttred_violet– Színárnyalat 281° és 350° közöttviolet– Színárnyalatérték 240° és 280° közöttyellow– Színárnyalatérték 54° és 74° közöttyellow_green– Színárnyalat 75° és 83° közöttyellow_orange– Színárnyalat 31° és 53° 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, hogy mennyi fény verődik vissza az optikai érzékelőre.
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 szám, amely az optikai érzékelő által 0 és 100% közötti tartományban érzékelt fényerőt jelöli, vagy egy dupla szám, 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#
Az optikai érzékelő által érzékelt színárnyalatot adja vissza.
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 a 0 és 359,00 közötti tartományban.
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); }