void freeze_halt() { ao(); for(int i = 0; i < 8; ++i) { set_analog_pullup(i, 1); } for(int i = 8; i < 16; ++i) { set_digital_output(i, 0); set_digital_pullup(i, 1); } create_stop(); }
void main() { calibrate(); enable_servos(); set_digital_pullup(BUTTON,1); //set_servo_position(SERVO,800); int on=1; int intervall = 5; while(!b_button()){ if(digital(BUTTON)){ stop(); msleep(400); printf("button pressed"); on=(on+1)%2; } if(on){ drive_speed=analog10(SPEED_SENSOR)/10; if(drive_speed>100){ drive_speed=100; } forward(); while(analog10(LEFT_SENSOR)>=left_blk-150){ turn_left() ; set_servo_position(SERVO,servo_pos); if(digital(BUTTON)){ on=(on+1)%2;msleep(100);} if(servo_pos>=400||servo_pos<=0){intervall*=-1; } servo_pos=servo_pos+intervall; } while(analog10(RIGHT_SENSOR)>=right_blk-150){ turn_right(); set_servo_position(SERVO,servo_pos); if(digital(BUTTON)){ on=(on+1)%2;msleep(100);} if(servo_pos>=400||servo_pos<=0){intervall*=-1; } servo_pos=servo_pos+intervall; } set_servo_position(SERVO,servo_pos); if(servo_pos>=400||servo_pos<=0){intervall*=-1; } servo_pos=servo_pos+intervall; } else{ stop(); } } stop(); }