Színérzékelő#
Bevezetés#
A colorsensor osztály a Color Sensor adatainak elérésére szolgál. A visszavert fényt használja objektumok érzékelésére, színek azonosítására, valamint a fényerő és színárnyalat mérésére.
Osztálykonstruktor#
colorsensor Color1 = colorsensor(index);
Osztálydestruktor#
Megsemmisíti a colorsensor objektumot és felszabadítja a hozzá tartozó erőforrásokat.
virtual ~colorsensor();
Paraméterek#
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az az intelligens port, amelyhez a színérzékelő csatlakozik, |
Példák#
// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);
Tagfüggvények#
A colorsensor osztály a következő tagfüggvényeket tartalmazza:
setLight– Be- és kikapcsolja a színérzékelő LED-jét, vagy egy beállított fényerőszintre állítja.isNearObject– Visszaadja, hogy egy objektum közel van-e a színérzékelőhöz.detects– Visszaadja, hogy a színérzékelő érzékelte-e a megadott színt vagy sem.colorname– Visszaadja a színérzékelő által érzékelt szín nevét.brightness– Visszaadja egy objektum érzékelt fényerejét.hue– Visszaadja az érzékelt színárnyalat értékét.
Bármely colorsensor tagfüggvény meghívása előtt létre kell hozni egy colorsensor példányt, az alábbiak szerint:
/* This constructor is required when using VS Code.
Color Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);
setLight#
Beállítja a színérzékelő LED-jének fényerejét. A fény segíthet a színérzékelőnek a tárgyak és a színek tisztább érzékelésében.
Ha a színérzékelő lámpája nem világít, a fényerő 0% fölé állítása bekapcsolja a lámpát.
Ha a színérzékelő jelzőfénye világít, a fényerő 0%-ra állítása kikapcsolja a lámpát.
A magasabb százalékos érték fényesebbé, az alacsonyabb százalékos érték pedig halványabbá teszi a fényt.
Available Functions1 — A LED be- és kikapcsolása
ledStateparaméter használatával.void setLight( ledState state );
Parameters2 — Bekapcsolja a LED-et egy adott intenzitásra.
void setLight( int32_t intensity, percentUnits units = percent );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Be- vagy kikapcsolja a LED-et. |
|
|
A lámpa teljesítményszintje 0 és 100 között állítható. |
|
|
The unit that represents the light intensity: |
Ez a függvény nem ad vissza értéket.
Examples// Set the light power to 50 percent.
Color1.setLight(50, percent);
isNearObject#
Akkor adja vissza, ha a színérzékelő egy közeli tárgyat észlel.
Available Functionsbool isNearObject();
Ez a függvény nem fogad el paramétereket.
Return ValuesEz a függvény egy logikai értéket ad vissza, amely jelzi, hogy észlelhető-e közeli objektum:
true– A színérzékelő objektumot érzékel.false– A színérzékelő nem érzékel tárgyat.
// If an object is detected by the Color Sensor, print
// "near object".
if (Color1.isNearObject()){
Brain.Screen.print("near object");
}
detects#
Akkor adja vissza, ha a színérzékelő egy megadott színt érzékel.
Available Functions1 — Detects a
colorType.bool detects( colorType color );
Parameters2 — Detects a
vex::color.bool detects( vex::color color );
Paraméterek |
Típus |
Leírás |
|---|---|---|
|
|
Érvényes szín:
|
|
|
Egy érvényes egyéni szín, vagy a fent felsorolt előre definiált színek egyike. |
true– A színérzékelő érzékeli a színt.false– A színérzékelő nem érzékeli a színt.
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Drive until a red object is seen
Drivetrain.drive(forward);
while (true) {
if (Color1.detects(red)) {
Drivetrain.stop();
break;
}
wait(0.5, seconds);
}
}
colorname#
A legközelebbi egyező észlelt színt adja vissza.
Available FunctionscolorType colorname();
Ez a függvény nem fogad el paramétereket.
Return ValuesKözvetlenül kinyomtatva az adott színhez tartozó numerikus értéket mutatja:
Szín |
Numerikus érték |
|---|---|
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
A
convertColorToStringfüggvényt a VEXcode automatikusan létrehozza, amikor egy színérzékelőt konfigurálnak az Eszközök ablakban. Ez a függvény csak a VEXcode IQ projekteken belül érhető el, más környezetekben nem fog működni.Ha a VEXcode-on kívül
colornameértéket használunk, az összehasonlításokat közvetlenül egycolorTypeértékkel kell elvégezni — bármilyen színnel, amelycolorType::tel kezdődik (példáulcolorType::greenvagycolorType::red).
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Continuously check the detected color
while (true) {
// Compare the color name with "red"
if (convertColorToString(Color1.colorname()) == "red") {
Brain.Screen.print("Red object!");
} else {
Brain.Screen.print("Not red");
}
wait(0.5, seconds);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
}
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Continuously check the detected color
while (true) {
// Compare the color name with the colorType
if (Color1.colorname() == colorType::red) {
Brain.Screen.print("Red object!");
} else {
Brain.Screen.print("Not red");
}
wait(0.5, seconds);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
}
}
brightness#
Visszaadja az objektumról visszaverődő fény mennyiségét.
A magasabb százalékos érték azt jelenti, hogy több fény verődik vissza a színérzékelőre. Az alacsonyabb százalékos érték azt jelenti, hogy kevesebb fény verődik vissza.
Available Functionsdouble brightness(bool bRaw = false);
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Logikai érték a nyers fényerőadatok beolvasásához százalékos érték helyett. Az alapértelmezett érték |
Egy dupla szám, amely a színérzékelő által 0 és 100% közötti tartományban érzékelt fényerőt jelöli, vagy egy dupla szám, amely az érzékelő által érzékelt nyers adatokat jelöli.
Examples// Set a variable, brightness, to the value of the brightness
// detected by the Color Sensor
double brightness = Color1.brightness();
// Print the brightness detected by the Color Sensor to the
// Brain's screen
Brain.Screen.print(brightness);
hue#
Visszaadja a színérzékelő által érzékelt színárnyalatot.
A színárnyalat a színek leírásának egy módja, számok segítségével, egy színkör körül.

double hue();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy dupla szám, amely a színérzékelő által érzékelt színárnyalat értékét jelöli a 0 és 359,00 közötti tartományban.
Examples// Set a variable, hue, to the value of the hue detected
// by the Color Sensor.
double hue = Color1.hue();