Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 195 → Rev 196

/roboti/istrobot/camerus/SW/876/camerus.PJT
34,8 → 34,8
1=C:\dokumenty\svn\Kaklik\roboti\istrobot\camerus\SW\876\camerus.c
2=C:\dokumenty\svn\Kaklik\roboti\istrobot\camerus\SW\876\camerus.h
3=C:\Program Files\PICC\devices\16F876A.h
4=C:\dokumenty\svn\Kaklik\roboti\istrobot\camerus\SW\876\objizdka_L.c
5=C:\dokumenty\svn\Kaklik\roboti\istrobot\camerus\SW\876\objizdka_R.c
4=C:\dokumenty\svn\Kaklik\roboti\istrobot\camerus\SW\876\objizdka_R.c
5=
6=
[Units]
Count=1
/roboti/istrobot/camerus/SW/876/camerus.c
54,7 → 54,7
set_pwm2_duty(0);
setup_ccp1(CCP_OFF);
setup_ccp2(CCP_OFF);
for (n=0;n<150;n++)
for (n=0;n<100;n++)
{
output_low(MOT_L);
output_low(MOT_R);
69,13 → 69,13
}
output_low(MOT_L); // smer vpred
output_low(MOT_R);
setup_ccp1(CCP_PWM); // RC1 // PWM pro motory
setup_ccp1(CCP_PWM); // RC1 // Zapni PWM pro motory
setup_ccp2(CCP_PWM); // RC2
}
 
void SetServo(int8 angle)
{
int8 n, offset;
int8 n;
 
for(n=0; n<14; n++)
{
121,8 → 121,8
set_adc_channel(DALKOMER); // Prepni A/D prevodnik na detektor cihly
SetServo((CASAVR-CASMIN)); // rovne
 
set_pwm1_duty(100); // vpred
set_pwm2_duty(100);
set_pwm1_duty(140); // vpred
set_pwm2_duty(140);
output_low(MOT_L);
output_low(MOT_R);
i=0;
131,14 → 131,15
while(input(ODO)) if(read_adc()<128) goto brzdi; // Je cihla blizko?
while(!input(ODO));
i++;
if(i==8) return; // nedojeli jsme k cihle, jed dal
if(i==7) return; // nedojeli jsme k cihle, jed dal
};
 
brzdi:
set_pwm1_duty(0); // reverz (zabrzdi)
set_pwm2_duty(0);
output_high(MOT_L);
output_high(MOT_R);
delay_ms(100);
delay_ms(150);
brzda();
 
if (stav==cihla) while(true); // Zastav na furt, konec drahy
410,7 → 411,7
set_pwm1_duty(255); // Rychly rozjezd !!! Zkontrolovat na oscyloskopu
set_pwm2_duty(255);
disp(0x1);
delay_ms(400);
delay_ms(300);
stav=jizda;
};
}
/roboti/istrobot/camerus/SW/876/objizdka_R.c
4,7 → 4,7
 
SetServo(CASMIN); // max. doleva L
set_pwm1_duty(0); // vzad
set_pwm2_duty(20);
set_pwm2_duty(10);
output_low(MOT_L);
output_high(MOT_R);
n=0;
19,12 → 19,12
set_pwm2_duty(255);
output_low(MOT_L);
output_low(MOT_R);
delay_ms(150);
delay_ms(215);
brzda();
 
SetServo((CASAVR-CASMIN)); // rovne S
set_pwm1_duty(140); // vpred
set_pwm2_duty(140);
set_pwm1_duty(160); // vpred
set_pwm2_duty(160);
output_low(MOT_L);
output_low(MOT_R);
n=0;
39,12 → 39,12
set_pwm2_duty(0);
output_high(MOT_L);
output_high(MOT_R);
delay_ms(200);
delay_ms(250);
brzda();
 
SetServo(CASMIN); // max. doleva L
set_pwm1_duty(0); // vpred
set_pwm2_duty(200);
set_pwm2_duty(220);
output_low(MOT_L);
output_low(MOT_R);
n=0;
59,12 → 59,12
set_pwm2_duty(0);
output_low(MOT_L);
output_high(MOT_R);
delay_ms(200);
delay_ms(250);
brzda();
 
SetServo((CASAVR-CASMIN)); // rovne S
set_pwm1_duty(140); // vpred
set_pwm2_duty(140);
set_pwm1_duty(160); // vpred
set_pwm2_duty(160);
output_low(MOT_L);
output_low(MOT_R);
n=0;
79,12 → 79,12
set_pwm2_duty(0);
output_high(MOT_L);
output_high(MOT_R);
delay_ms(200);
delay_ms(250);
brzda();
 
SetServo(CASMIN); // max. doleva L
set_pwm1_duty(0); // vpred
set_pwm2_duty(200);
set_pwm2_duty(220);
output_low(MOT_L);
output_low(MOT_R);
n=0;
93,18 → 93,18
while(input(ODO));
while(!input(ODO));
n++;
if(n==8) break;
if(n==7) break;
}
set_pwm1_duty(0); // reverz (zabrzdi)
set_pwm2_duty(0);
output_low(MOT_L);
output_high(MOT_R);
delay_ms(200);
delay_ms(250);
brzda();
 
SetServo((CASAVR-CASMIN)); // rovne S
set_pwm1_duty(140); // vpred
set_pwm2_duty(140);
set_pwm1_duty(160); // vpred
set_pwm2_duty(160);
output_low(MOT_L);
output_low(MOT_R);
n=0;
115,15 → 115,28
n++;
if(n==8) break;
}
/*
set_pwm1_duty(0); // reverz (zabrzdi)
set_pwm2_duty(0);
output_high(MOT_L);
output_high(MOT_R);
delay_ms(200);
delay_ms(250);
brzda();
*/
 
// Abysme byli natoceni po smeru jizdy
SetServo(CASMAX); // max. doprava R
set_pwm1_duty(200); // vpred
set_pwm2_duty(0);
output_low(MOT_L);
output_low(MOT_R);
n=0;
while(true)
{
while(input(ODO));
while(!input(ODO));
n++;
if(n==2) break;
}
 
cas=CASMAX; // Cara je vpravo
 
stav=cihla; // Stav po objeti cihly, uz zadna cihla nebude
//!!!!!!!!!!!!!!!!! stav=cihla; // Stav po objeti cihly, uz zadna cihla nebude