Subversion Repositories svnkaklik

Rev

Rev 208 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log

Rev 208 Rev 210
Line 85... Line 85...
85
  while(get_timer1()<(odocounter+n));
85
  while(get_timer1()<(odocounter+n));
86
  SetServoQ((CASAVR-CASMIN));   
86
  SetServoQ((CASAVR-CASMIN));
87
};
87
};
88
 
88
 
89
disp(7);
89
disp(7);
90
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
-
 
91
while(get_timer1()<(odocounter+20)) // Popojed definovanou vzdalenos
-
 
92
{
-
 
93
   if(read_adc()<128) break; // Neprejeli jsme caru?
-
 
94
};
-
 
95
set_pwm1_duty(0);    // reverz (zabrzdi)
-
 
96
set_pwm2_duty(0);
-
 
97
output_high(MOT_L);
-
 
98
output_high(MOT_R);
-
 
99
delay_ms(300);
-
 
100
brzda();
-
 
101
 
-
 
102
disp(8);
-
 
103
SetServo(CASMIN);   // max. doleva                 L
-
 
104
set_pwm1_duty(0);   // vzad
-
 
105
set_pwm2_duty(0);
-
 
106
output_low(MOT_L);
-
 
107
output_high(MOT_R);
-
 
108
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
-
 
109
while(get_timer1()<(odocounter+10)) // Popojed definovanou vzdalenost
-
 
110
{
-
 
111
   if(read_adc()<128) break; // Neprejeli jsme caru?
-
 
112
};
-
 
113
 
-
 
114
disp(9);
-
 
115
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
-
 
116
while(get_timer1()<(odocounter+3)); // Jeste trochu doprava, aby byla cara mezi krajnimi cidly
-
 
117
set_pwm1_duty(0);    // reverz (zabrzdi)
-
 
118
set_pwm2_duty(255);
-
 
119
output_low(MOT_L);
-
 
120
output_low(MOT_R);
-
 
121
delay_ms(150);
-
 
122
brzda();
-
 
123
 
-
 
124
disp(10);
90
while(true)
125
SetServo((CASAVR-CASMIN));   // rovne              S
-
 
126
set_pwm1_duty(255);  // Rozjezd na plny vykon vpred
-
 
127
set_pwm2_duty(255);
-
 
128
output_low(MOT_L);
-
 
129
output_low(MOT_R);
-
 
130
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
-
 
131
while(get_timer1()<(odocounter+2)) // Uz jedeme? (prekonani sertvacne sily)
-
 
132
{
91
{
133
   set_adc_channel(LMAX);    // Levy UV sensor
92
   set_adc_channel(LMAX);    // Levy UV sensor
134
   delay_us(40);
93
   delay_us(40);
135
   if(read_adc()<128) {cas=CASMIN; break;};  // Prejeli jsme caru vlevo
94
   if(read_adc()<128) {cas=CASMIN; break;};  // Prejeli jsme caru vlevo
136
   set_adc_channel(RMAX);    // Pravy UV sensor
95
   set_adc_channel(RMAX);    // Pravy UV sensor
137
   delay_us(40);
96
   delay_us(40);
138
   if(read_adc()<128) {cas=CASMAX; break;};  // Prejeli jsme caru vpravo
97
   if(read_adc()<128) {cas=CASMAX; break;};  // Prejeli jsme caru vpravo
-
 
98
}
-
 
99
 
-
 
100
if(cas==CASMIN)
-
 
101
{
-
 
102
   set_adc_channel(RMAX);    // Pravy UV sensor
-
 
103
   delay_us(40);
-
 
104
   while(read_adc()>128);     // Prejel caru?
-
 
105
   while(read_adc()<128);
-
 
106
}
-
 
107
else
-
 
108
{
-
 
109
   set_adc_channel(LMAX);    // Levy UV sensor
-
 
110
   delay_us(40);
-
 
111
   while(read_adc()>128);     // Prejel caru?
-
 
112
   while(read_adc()<128);
-
 
113
}
-
 
114
// Tady jsou s velkou pravdepodobnosti obe cidla za carou
-
 
115
 
-
 
116
set_adc_channel(RMAX); 
-
 
117
SetServo(CASMAX-40);   // stredne doprava
-
 
118
while(read_adc()>128);
-
 
119
 
-
 
120
 
139
   cas=CASAVR-CASMIN;    // Cara je rovne
121
cas=CASAVR-CASMIN; // Cara je rovne
140
};
-
 
141
 
122
 
142
disp(11);
-
 
143
//stav=cihla;    // Stav po objeti cihly, uz zadna cihla asi nebude
123
//stav=cihla;    // Stav po objeti cihly, uz zadna cihla asi nebude
144
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
124
//odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
145
rr=60;   // Nerozumna rychlost pro rozjeti
125
//rr=60;   // Nerozumna rychlost pro rozjeti