Ejemplo n.º 1
0
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();
}
Ejemplo n.º 2
0
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();
}