| 193 |
kakl |
1 |
// **** Objeti cihly vpravo **** RRRR
|
|
|
2 |
|
|
|
3 |
SetServo(CASMIN); // max. doleva L
|
|
|
4 |
set_pwm1_duty(0); // vzad
|
| 196 |
kakl |
5 |
set_pwm2_duty(10);
|
| 193 |
kakl |
6 |
output_low(MOT_L);
|
|
|
7 |
output_high(MOT_R);
|
| 198 |
kakl |
8 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
| 200 |
kakl |
9 |
while(get_timer1()<(odocounter+10)); // Popojed definovanou vzdalenost
|
| 193 |
kakl |
10 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
11 |
set_pwm2_duty(255);
|
|
|
12 |
output_low(MOT_L);
|
|
|
13 |
output_low(MOT_R);
|
| 196 |
kakl |
14 |
delay_ms(215);
|
| 193 |
kakl |
15 |
brzda();
|
|
|
16 |
|
|
|
17 |
SetServo((CASAVR-CASMIN)); // rovne S
|
| 196 |
kakl |
18 |
set_pwm1_duty(160); // vpred
|
|
|
19 |
set_pwm2_duty(160);
|
| 193 |
kakl |
20 |
output_low(MOT_L);
|
|
|
21 |
output_low(MOT_R);
|
| 198 |
kakl |
22 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
| 200 |
kakl |
23 |
while(get_timer1()<(odocounter+10)); // Popojed definovanou vzdalenost
|
| 193 |
kakl |
24 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
25 |
set_pwm2_duty(0);
|
|
|
26 |
output_high(MOT_L);
|
|
|
27 |
output_high(MOT_R);
|
| 196 |
kakl |
28 |
delay_ms(250);
|
| 193 |
kakl |
29 |
brzda();
|
|
|
30 |
|
|
|
31 |
SetServo(CASMIN); // max. doleva L
|
|
|
32 |
set_pwm1_duty(0); // vpred
|
| 196 |
kakl |
33 |
set_pwm2_duty(220);
|
| 193 |
kakl |
34 |
output_low(MOT_L);
|
|
|
35 |
output_low(MOT_R);
|
| 198 |
kakl |
36 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
| 200 |
kakl |
37 |
while(get_timer1()<(odocounter+7)); // Popojed definovanou vzdalenost
|
| 193 |
kakl |
38 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
39 |
set_pwm2_duty(0);
|
|
|
40 |
output_low(MOT_L);
|
|
|
41 |
output_high(MOT_R);
|
| 196 |
kakl |
42 |
delay_ms(250);
|
| 193 |
kakl |
43 |
brzda();
|
|
|
44 |
|
|
|
45 |
SetServo((CASAVR-CASMIN)); // rovne S
|
| 196 |
kakl |
46 |
set_pwm1_duty(160); // vpred
|
|
|
47 |
set_pwm2_duty(160);
|
| 193 |
kakl |
48 |
output_low(MOT_L);
|
|
|
49 |
output_low(MOT_R);
|
| 198 |
kakl |
50 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
| 200 |
kakl |
51 |
while(get_timer1()<(odocounter+10)); // Popojed definovanou vzdalenost
|
| 193 |
kakl |
52 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
53 |
set_pwm2_duty(0);
|
|
|
54 |
output_high(MOT_L);
|
|
|
55 |
output_high(MOT_R);
|
| 196 |
kakl |
56 |
delay_ms(250);
|
| 193 |
kakl |
57 |
brzda();
|
|
|
58 |
|
|
|
59 |
SetServo(CASMIN); // max. doleva L
|
|
|
60 |
set_pwm1_duty(0); // vpred
|
| 196 |
kakl |
61 |
set_pwm2_duty(220);
|
| 193 |
kakl |
62 |
output_low(MOT_L);
|
|
|
63 |
output_low(MOT_R);
|
| 198 |
kakl |
64 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
| 200 |
kakl |
65 |
while(get_timer1()<(odocounter+7)); // Popojed definovanou vzdalenost
|
| 193 |
kakl |
66 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
67 |
set_pwm2_duty(0);
|
|
|
68 |
output_low(MOT_L);
|
|
|
69 |
output_high(MOT_R);
|
| 196 |
kakl |
70 |
delay_ms(250);
|
| 200 |
kakl |
71 |
|
|
|
72 |
set_adc_channel(RMAX); // A/D prevodnik na cteni praveho UV cidla
|
| 193 |
kakl |
73 |
brzda();
|
|
|
74 |
|
|
|
75 |
SetServo((CASAVR-CASMIN)); // rovne S
|
| 196 |
kakl |
76 |
set_pwm1_duty(160); // vpred
|
|
|
77 |
set_pwm2_duty(160);
|
| 193 |
kakl |
78 |
output_low(MOT_L);
|
|
|
79 |
output_low(MOT_R);
|
| 198 |
kakl |
80 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
| 200 |
kakl |
81 |
while(get_timer1()<(odocounter+9)) // Popojed definovanou vzdalenost
|
|
|
82 |
{
|
|
|
83 |
if(read_adc()<128) break; // Neprejeli jsem caru?
|
|
|
84 |
};
|
|
|
85 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
|
|
86 |
while(get_timer1()<(odocounter+3)); // Popojed definovanou vzdalenost
|
| 193 |
kakl |
87 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
88 |
set_pwm2_duty(0);
|
|
|
89 |
output_high(MOT_L);
|
|
|
90 |
output_high(MOT_R);
|
| 196 |
kakl |
91 |
delay_ms(250);
|
| 193 |
kakl |
92 |
brzda();
|
|
|
93 |
|
| 200 |
kakl |
94 |
SetServo(CASMIN); // max. doleva L
|
|
|
95 |
set_pwm1_duty(0); // vzad
|
|
|
96 |
set_pwm2_duty(10);
|
| 196 |
kakl |
97 |
output_low(MOT_L);
|
| 200 |
kakl |
98 |
output_high(MOT_R);
|
|
|
99 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
|
|
100 |
while(get_timer1()<(odocounter+10)) // Popojed definovanou vzdalenost
|
|
|
101 |
{
|
|
|
102 |
if(read_adc()<128) break; // Neprejeli jsem caru?
|
|
|
103 |
};
|
| 202 |
kakl |
104 |
odocounter=get_timer1(); // Poznamenej aktualni stav odometrie
|
|
|
105 |
while(get_timer1()<(odocounter+3)); // Popojed definovanou vzdalenost
|
| 200 |
kakl |
106 |
set_pwm1_duty(0); // reverz (zabrzdi)
|
|
|
107 |
set_pwm2_duty(255);
|
|
|
108 |
output_low(MOT_L);
|
| 196 |
kakl |
109 |
output_low(MOT_R);
|
| 200 |
kakl |
110 |
delay_ms(200);
|
|
|
111 |
brzda();
|
| 196 |
kakl |
112 |
|
| 200 |
kakl |
113 |
SetServo((CASAVR-CASMIN)); // rovne S
|
|
|
114 |
set_pwm1_duty(255); // vpred
|
|
|
115 |
set_pwm2_duty(255);
|
|
|
116 |
output_low(MOT_L);
|
|
|
117 |
output_low(MOT_R);
|
|
|
118 |
|
| 202 |
kakl |
119 |
cas=CASAVR-CASMIN; // Cara je rovne
|
| 193 |
kakl |
120 |
|
| 196 |
kakl |
121 |
//!!!!!!!!!!!!!!!!! stav=cihla; // Stav po objeti cihly, uz zadna cihla nebude
|