void start_buttons() { extra_buttons_show(); set_a_button_text("Image"); set_b_button_text("Grayscale"); set_c_button_text("Canny"); set_x_button_text("HoughLines"); set_y_button_text("Take picture"); }
int main() { msleep(2500); set_analog_pullup(ET_s , 0); extra_buttons_show(1); // show three extra buttons set_a_button_text("COORDS"); // set the text of various buttons set_b_button_text("POM SIZE"); set_c_button_text("BOTGUY SIZE"); set_x_button_text("CUBE SIZE"); lego.left.port = 0; // set motor ports lego.right.port = 2; camera_open(LOW_RES); camera_update(); while (a_button() == 0) // press the a button to set the coordinates { camera_update(); target.green.x = get_object_center(0 , 0).x; // sets target coordinates (x) target.green.y = get_object_center(0 , 0).y; // sets target coordinates (y) printf("(%d , %d)\n" , target.green.x , target.green.y); msleep(10); } while (b_button() == 0) { camera_update(); target.green.size = get_object_area(0 , 0); target.orange.size = get_object_area(1 , 0); printf("Orange Size = %d" , target.orange.size); printf(" Green Size = %d\n" , target.green.size); } enable_servo(arm_servo); enable_servo(push_servo); enable_servo(basket_servo); set_servo_position(arm_servo , ARM_UP); set_servo_position(push_servo , P_DOWN); set_servo_position(basket_servo , B_UP); printf("(%d , %d)\n" , target.green.x , target.green.y); while(a_button() == 0) { printf("%d , %d , %d\n" , get_left() , get_middle() , get_right()); } while (1) // line follow until poms are seen { blob_update(); t_line_follow(); if (current.orange.size > target.orange.size && current.green.size > target.green.size) break; } blob_update(); get_pom(); // pick up a pom pom_push(); // push it into the basket while (1) // turn to next pom { blob_update(); mav(lego.left.port , 300); mav(lego.right.port , -300); msleep(10); if (current.green.size > target.green.size) break; } blob_update(); get_pom(); // pick up pom pom_push(); // push it into the basket avoid_cubeguy(); // avoid the cube or botguy avoid_booster(); while (1) { blob_update(); t_line_follow(); if (current.orange.size > target.orange.size && current.green.size > target.green.size) break; } blob_update(); pom_push(); while (1) { blob_update(); mav(lego.left.port , 300); mav(lego.right.port , -300); msleep(10); if (current.green.size > target.green.size) break; } blob_update(); get_pom(); pom_push(); avoid_cubeguy(); int start_time = seconds(); int t; while (1) { t_line_follow(); if (seconds() < start_time + t) break; } while (1) { } }
int main() { int m1=0,m2=3,pageno=0; double createDriveTime; printf("Start!\n"); extra_buttons_show(); while (1) { while (pageno == 0) { set_a_button_text("Forward"); set_b_button_text("Backward"); set_c_button_text("All Off"); set_x_button_text("OpenHand"); set_y_button_text("CloseHand"); set_z_button_text("Create Page"); if (a_button_clicked()) { printf("Moving forward...\n"); motor(m1,100); motor(m2,100); while (!c_button_clicked()) { msleep(1); } ao(); } if (b_button_clicked()) { printf("Moving backward...\n"); motor(m1,-100); motor(m2,-100); while (!c_button_clicked()) { msleep(1); } ao(); } if (x_button_clicked()) { enable_servo(3); set_servo_position(3,0); msleep(300); disable_servo(3); } if (y_button_clicked()) { enable_servo(3); set_servo_position(3,1300); msleep(300); disable_servo(3); } if (z_button_clicked()) { pageno=1; create_connect(); } } while (pageno == 1) { set_a_button_text("Create Fwd"); set_b_button_text("Create Bwd"); set_c_button_text("Stop"); set_x_button_text("Turn R"); set_y_button_text("Turn L"); set_z_button_text("M S Page"); if (a_button_clicked()) { createDriveTime = 0; printf("Create Moving forward w/ spd 100...\n"); create_drive_straight(100); createDriveTime = seconds(); while (!c_button_clicked()) { msleep(1); } create_stop(); printf("Time: %f seconds\n",seconds() - createDriveTime ); } if (b_button_clicked()) { createDriveTime = 0; printf("Create Moving backward w/ spd 100...\n"); create_drive_straight(-100); createDriveTime = seconds(); while (!c_button_clicked()) { msleep(1); } create_stop(); printf("Time: %f seconds\n",seconds() - createDriveTime ); } if (x_button_clicked()) { create_drive(-50,0); while (!c_button_clicked()) { msleep(1); } create_stop(); } if (y_button_clicked()) { create_drive(50,0); while (!c_button_clicked()) { msleep(1); } create_stop(); } if (z_button_clicked()) { pageno=0; create_disconnect(); } } } return 0; }