سلام از اساتید تقاضا دارم نگاهی به این کد که واسه تععقیب خطه و تیریپه الگوریتمه(کد کامل نیست فقط روشه ) یه نگاهی بیندازن و مشکلات رو بگن ممنون (من فقط از p استفاده کردم ) :wow: :wow: :wow: :wow: :applause: :applause: :applause: :applause:
کد:
void adc_all(void)
	{
	front=read_adc(0);
	right=read_adc(1);
	left_up=read_adc(2);
	right_up=read_adc(3);
	right_mohafez=read_adc(4);
	left=read_adc(5);
	left_mohafez=read_adc(6);
	}
void eror_calculator(void)
	{
	if(front>=black)eror+=0;
	if(right>=black)eror+=20;
	if(right_up>=black)eror+=30;
	if(right_mohafez>=black)eror+=70;
	if(left>=black)eror+=-20;
	if(left_up>=black)eror+=-30;
	if(left_mohafez>=black)eror=-70;
	}
void motor(void)
	{
	if(eror>=0&&eror<=120)
		{
		motor_right_pwm=1015;
		motot_left_pwm=1015-p;
		if(motot_left_pwm<0)
			{
			motor_left=back;
			motor_right=front;
			}
		else
			{
			motor_right=front;
			motor_left=front;
			}
		}
	else if(eror<0&&error<=-120)
		{
		motot_left_pwm=1015;
		motor_right_pwm=1015-p;
		if(motot_right_pwm<0)
			{
			motor_right=back;
			motor_left=front;
			}
		else
			{
			motor_left=front;
			motor_right=front;
			}
		}
	}
void kp(void)
	{
	p=kp*eror;
	}
void line(void)
	{
	adc_all();
	eror_calculator();
	kp();
	motor();
	}