Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 207 → Rev 208

/roboti/istrobot/camerus/SW/876/camerus.c
107,12 → 107,12
output_low(MOT_R);
output_high(MOT_1);
output_high(MOT_2);
delay_us(400);
delay_us(200);
output_high(MOT_L);
output_high(MOT_R);
output_low(MOT_1);
output_low(MOT_2);
delay_us(400);
delay_us(200);
}
output_low(MOT_L); // smer vpred
output_low(MOT_R);
174,9 → 174,9
output_low(MOT_R);
return;
};
 
SetServo((CASAVR-CASMIN)); // rovne
/*
SetServo((CASAVR-CASMIN)); // rovne
 
set_pwm1_duty(140); // vpred
set_pwm2_duty(140);
output_low(MOT_L);
193,7 → 193,7
output_high(MOT_L);
output_high(MOT_R);
*/
delay_ms(200);
delay_ms(100);
brzda();
 
//!!! if(stav==cihla) while(true); // Zastav na furt, konec drahy
399,7 → 399,7
// r2<<=1; // Rozsah 2 az 184
 
/* Nerozumna rychlost po cihle
if ((stav==cihla)&&(get_timer1()>(odocounter+5))) // Snizime rychlost po ujeti
if ((stav==cihla)&&(get_timer1()>(odocounter+5))) // Snizime rychlost po ujeti
{
rr=rrold;
stav=pocihle;
/roboti/istrobot/camerus/SW/876/objizdka_R.c
1,10 → 1,11
// **** Objeti cihly vpravo **** RRRR
int8 n,i;
 
set_adc_channel(RMAX);
 
SetServo(CASMIN); // max. doleva L
set_pwm1_duty(0); // vzad
set_pwm2_duty(10);
set_pwm2_duty(0);
output_low(MOT_L);
output_high(MOT_R);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
17,7 → 18,6
brzda();
 
disp(1);
 
SetServo((CASAVR-CASMIN)); // rovne S
set_pwm1_duty(160); // vpred
set_pwm2_duty(160);
24,57 → 24,71
output_low(MOT_L);
output_low(MOT_R);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+5)); // Popojed definovanou vzdalenost
for(n=1;n<=7;n++)
{
while(get_timer1()<(odocounter+n)); // Popojed
SetServoQ((CASAVR-CASMIN));
};
 
i=0;
 
disp(2);
SetServoQ((CASAVR-CASMIN)-20);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(120);
set_pwm1_duty(130);
set_pwm2_duty(140);
odocounter=get_timer1();
for(n=1;n<=10;n++)
{
while(get_timer1()<(odocounter+n));
SetServoQ((CASAVR-CASMIN)-i);
set_pwm1_duty(130-i);
i+=8;
};
 
disp(3);
SetServoQ((CASAVR-CASMIN)-30);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(100);
odocounter=get_timer1();
for(n=1;n<=6;n++)
{
while(get_timer1()<(odocounter+n));
SetServoQ((CASAVR-CASMIN)-i);
set_pwm1_duty(130-i);
i-=8;
};
 
disp(4);
SetServoQ((CASAVR-CASMIN)-60);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(80);
odocounter=get_timer1();
for(n=1;n<=6;n++)
{
while(get_timer1()<(odocounter+n));
SetServoQ((CASAVR-CASMIN)-i);
set_pwm1_duty(130-i);
i+=8;
};
 
disp(5);
SetServoQ((CASAVR-CASMIN)-40);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(80);
odocounter=get_timer1();
for(n=1;n<=5;n++)
{
while(get_timer1()<(odocounter+n));
SetServoQ((CASAVR-CASMIN)-i);
set_pwm1_duty(130-i);
i-=16;
};
 
disp(6);
SetServoQ((CASAVR-CASMIN)-70);
set_pwm1_duty(80); // vpred
set_pwm2_duty(80);
output_low(MOT_L);
output_low(MOT_R);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(80);
for(n=1;n<=3;n++)
{
while(get_timer1()<(odocounter+n));
SetServoQ((CASAVR-CASMIN));
};
 
disp(7);
SetServoQ((CASAVR-CASMIN)-60);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(100);
 
disp(8);
SetServoQ((CASAVR-CASMIN)-30);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
set_pwm1_duty(120);
 
disp(9);
SetServoQ((CASAVR-CASMIN)); // Rovne
set_pwm1_duty(80); // vpred
set_pwm2_duty(80);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+10)) // Popojed definovanou vzdalenos
while(get_timer1()<(odocounter+20)) // Popojed definovanou vzdalenos
{
if(read_adc()<128) break; // Neprejeli jsme caru?
};
85,10 → 99,10
delay_ms(300);
brzda();
 
disp(10);
disp(8);
SetServo(CASMIN); // max. doleva L
set_pwm1_duty(0); // vzad
set_pwm2_duty(10);
set_pwm2_duty(0);
output_low(MOT_L);
output_high(MOT_R);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
97,7 → 111,7
if(read_adc()<128) break; // Neprejeli jsme caru?
};
 
disp(11);
disp(9);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+3)); // Jeste trochu doprava, aby byla cara mezi krajnimi cidly
set_pwm1_duty(0); // reverz (zabrzdi)
104,10 → 118,10
set_pwm2_duty(255);
output_low(MOT_L);
output_low(MOT_R);
delay_ms(200);
delay_ms(150);
brzda();
 
disp(12);
disp(10);
SetServo((CASAVR-CASMIN)); // rovne S
set_pwm1_duty(255); // Rozjezd na plny vykon vpred
set_pwm2_duty(255);
125,7 → 139,7
cas=CASAVR-CASMIN; // Cara je rovne
};
 
disp(13);
disp(11);
//stav=cihla; // Stav po objeti cihly, uz zadna cihla asi nebude
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
rr=60; // Nerozumna rychlost pro rozjeti