Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 234 → Rev 235

/roboti/istrobot/camerus/SW/876/objizdka_L.c
11,9 → 11,11
okolo_cihly ridic; // V jakem jsme stavu objizdeni cihly
int8 vzdalenost;
 
touch=0; // Indikator detekce cary pri objizdeni
 
cihla:
 
rr=20;
rr=20; //!!! Rozumna rychlost pro objizdeni cihly (bylo by lepsi rychlost zvysovat) a pri detekci pohybu zase snizit
disp(0x99);
set_pwm1_duty(0); // zabrzdi levym kolem, prave vpred
set_pwm2_duty(150);
38,7 → 40,6
};
 
//------ Objeti cihly v konstantni vzdalenosti ------
touch=0;
ridic=pred_carou;
cas=CASAVR-CASMIN; // rovne
output_low(MOT_L); // vpred
45,8 → 46,21
output_low(MOT_R);
while(true)
{
if(!input(IRRX)) // hrozi celni srazka s cihlou v prubehu objizdeni
if(BUMPER) // Narazili jsme do cihly, musime couvnout!
{
set_pwm1_duty(0); // couvni, rovne dozadu
set_pwm2_duty(0);
output_high(MOT_L);
output_high(MOT_R);
disp(0xA5);
SetServo(CASAVR-CASMIN);
SaveLog(log-1); // Zapis Black Boxu do EEPROM
goto cihla; // Znovu zacni cihlu objizdet
// Pozor! Pamatuje se, jestli jsme uz neprejeli caru!
};
if(IRRX) // hrozi celni srazka s cihlou v prubehu objizdeni
{
cas=CASMIN;
}
else
140,24 → 154,3
 
output_low(MOT_L); // oba motory vpred
output_low(MOT_R);
/*
set_pwm1_duty(0); // vypni motory
set_pwm2_duty(0);
 
SetServo(CASAVR-CASMIN); // doprostred
 
set_pwm1_duty(255); // max. vpred
set_pwm2_duty(255);
output_low(MOT_L);
output_low(MOT_R);
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
while(get_timer1()<(odocounter+2)) // Ujed kousek
{
set_adc_channel(LMAX); // Levy UV sensor
delay_us(40);
if(read_adc()<THR) {cas=CASMIN; break;}; // Prejeli jsme caru vlevo
set_adc_channel(RMAX); // Pravy UV sensor
delay_us(40);
if(read_adc()<THR) {cas=CASMAX; break;}; // Prejeli jsme caru vpravo
};
*/