Optinis jutiklis#
Įvadas#
optical klasė naudojama duomenims iš optinio jutiklio pasiekti. Ji naudoja atspindėtą šviesą objektams aptikti, spalvoms identifikuoti ir ryškumui bei atspalviui matuoti.
Klasės konstruktorius#
optical Optical = optical(index);
Klasės destruktorius#
Sunaikina optical objektą ir išlaisvina susijusius išteklius.
virtual ~optical();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungtas optinis jutiklis, užrašomas kaip |
Pavyzdžiai#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Narių funkcijos#
optical klasė apima šias narines funkcijas:
setLight— Įjungia arba išjungia optinio jutiklio šviesos diodą.setLightPower— Nustato optinio jutiklio šviesos galios lygį.isNearObject— Grąžina, ar optinis jutiklis aptinka objektą diapazone.color— Grąžina optinio jutiklio aptiktą spalvą.brightness— Grąžina nuo objekto atsispindinčios šviesos kiekį.hue– Grąžina optinio jutiklio aptiktą atspalvį.objectDetected— Registruoja funkciją, kuri bus iškviesta, kai optinis jutiklis aptiks objektą.objectLost— Registruoja funkciją, kuri bus iškviesta, kai optinis jutiklis pames objektą.
Prieš iškviečiant bet kokias optical narių funkcijas, reikia sukurti optical egzempliorių, kaip parodyta žemiau:
/* 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#
Įjungia arba išjungia optinio jutiklio šviesos diodą. Šviesa gali padėti optiniam jutikliui aiškiau aptikti objektus ir spalvas.
Available Functionsvoid setLight(ledState state);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Įjungia arba išjungia šviesos diodą. |
Ši funkcija negrąžina reikšmės.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Nustato optinio jutiklio šviesos ryškumą. Šviesa gali padėti optiniam jutikliui aiškiau aptikti objektus ir spalvas.
Didesnis procentas šviesą daro ryškesnę, o mažesnis procentas – pritemdytą.
Jei optinio jutiklio lemputė išjungta, nustatant šviesos galią virš 0 %, lemputė įsijungs.
Jei optinio jutiklio lemputė įjungta, nustačius šviesos galią į 0 %, lemputė išsijungs.
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Šviesos galios lygis nustatomas nuo 0 iki 100. |
|
|
The unit that represents the light intensity: |
Ši funkcija negrąžina reikšmės.
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
Grąžina, ar optinis jutiklis aptinka objektą diapazone.
Available Functionsbool isNearObject();
Ši funkcija nepriima jokių parametrų.
Return ValuesŠi funkcija grąžina loginę reikšmę, nurodančią, ar aptiktas netoliese esantis objektas:
true— Netoliese aptiktas objektas.false— Objektas neaptiktas.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
Grąžina optinio jutiklio aptiktą spalvą, remiantis aptikta atspalvio reikšme.
Available Functionsvex::color color();
Ši funkcija nepriima jokių parametrų.
Return ValuesOptinio jutiklio aptikta spalva kaip spalvų klasės egzempliorius.
Galimos spalvos yra:
blue– atspalvio reikšmė nuo 196° iki 229°blue_green– atspalvio reikšmė nuo 140° iki 195°blue_violet– atspalvio reikšmė nuo 230° iki 239°green– atspalvio reikšmė nuo 84° iki 139°orange– atspalvio reikšmė nuo 21° iki 30°red– atspalvio vertė nuo 350° iki 14°red_orange– atspalvio reikšmė nuo 15° iki 20°red_violet– atspalvio reikšmė nuo 281° iki 350°violet– atspalvio vertė nuo 240° iki 280°yellow– atspalvio reikšmė nuo 54° iki 74°yellow_green– atspalvio reikšmė nuo 75° iki 83°yellow_orange– atspalvio reikšmė nuo 31° iki 53°
// 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#
Grąžina, kiek šviesos atsispindi atgal į optinį jutiklį.
Didesnis procentas reiškia, kad daugiau šviesos atsispindi atgal į optinį jutiklį. Mažesnis procentas reiškia, kad atsispindi mažiau šviesos.
Available Functionsdouble brightness(bool bRaw = false);
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Loginė reikšmė, skirta nuskaityti neapdorotus ryškumo duomenis, o ne procentinę reikšmę. Numatytoji reikšmė yra |
Dvigubas skaičius, žymintis optinio jutiklio aptiktą ryškumą 0–100 % diapazone, arba dvigubas skaičius, žymintis jutiklio aptiktus neapdorotus duomenis.
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#
Grąžina optinio jutiklio aptiktą atspalvį.
Atspalvis yra būdas apibūdinti spalvą skaičiais aplink spalvų ratą.

double hue();
Ši funkcija nepriima jokių parametrų.
Return ValuesDvigubas skaičius, vaizduojantis optinio jutiklio aptiktą atspalvio reikšmę diapazone nuo 0 iki 359,00.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Registruoja atgalinio iškvietimo funkciją, kai aptinkamas objektas.
Available Functionsvoid objectDetected(void (* callback)(void));
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Anksčiau apibrėžta function, kuri vykdoma, kai optinis jutiklis aptinka naują objektą. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
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"); }Registruokite atgalinį iškvietimą
int main()viduje/* 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#
Registruoja atgalinio iškvietimo funkciją, kai objektas prarandamas.
Available Functionsvoid objectLost(void (* callback)(void));
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Anksčiau apibrėžta function, kuri vykdoma, kai optinis jutiklis praranda aptiktą objektą. |
Ši funkcija negrąžina reikšmės.
ExamplesApibrėžkite grįžtamojo ryšio funkciją (už
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"); }Registruokite atgalinį iškvietimą
int main()viduje/* 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); }