1,7 → 1,6 |
//********* Robot Camerus pro IstRobot 2007 ************ |
//"$Id$" |
//***************************************************** |
// Verze pouzita na Robot Challenge |
|
#include ".\camerus.h" |
|
36,7 → 35,8 |
|
#define OFFSETO 0x9F //0x9F // Vystredeni serva pro objeti prekazky |
|
#define TRESHOLD 128 |
#define THR_H 128 |
#define THR_L 90 |
|
#byte INTCON = 0x0B // Interrupt configuration register |
#bit GIE = INTCON.7 |
172,7 → 172,7 |
return; |
}; |
output_low(IRTX); // Zapni LED na detekci prekazky |
delay_ms(10); |
delay_ms(5); |
if (input(IRRX)) // stale nas signal? |
{ |
output_low(MOT_L); // neni odraz -> vpred |
180,10 → 180,6 |
return; |
}; |
|
SetServo((CASAVR-CASMIN)); // rovne |
delay_ms(100); |
brzda(); |
|
//!!! if(stav==cihla) while(true); // Zastav na furt, konec drahy |
// if(stav==cihla) return; // Po druhe nic neobjizdej |
// Pozor na rozjezd |
190,7 → 186,7 |
|
if(stav==jizda) // Objed cihlu |
{ |
#include ".\objizdka_R.c" |
#include ".\objizdka_L.c" |
} |
} |
|
430,10 → 426,10 |
{ |
set_adc_channel(LMAX); // Levy UV sensor |
delay_us(40); |
if(read_adc()<TRESHOLD) {cas=CASMIN; break;}; // Prejeli jsme caru vlevo |
if(read_adc()<THR_L) {cas=CASMIN; break;}; // Prejeli jsme caru vlevo |
set_adc_channel(RMAX); // Pravy UV sensor |
delay_us(40); |
if(read_adc()<TRESHOLD) {cas=CASMAX; break;}; // Prejeli jsme caru vpravo |
if(read_adc()<THR_L) {cas=CASMAX; break;}; // Prejeli jsme caru vpravo |
cas=CASAVR-CASMIN; // Cara je rovne |
}; |
stav=rozjezd; |
448,10 → 444,10 |
{ |
set_adc_channel(LMAX); // Levy UV sensor |
for(n=0;n<20;n++) if(input(HREF)) goto next_snap; |
if(read_adc()<TRESHOLD) cas=CASMIN; |
if(read_adc()<THR_L) cas=CASMIN; |
set_adc_channel(RMAX); // Pravy UV sensor |
for(n=0;n<20;n++) if(input(HREF)) goto next_snap; |
if(read_adc()<TRESHOLD) cas=CASMAX; |
if(read_adc()<THR_L) cas=CASMAX; |
}; |
} |
} |