Optiskais sensors#
Ievads#
optical klase tiek izmantota, lai piekļūtu datiem no EXP optiskā sensora. Tā izmanto atstaroto gaismu, lai noteiktu objektus, identificētu krāsas un mērītu spilgtumu un nokrāsu.
Klases konstruktori#
optical(
int32_t 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 instance
optical Optical1 = optical(
PORT1); // Smart Port 1
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. |
Šī funkcija neatgriež vērtību.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Iestata optiskā sensora gaismas diodes spilgtumu. Gaisma var palīdzēt optiskajam sensoram skaidrāk noteikt objektus un krāsas.
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.
Augstāks procentuālais daudzums padara gaismu spilgtāku. Zemāks procentuālais daudzums padara gaismu blāvāku.
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ž, ja optiskais sensors nosaka tuvumā esošu objektu.
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— optiskais sensors nosaka objektu.false– Optiskais sensors neuztver objektu.
// 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.
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:
blackwhitered— nokrāsas vērtība no 340° līdz 20°green— nokrāsas vērtība no 80° līdz 140°blue— nokrāsas vērtība no 200° līdz 240°yellow— nokrāsas vērtība no 40° līdz 60°orange— nokrāsas vērtība no 20° līdz 40°purple— nokrāsas vērtība no 240° līdz 280°cyan— nokrāsas vērtība no 140° līdz 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#
Atgriež no objekta atstarotās gaismas daudzumu.
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 attēlo optiskā sensora noteikto spilgtumu kā divkāršu skaitli diapazonā no 0 līdz 100%, vai divkāršs skaitlis, kas attēlo 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ž noteiktās krāsas nokrāsas vērtību.
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,99.
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); }