Optiskais sensors#
Ievads#
optical klase tiek izmantota, lai piekļūtu datiem no optiskā sensora. Tā izmanto atstaroto gaismu, lai noteiktu objektus, identificētu krāsas un mērītu spilgtumu un nokrāsu.
Klases konstruktors#
optical Optical = optical(index);
Klases iznīcinātājs#
Iznīcina optical objektu un atbrīvo saistītos resursus.
virtual ~optical();
Parametri#
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Viedports, kuram ir pievienots optiskais sensors, kas pierakstīts kā |
Piemēri#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Dalībnieku funkcijas#
optical klase ietver šādas dalībfunkcijas:
setLight— Ieslēdz vai izslēdz optiskā sensora LED indikatoru.setLightPower— Iestata optiskā sensora gaismas jaudas līmeni.isNearObject— Atgriež, vai optiskais sensors uztver objektu diapazonā.color— Atgriež optiskā sensora noteikto krāsu.brightness— Atgriež no objekta atstarotās gaismas daudzumu.hue— Atgriež optiskā sensora noteikto nokrāsu.objectDetected— Reģistrē funkciju, kas jāizsauc, kad optiskais sensors nosaka objektu.objectLost— Reģistrē funkciju, kas jāizsauc, kad optiskais sensors pazaudē objektu.
Pirms jebkuru optical dalībnieku funkciju izsaukšanas ir jāizveido optical instance, kā parādīts zemāk:
/* 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#
Ieslēdz vai izslēdz optiskā sensora LED indikatoru. Gaisma var palīdzēt optiskajam sensoram skaidrāk noteikt objektus un krāsas.
Available Functionsvoid setLight(ledState state);
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Ieslēdz vai izslēdz LED gaismu. |
Šī funkcija neatgriež vērtību.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Iestata optiskā sensora gaismas spilgtumu. Gaisma var palīdzēt optiskajam sensoram skaidrāk noteikt objektus un krāsas.
Augstāks procentuālais daudzums padara gaismu spilgtāku. Zemāks procentuālais daudzums padara gaismu blāvāku.
Ja optiskā sensora gaisma ir izslēgta, gaismas jaudas iestatīšana virs 0% ieslēgs gaismu.
Ja optiskā sensora gaisma ir ieslēgta, gaismas jaudas iestatīšana uz 0% izslēgs gaismu.
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Gaismas jaudas līmenis ir no 0 līdz 100. |
|
|
The unit that represents the light intensity: |
Šī funkcija neatgriež vērtību.
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
Atgriež, vai optiskais sensors uztver objektu diapazonā.
Available Functionsbool isNearObject();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesŠī funkcija atgriež Būla vērtību, kas norāda, vai ir atklāts tuvumā esošs objekts:
true— Tuvumā ir atklāts objekts.false— Objekts nav atrasts.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
Atgriež optiskā sensora noteikto krāsu, pamatojoties uz noteikto nokrāsas vērtību.
Available Functionsvex::color color();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesOptiskā sensora noteiktā krāsa kā color class eksemplārs.
Iespējamās krāsas ir:
blue– nokrāsas vērtība no 196° līdz 229°blue_green– nokrāsas vērtība no 140° līdz 195°blue_violet– Nokrāsas vērtība no 230° līdz 239°green– nokrāsas vērtība no 84° līdz 139°orange– nokrāsas vērtība no 21° līdz 30°red– nokrāsas vērtība no 350° līdz 14°red_orange– Nokrāsas vērtība no 15° līdz 20°red_violet– nokrāsas vērtība no 281° līdz 350°violet– nokrāsas vērtība no 240° līdz 280°yellow– nokrāsas vērtība no 54° līdz 74°yellow_green– Nokrāsas vērtība no 75° līdz 83°yellow_orange– Nokrāsas vērtība no 31° līdz 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#
Atgriež, cik daudz gaismas tiek atstarots atpakaļ uz optisko sensoru.
Augstāks procentuālais daudzums nozīmē, ka uz optisko sensoru tiek atstarots vairāk gaismas. Zemāks procentuālais daudzums nozīmē, ka uz optisko sensoru tiek atstarots mazāk gaismas.
Available Functionsdouble brightness(bool bRaw = false);
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Būla vērtība neapstrādātu spilgtuma datu, nevis procentuālās vērtības nolasīšanai. Noklusējuma vērtība ir |
Divkāršs skaitlis, kas apzīmē optiskā sensora noteikto spilgtumu diapazonā no 0 līdz 100 %, vai divkāršs skaitlis, kas apzīmē sensora noteiktos neapstrādātos datus.
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#
Atgriež optiskā sensora noteikto nokrāsu.
Nokrāsa ir veids, kā aprakstīt krāsu, izmantojot skaitļus ap krāsu apli.

double hue();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesDubultskaitlis, kas apzīmē optiskā sensora noteikto nokrāsas vērtību diapazonā no 0 līdz 359,00.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Reģistrē atzvanīšanas funkciju, kad tiek atklāts objekts.
Available Functionsvoid objectDetected(void (* callback)(void));
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Iepriekš definēta funkcija, kas tiek izpildīta, kad optiskais sensors nosaka jaunu objektu. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
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"); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē/* 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#
Reģistrē atzvanīšanas funkciju objekta pazaudēšanas gadījumā.
Available Functionsvoid objectLost(void (* callback)(void));
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Iepriekš definēta funkcija, kas tiek izpildīta, kad optiskais sensors pazaudē noteiktu objektu. |
Šī funkcija neatgriež vērtību.
ExamplesDefinējiet atzvanīšanas funkciju (ārpus
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"); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē/* 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); }