Optinis jutiklis#
Įvadas#
optical klasė naudojama duomenims iš V5 optinio jutiklio pasiekti. Jis 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:
// 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 diodo ryškumą. Šviesa gali padėti optiniam jutikliui aiškiau aptikti objektus ir spalvas.
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.
Didesnis procentas šviesą daro ryškesnę, o mažesnis procentas – pritemdytą.
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, jei optinis jutiklis aptinka netoliese esantį objektą.
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– Optinis jutiklis aptinka objektą.false– Optinis jutiklis neaptinka objekto.
// 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ą.
Available Functionsvex::color color();
Ši funkcija nepriima jokių parametrų.
Return ValuesOptinio jutiklio aptikta spalva kaip spalvų klasės egzempliorius.
Galimos spalvos yra:
blackwhitered– atspalvio reikšmė nuo 340° iki 20°green– atspalvio reikšmė nuo 80° iki 140°blue– atspalvio reikšmė nuo 200° iki 240°yellow– atspalvio reikšmė nuo 40° iki 60°orange– atspalvio reikšmė nuo 20° iki 40°purple– atspalvio reikšmė nuo 240° iki 280°cyan– atspalvio reikšmė nuo 140° iki 200°
// 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 nuo objekto atspindėtos šviesos kiekį.
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, rodantis optinio jutiklio aptiktą ryškumą kaip dvigubą rodiklį nuo 0 iki 100 %, arba dvigubas skaičius, rodantis 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 aptiktos spalvos atspalvio reikšmę.
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,99.
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())// Display a message when the Optical Sensor detects an object. void detected() { Brain.Screen.print("object detected"); }Registruokite atgalinį iškvietimą
int main()vidujeint main() { // Run detected 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())// Display a message when the Optical Sensor loses an object. void lost() { Brain.Screen.print("object lost"); }Registruokite atgalinį iškvietimą
int main()vidujeint main() { // Run lost when the Optical Sensor loses an object. Optical.objectLost(lost); }