Sensor Warna#
Perkenalan#
Kelas colorsensor digunakan untuk mengakses data dari Sensor Warna. Kelas ini menggunakan cahaya pantulan untuk mendeteksi objek, mengidentifikasi warna, dan mengukur kecerahan dan corak warna.
Konstruktor Kelas#
colorsensor Color1 = colorsensor(index);
Destruktor Kelas#
Menghancurkan objek colorsensor dan melepaskan sumber daya terkait.
virtual ~colorsensor();
Parameter#
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Port Pintar tempat Sensor Warna terhubung, ditulis sebagai |
Contoh#
// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);
Fungsi Keanggotaan#
Kelas colorsensor mencakup fungsi anggota berikut:
setLight– Menyalakan, mematikan, atau mengatur tingkat kecerahan LED Sensor Warna.isNearObject– Mengembalikan nilai boolean yang menunjukkan apakah suatu objek dekat dengan Sensor Warna atau tidak.detects– Mengembalikan apakah warna tertentu terdeteksi oleh Sensor Warna atau tidak.colorname– Mengembalikan nama warna yang terdeteksi oleh Sensor Warna.brightness– Mengembalikan kecerahan objek yang terdeteksi.hue– Mengembalikan nilai hue yang terdeteksi.
Sebelum memanggil fungsi anggota colorsensor apa pun, sebuah instance colorsensor harus dibuat, seperti yang ditunjukkan di bawah ini:
/* 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#
Mengatur daya cahaya LED Sensor Warna. Cahaya ini dapat membantu Sensor Warna mendeteksi objek dan warna dengan lebih jelas.
Jika lampu Sensor Warna mati, mengatur daya lampu di atas 0% akan menyalakan lampu tersebut.
Jika lampu Sensor Warna menyala, mengatur daya lampu ke 0% akan mematikan lampu tersebut.
Persentase yang lebih tinggi membuat cahaya lebih terang. Persentase yang lebih rendah membuat cahaya lebih redup.
Available Functions1 — Menghidupkan atau mematikan LED menggunakan
ledState.void setLight( ledState state );
Parameters2 Menghidupkan lampu LED dengan intensitas tertentu.
void setLight( int32_t intensity, percentUnits units = percent );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Mengatur status LED menjadi menyala atau mati. |
|
|
Tingkat daya untuk mengatur cahaya dari 0 – 100. |
|
|
Satuan yang mewakili intensitas cahaya: |
Fungsi ini tidak mengembalikan nilai.
Examples// Set the light power to 50 percent.
Color1.setLight(50, percent);
isNearObject#
Mengembalikan nilai true jika Sensor Warna mendeteksi objek di dekatnya.
Available Functionsbool isNearObject();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesFungsi ini mengembalikan nilai Boolean yang menunjukkan apakah objek di dekatnya terdeteksi:
true– Sensor Warna mendeteksi sebuah objek.false– Sensor Warna tidak mendeteksi objek.
// If an object is detected by the Color Sensor, print
// "near object".
if (Color1.isNearObject()){
Brain.Screen.print("near object");
}
detects#
Mengembalikan nilai true jika Sensor Warna mendeteksi warna tertentu.
Available Functions1 — Detects a
colorType.bool detects( colorType color );
Parameters2 — Detects a
vex::color.bool detects( vex::color color );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Warna yang valid:
|
|
|
A valid custom color, or one of the predefined colors listed above. |
true– Sensor Warna mendeteksi warna.false– Sensor Warna tidak mendeteksi warna.
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#
Mengembalikan warna yang paling cocok yang terdeteksi.
Available FunctionscolorType colorname();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesSaat dicetak langsung, akan menampilkan nilai numerik yang terkait dengan warna tersebut:
Warna |
Nilai Numerik |
|---|---|
|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
Fungsi
convertColorToStringsecara otomatis dibuat oleh VEXcode ketika Sensor Warna dikonfigurasi di jendela Perangkat. Fungsi ini hanya tersedia di dalam proyek VEXcode IQ dan tidak akan berfungsi di lingkungan lain.Saat menggunakan
colornamedi luar VEXcode, perbandingan harus dilakukan langsung dengan nilaicolorType— warna apa pun yang diawali dengancolorType::(misalnya,colorType::greenataucolorType::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#
Mengembalikan jumlah cahaya yang dipantulkan dari objek.
Persentase yang lebih tinggi berarti lebih banyak cahaya yang dipantulkan kembali ke Sensor Warna. Persentase yang lebih rendah berarti lebih sedikit cahaya yang dipantulkan kembali.
Available Functionsdouble brightness(bool bRaw = false);
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai Boolean untuk membaca data kecerahan mentah, bukan persentase. Nilai defaultnya adalah |
Bilangan double yang mewakili kecerahan yang terdeteksi oleh Sensor Warna dalam rentang 0 - 100%, atau bilangan double yang mewakili data mentah yang terdeteksi oleh sensor.
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#
Mengembalikan rona warna yang terdeteksi oleh Sensor Warna.
Hue adalah cara untuk mendeskripsikan warna menggunakan angka-angka di sekitar roda warna.

double hue();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesNilai double yang mewakili nilai hue yang terdeteksi oleh Sensor Warna dalam rentang 0 — 359,00.
Examples// Set a variable, hue, to the value of the hue detected
// by the Color Sensor.
double hue = Color1.hue();