19,6 → 19,7 |
#define CP PIN_B1 // K modulu LEDbar hodiny |
#define ODO PIN_A4 // Ze snimace z odometrie z praveho kola |
//#define CIHLA PIN_B0 // Vstup INT, generuje preruseni pri prekazce |
#define IRLED PIN_C0 // Modulovani vysilaci IR LED na detekci prekazky |
|
#define CASMIN 6 // Rozsah radku snimace |
#define CASMAX 192 |
41,7 → 42,7 |
void SetServo(int8 angle) |
{ |
int8 n, offset; |
|
|
for(n=0; n<20; n++) |
{ |
set_adc_channel(MODRA); // Kroutitko na vystredeni predniho kolecka |
57,7 → 58,7 |
delay_us(angle); |
output_low(SERVO); |
delay_ms(18); |
} |
} |
} |
|
#int_EXT |
75,7 → 76,7 |
{ |
int n; |
|
SetServo(CASAVR-CASMIN); |
SetServo(CASAVR-CASMIN); |
set_pwm1_duty(40); // pomalu couvej |
set_pwm2_duty(40); |
output_high(MOT_L); |
99,7 → 100,7 |
output_low(MOT_R); |
delay_ms(1000); |
|
SetServo((CASAVR-CASMIN)-20); // doleva |
SetServo((CASAVR-CASMIN)-20); // doleva |
set_pwm1_duty(150); // vpred |
set_pwm2_duty(200); |
output_low(MOT_L); |
118,7 → 119,7 |
output_high(MOT_L); |
output_high(MOT_R); |
|
SetServo((CASAVR-CASMIN)); // rovne |
SetServo((CASAVR-CASMIN)); // rovne |
set_pwm1_duty(140); // vpred |
set_pwm2_duty(140); |
output_low(MOT_L); |
143,7 → 144,7 |
output_high(MOT_R); |
delay_ms(1000); |
|
SetServo(CASMIN); // max. doleva |
SetServo(CASMIN); // max. doleva |
set_pwm1_duty(0); // vzad |
set_pwm2_duty(20); |
output_low(MOT_L); |
169,7 → 170,7 |
delay_ms(500); |
|
|
SetServo((CASAVR-CASMIN)+5); // mirne doprava |
SetServo((CASAVR-CASMIN)+5); // mirne doprava |
set_pwm1_duty(180); // vpred |
set_pwm2_duty(180); |
output_low(MOT_L); |
191,7 → 192,7 |
|
|
cas=CASMIN; // Cara je vlevo |
|
|
stav=cihla; |
} |
} |
264,6 → 265,8 |
output_low(MOT_L); |
output_low(MOT_R); |
|
output_low(IRLED); // Zapni LED na detekci prekazky |
|
NightRider(1); // Aby se poznalo, ze byl RESET |
// Musi se pockat, nez se rozjede kamera, nez se do ni zacnou posilat prikazy |
|
454,9 → 457,5 |
} |
disp(pom); |
|
output_high(PIN_C0); |
delay_ms(1); |
output_low(PIN_C0); |
|
}; |
} |