Optischer Sensor#
Einführung#
Die optische Klasse optical dient dem Zugriff auf Daten des optischen Sensors. Sie nutzt reflektiertes Licht, um Objekte zu erkennen, Farben zu identifizieren und Helligkeit und Farbton zu messen.
Klassenkonstruktor#
optical Optical = optical(index);
Klassendestruktor#
Zerstört das optische Objekt optical.
virtual ~optical();
Parameter#
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Smart Port, an den der optische Sensor angeschlossen ist, wird als |
Beispiele#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
Mitgliedsfunktionen#
Die optische Klasse optical umfasst die folgenden Memberfunktionen:
setLight— Schaltet die LED des optischen Sensors ein oder aus.setLightPower— Legt die Lichtleistungsstufe des optischen Sensors fest.isNearObject— Gibt zurück, ob der optische Sensor ein Objekt in Reichweite erkennt oder nicht.colorname— Returns the color detected by the Optical Sensor.brightness— Gibt die Menge des vom Objekt reflektierten Lichts zurück.hue— Gibt den vom optischen Sensor erfassten Farbton zurück.objectDetected— Registriert eine Funktion, die aufgerufen werden soll, wenn der optische Sensor ein Objekt erkennt.objectLost— Registriert eine Funktion, die aufgerufen wird, wenn der optische Sensor ein Objekt verliert.
Bevor optical Memberfunktionen aufgerufen werden können, muss eine optical Instanz erstellt werden, wie unten gezeigt:
/* 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#
Schaltet die LED des optischen Sensors ein oder aus. Das Licht kann dem optischen Sensor helfen, Objekte und Farben deutlicher zu erkennen.
Available Functionsvoid setLight(ledState state);
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Schaltet die LED ein oder aus. |
Diese Funktion gibt keinen Wert zurück.
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
Legt die Helligkeit des Lichts des optischen Sensors fest. Das Licht kann dem optischen Sensor helfen, Objekte und Farben deutlicher zu erkennen.
Ein höherer Prozentsatz macht das Licht heller. Ein niedrigerer Prozentsatz macht das Licht dunkler.
Wenn die Kontrollleuchte des optischen Sensors ausgeschaltet ist, schaltet sich die Kontrollleuchte ein, wenn die Lichtleistung über 0 % eingestellt wird.
Wenn die Kontrollleuchte des optischen Sensors eingeschaltet ist, schaltet das Einstellen der Lichtleistung auf 0 % die Kontrollleuchte aus.
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Leistungsstufe zum Einstellen der Lampe von 0 – 100. |
|
|
The unit that represents the light intensity: |
Diese Funktion gibt keinen Wert zurück.
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
Gibt zurück, ob der optische Sensor ein Objekt innerhalb der Reichweite erkennt oder nicht.
Available Functionsbool isNearObject();
Diese Funktion akzeptiert keine Parameter.
Return ValuesDiese Funktion gibt einen booleschen Wert zurück, der angibt, ob ein Objekt in der Nähe erkannt wurde:
true— Ein Objekt wurde in der Nähe erkannt.false— Es wurde kein Objekt erkannt.
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
colorname#
Gibt die vom optischen Sensor anhand des ermittelten Farbtons erkannte Farbe zurück.
Available Functionsvex::colorType colorname();
Diese Funktion akzeptiert keine Parameter.
Return ValuesDie vom optischen Sensor als Instanz der Farbklasse erkannte Farbe.
Mögliche Farben sind:
blue– Farbtonwert zwischen 196° und 229°blue_green– Farbtonwert zwischen 140° und 195°blue_violet– Farbtonwert zwischen 230° und 239°green– Farbtonwert zwischen 84° und 139°orange– Farbtonwert zwischen 21° und 30°red– Farbtonwert zwischen 350° und 14°red_orange– Farbtonwert zwischen 15° und 20°red_violet– Farbtonwert zwischen 281° und 350°violet– Farbtonwert zwischen 240° und 280°yellow– Farbtonwert zwischen 54° und 74°yellow_green– Farbtonwert zwischen 75° und 83°yellow_orange– Farbtonwert zwischen 31° und 53°
// Set a variable, detectColor, to the color detected by the
// Optical Sensor
colorType detectColor = Optical.colorname();
// Print the color detected by the Optical Sensor
// to the Brain's screen
Brain.Screen.print(detectColor);
brightness#
Gibt an, wie viel Licht zum optischen Sensor zurückreflektiert wird.
Ein höherer Prozentsatz bedeutet, dass mehr Licht zum optischen Sensor zurückreflektiert wird. Ein niedrigerer Prozentsatz bedeutet, dass weniger Licht zurückreflektiert wird.
Available Functionsdouble brightness(bool bRaw = false);
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein boolescher Wert, um Rohhelligkeitsdaten anstelle von Prozentwerten auszulesen. Der Standardwert ist |
Ein Double-Wert, der die vom optischen Sensor erfasste Helligkeit im Bereich von 0 bis 100 % darstellt, oder ein Double-Wert, der die vom Sensor erfassten Rohdaten darstellt.
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#
Gibt den vom optischen Sensor erfassten Farbton zurück.
Der Farbton ist eine Methode, Farben mithilfe von Zahlen auf einem Farbkreis zu beschreiben.

double hue();
Diese Funktion akzeptiert keine Parameter.
Return ValuesEin Gleitkommawert, der den vom optischen Sensor erfassten Farbton im Bereich 0 – 359,00 darstellt.
Examples// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();
objectDetected#
Registriert eine Callback-Funktion, die aufgerufen wird, wenn ein Objekt erkannt wird.
Available Functionsvoid objectDetected(void (* callback)(void));
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine zuvor definierte Funktion, die ausgeführt wird, wenn der optische Sensor ein neues Objekt erkennt. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere die Callback-Funktion (außerhalb von
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"); }Registriere den Callback innerhalb von
int main()/* 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#
Registriert eine Rückruffunktion, die aufgerufen wird, wenn ein Objekt verloren geht.
Available Functionsvoid objectLost(void (* callback)(void));
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine zuvor definierte Funktion, die ausgeführt wird, wenn der optische Sensor ein erkanntes Objekt verliert. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere die Callback-Funktion (außerhalb von
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"); }Registriere den Callback innerhalb von
int main()/* 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); }