Spalvų jutiklis#
Įvadas#
colorsensor klasė naudojama duomenims iš Spalvų jutiklio pasiekti. Ji naudoja atspindėtą šviesą objektams aptikti, spalvoms identifikuoti ir ryškumui bei atspalviui matuoti.
Klasės konstruktorius#
colorsensor Color1 = colorsensor(index);
Klasės destruktorius#
Sunaikina colorsensor objektą ir išlaisvina susijusius išteklius.
virtual ~colorsensor();
Parametrai#
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išmanusis prievadas, prie kurio prijungtas spalvų jutiklis, užrašomas kaip |
Pavyzdžiai#
// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);
Narių funkcijos#
colorsensor klasė apima šias narines funkcijas:
setLight– Įjungia, išjungia spalvų jutiklio šviesos diodą arba nustato nustatytą ryškumo lygį.isNearObject– Grąžina, ar objektas yra arti spalvų jutiklio.detects– Grąžina, ar spalvų jutiklis aptinka nurodytą spalvą.colorname– Grąžina spalvos, kurią aptiko spalvų jutiklis, pavadinimą.brightness– Grąžina aptiktą objekto ryškumą.hue– Grąžina aptiktą atspalvio reikšmę.
Prieš iškviečiant bet kokias colorsensor narių funkcijas, reikia sukurti colorsensor egzempliorių, kaip parodyta žemiau:
/* 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#
Nustato spalvų jutiklio LED šviesos stiprumą. Šviesa gali padėti spalvų jutikliui aiškiau aptikti objektus ir spalvas.
Jei spalvų jutiklio lemputė išjungta, nustačius šviesos galią virš 0 %, lemputė įsijungs.
Jei spalvų jutiklio lemputė šviečia, nustačius šviesos galią į 0 %, lemputė išsijungs.
Didesnis procentas šviesą daro ryškesnę, o mažesnis procentas – pritemdytą.
Available Functions1 — Įjungia arba išjungia šviesos diodą naudodamas
ledState.void setLight( ledState state );
Parameters2 — Įjungia šviesos diodą iki tam tikro intensyvumo.
void setLight( int32_t intensity, percentUnits units = percent );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Įjungia arba išjungia šviesos diodą. |
|
|
Š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.
Color1.setLight(50, percent);
isNearObject#
Grąžina, jei spalvų 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– Spalvų jutiklis aptinka objektą.false– Spalvų jutiklis neaptinka objekto.
// If an object is detected by the Color Sensor, print
// "near object".
if (Color1.isNearObject()){
Brain.Screen.print("near object");
}
detects#
Grąžina, jei spalvų jutiklis aptinka nurodytą spalvą.
Available Functions1 — Detects a
colorType.bool detects( colorType color );
Parameters2 — Detects a
vex::color.bool detects( vex::color color );
Parametrai |
Tipas |
Aprašymas |
|---|---|---|
|
|
Galiojanti spalva:
|
|
|
Galiojanti pasirinktinė spalva arba viena iš aukščiau išvardytų iš anksto nustatytų spalvų. |
true– Spalvų jutiklis aptinka spalvą.false– Spalvų jutiklis neaptinka spalvos.
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#
Grąžina artimiausią aptiktą atitikmenį.
Available FunctionscolorType colorname();
Ši funkcija nepriima jokių parametrų.
Return ValuesTiesiogiai atspausdinus, rodoma su ta spalva susijusi skaitinė reikšmė:
Spalva |
Skaitinė reikšmė |
|---|---|
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
Funkcija
convertColorToStringautomatiškai sukuriama VEXcode, kai spalvų jutiklis konfigūruojamas lange „Įrenginiai“. Ji pasiekiama tik VEXcode IQ projektuose ir neveiks kitose aplinkose.Kai už VEX kodo ribų naudojama
colorname, palyginimai turėtų būti atliekami tiesiogiai sucolorTypereikšme – bet kokia spalva, prasidedančiacolorType::(pavyzdžiui,colorType::greenarbacolorType::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#
Grąžina nuo objekto atspindėtos šviesos kiekį.
Didesnis procentas reiškia, kad daugiau šviesos atsispindi atgal į spalvų 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, žymintis spalvų jutiklio aptiktą ryškumą 0–100 % diapazone, arba dvigubas skaičius, žymintis jutiklio aptiktus neapdorotus duomenis.
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#
Grąžina spalvų jutiklio aptiktą atspalvį.
Atspalvis yra būdas apibūdinti spalvą skaičiais aplink spalvų ratą.

double hue();
Ši funkcija nepriima jokių parametrų.
Return ValuesDvigubas skaičius, vaizduojantis spalvų jutiklio aptiktą atspalvio reikšmę diapazone nuo 0 iki 359,00.
Examples// Set a variable, hue, to the value of the hue detected
// by the Color Sensor.
double hue = Color1.hue();