void calibrate_color() { int i; int j; highval[20] = 0 ; highval[18] = 0; highval[4] = 0; highval[6] = 0; lowval[20] = 255; lowval[18] = 255; lowval[4] = 255; lowval[6] = 255; i = analog(4); i = analog(6); i = analog(20); i = analog(18); go_direction(0,1); for (j=0;j<100;j++) { sleep(.002); i = analog(20); highval[20] = max(i,highval[20]); lowval[20] = min(i,lowval[20]); i = analog(18); highval[18] = max(i,highval[18]); lowval[18] = min(i,lowval[18]); i = analog(4); highval[4] = max(i,highval[4]); lowval[4] = min(i,lowval[4]); i = analog(6); highval[6] = max(i,highval[6]); lowval[6] = min(i,lowval[6]); } sleep(.5); turn(90); go_direction(0,0); } void calibrate_color_dumb() { int i = 0; int j; highval[20] = 0 ; highval[18] = 0; highval[4] = 0; highval[6] = 0; lowval[20] = 0; lowval[18] = 0; lowval[4] = 0; lowval[6] = 0; printf("\ndark color"); sleep(.3); start_press(); while (i++ < 100) { sleep(.01); j = analog(16); highval[20] += analog(20); highval[18] += analog(18); highval[4] += analog(4); highval[6] += analog(6); } highval[20] = highval[20]/100; highval[18] = highval[18]/100; highval[18] = min(highval[18],64); highval[4] = highval[4]/100; highval[6] = highval[6]/100; printf("\nlight color"); start_press(); i = 0; while (i++ < 100) { sleep(.01); j = analog(16); lowval[20] += analog(20); lowval[18] += analog(18); lowval[4] += analog(4); lowval[6] += analog(6); } lowval[20] = lowval[20]/100; lowval[18] = lowval[18]/100; lowval[4] = lowval[4]/100; lowval[6] = lowval[6]/100; turn(90); go_direction(0,0); } void choose_bad_sensor() { while (stop_button() == 0) { printf("\nSensor: %d",badsensor); if (start_button()) { if (badsensor == 0) { badsensor = 18; } else if (badsensor == 18) { badsensor = 20; } else { badsensor = 0; } } sleep(.1); } } void calibrate_90_turn() { while (digital(ARM_LOADED_SENSOR) == 0) { printf("\nTicks: %d",TURN_90_DIST); if (start_button()) { TURN_90_DIST = TURN_90_DIST + 1; } else if (stop_button()) { TURN_90_DIST = TURN_90_DIST - 1; } else if (digital(LOAD_SENSOR)) { sleep(.2); if (digital(LOAD_SENSOR)) { sleep(.5); turn(-90); } else { sleep(.5); turn(90); } } sleep(.1); } } void calibrate_half_turn() { while (digital(ARM_LOADED_SENSOR) == 0) { printf("\nTicks: %d",HALF_TURN_DIST); if (start_button()) { HALF_TURN_DIST = HALF_TURN_DIST + 1; } else if (stop_button()) { HALF_TURN_DIST = HALF_TURN_DIST - 1; } else if (digital(LOAD_SENSOR)) { sleep(.2); half_turn(); } sleep(.1); } } void calibrate_straight() { while (digital(ARM_LOADED_SENSOR) == 0) { printf("\nSetting: %d",STRAIGHT_SETTING); if (start_button()) { STRAIGHT_SETTING = STRAIGHT_SETTING + 5; } else if (stop_button()) { STRAIGHT_SETTING = STRAIGHT_SETTING - 5; } else if (digital(LOAD_SENSOR)) { sleep(.2); if (digital(LOAD_SENSOR)) { sleep(.5); go_direction(0,-1); sleep(3.); go_direction(0,0); } else { sleep(.5); go_direction(0,1); sleep(3.); go_direction(0,0); } } sleep(.1); } } void calibrate_180_turn() { while (digital(ARM_LOADED_SENSOR) == 0) { printf("\nTicks: %d",TURN_180_DIST); if (start_button()) { TURN_180_DIST = TURN_180_DIST + 1; } else if (stop_button()) { TURN_180_DIST = TURN_180_DIST - 1; } else if (digital(LOAD_SENSOR)) { sleep(.2); if (digital(LOAD_SENSOR)) { sleep(.5); turn(-180); } else { sleep(.5); turn(180); } } sleep(.1); } } void show_sensor_data() { int i; while (1) { printf("\n"); print_num(analog(4)); printf(" "); print_num(analog(6)); printf(" "); print_num(analog(20)); printf(" "); print_num(analog(18)); printf(" "); print_num(standardize_sensor(4)); printf(" "); print_num(standardize_sensor(6)); printf(" "); print_num(standardize_sensor(20)); printf(" "); print_num(standardize_sensor(18)); sleep(.1); } } void show_wheel_dist() { int i; while (1) { printf("\n%d",read_encoder(WHEEL_ENCODER)); sleep(.1); } } void print_num(int number) { printf("%d",number); if (number < 100) { printf(" "); } if (number < 10) { printf(" "); } /* int num_spaces; printf("%d",number); for (num_spaces = length; (10 ^ num_spaces) > number; num_spaces = num_spaces - 1) { printf(" "); }*/ }