My right color sensor isn’t working. Can someone help?
I am using Vexcode IQ,
It isn’t detecting the colors that it is supposed to detect.
Please reply fast. It is urgent
My code is here:
float myVariable;
event message1 = event();
event SETtimer = event();
event message2 = event();
event message3 = event();
event message4 = event();
event message5 = event();
event message6 = event();
event message7 = event();
// "when started" hat block
int whenStarted1() {
// does not allow more than 3 when started blocks, so i did this
while (true) {
message1.broadcast();
message2.broadcast();
wait(20, msec);
}
return 0;
}
// "when started" hat block
int whenStarted2() {
while (true) {
BelowColor.setLight(86, percent);
FrontColor.setLight(60, percent);
LeftTouchLED.setFade(slow);
RightTouchLED.setFade(slow);
LeftTouchLED.setBrightness(100);
RightTouchLED.setBrightness(100);
wait(20, msec);
}
return 0;
}
// "when started" hat block
int whenStarted3() {
return 0;
}
// "when I receive message2" hat block
void onevent_message2_0() {
while (true) {
if (BelowColor.detects(colorType::none)) {
// this says that if no color is detected, play this "random" loop
RightTouchLED.setColor(red);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(red_violet);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(red_orange);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(orange);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(yellow_orange);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(white);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(yellow);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(yellow_green);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(green);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(blue_green);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(blue);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(blue_violet);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(violet);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
RightTouchLED.setColor(purple);
wait(0.25, seconds);
RightTouchLED.setFade(slow);
}
else {
// this says if "x" color detected, show color "x" on the touch led right
if (BelowColor.detects(red)) {
RightTouchLED.setColor(red);
}
else {
if (BelowColor.detects(green)) {
RightTouchLED.setColor(green);
}
else {
if (BelowColor.detects(blue)) {
RightTouchLED.setColor(blue);
}
else {
if (BelowColor.detects(white)) {
RightTouchLED.setColor(white);
}
else {
if (BelowColor.detects(yellow)) {
RightTouchLED.setColor(yellow);
}
else {
if (BelowColor.detects(orange)) {
RightTouchLED.setColor(orange);
}
else {
if (BelowColor.detects(purple)) {
RightTouchLED.setColor(purple);
}
else {
if (BelowColor.detects(red_violet)) {
RightTouchLED.setColor(red_violet);
}
else {
if (BelowColor.detects(violet)) {
RightTouchLED.setColor(violet);
}
else {
if (BelowColor.detects(blue_violet)) {
RightTouchLED.setColor(blue_violet);
}
else {
if (BelowColor.detects(blue_green)) {
RightTouchLED.setColor(blue_green);
}
else {
if (BelowColor.detects(yellow_green)) {
RightTouchLED.setColor(yellow_green);
}
else {
if (BelowColor.detects(yellow_orange)) {
RightTouchLED.setColor(yellow_orange);
}
else {
if (BelowColor.detects(red_orange)) {
RightTouchLED.setColor(red_orange);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
wait(20, msec);
}
}
// "when I receive message1" hat block
void onevent_message1_0() {
// this says to play the random loop on the right touch led
while (true) {
LeftTouchLED.setColor(red);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(red_violet);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(red_orange);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(orange);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(yellow_orange);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(white);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(yellow);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(yellow_green);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(green);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(blue_green);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(blue);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(blue_violet);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(violet);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
LeftTouchLED.setColor(purple);
wait(0.25, seconds);
LeftTouchLED.setFade(slow);
wait(20, msec);
}
}
int main() {
// Calibrate the Drivetrain Gyro
calibrateDrivetrain();
task rc_auto_loop_task_Controller(rc_auto_loop_function_Controller);
// register event handlers
message2(onevent_message2_0);
message1(onevent_message1_0);
wait(15, msec);
vex::task ws1(whenStarted2);
vex::task ws2(whenStarted3);
whenStarted1();
}