Subversion Repositories svnkaklik

Rev

Rev 230 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 230 Rev 235
Line 9... Line 9...
9
int8 touch;
9
int8 touch;
10
enum okolo_cihly {pred_carou,na_care,po_care};
10
enum okolo_cihly {pred_carou,na_care,po_care};
11
okolo_cihly ridic;       // V jakem jsme stavu objizdeni cihly
11
okolo_cihly ridic;       // V jakem jsme stavu objizdeni cihly
12
int8 vzdalenost;
12
int8 vzdalenost;
13
 
13
 
-
 
14
   touch=0;    // Indikator detekce cary pri objizdeni
-
 
15
 
14
cihla:
16
cihla:
15
 
17
 
16
   rr=20;
-
 
-
 
18
   rr=20;   //!!! Rozumna rychlost pro objizdeni cihly (bylo by lepsi rychlost zvysovat) a pri detekci pohybu zase snizit
17
   disp(0x99);
19
   disp(0x99);
18
   set_pwm1_duty(0);    // zabrzdi levym kolem, prave vpred
20
   set_pwm1_duty(0);    // zabrzdi levym kolem, prave vpred
19
   set_pwm2_duty(150);
21
   set_pwm2_duty(150);
20
   output_high(MOT_L);
22
   output_high(MOT_L);
21
   output_low(MOT_R);
23
   output_low(MOT_R);
Line 36... Line 38...
36
      SetServoQ(cas);
38
      SetServoQ(cas);
37
      delay_ms(18);
39
      delay_ms(18);
38
   };
40
   };
39
 
41
 
40
   //------ Objeti cihly v konstantni vzdalenosti ------
42
   //------ Objeti cihly v konstantni vzdalenosti ------
41
   touch=0;
-
 
42
   ridic=pred_carou;
43
   ridic=pred_carou;
43
   cas=CASAVR-CASMIN;   // rovne
44
   cas=CASAVR-CASMIN;   // rovne
44
   output_low(MOT_L);   // vpred
45
   output_low(MOT_L);   // vpred
45
   output_low(MOT_R);
46
   output_low(MOT_R);
46
   while(true)
47
   while(true)
47
   {
48
   {
-
 
49
      if(BUMPER) // Narazili jsme do cihly, musime couvnout!
-
 
50
      {
-
 
51
         set_pwm1_duty(0);    // couvni, rovne dozadu
-
 
52
         set_pwm2_duty(0);
-
 
53
         output_high(MOT_L);
-
 
54
         output_high(MOT_R);
-
 
55
         disp(0xA5);
-
 
56
         SetServo(CASAVR-CASMIN);
-
 
57
         SaveLog(log-1);      // Zapis Black Boxu do EEPROM
-
 
58
         goto cihla; // Znovu zacni cihlu objizdet
-
 
59
         // Pozor! Pamatuje se, jestli jsme uz neprejeli caru!
-
 
60
      };
-
 
61
      
48
      if(!input(IRRX)) // hrozi celni srazka s cihlou v prubehu objizdeni
62
      if(IRRX) // hrozi celni srazka s cihlou v prubehu objizdeni
49
      {
63
      {
50
         cas=CASMIN;
64
         cas=CASMIN;
51
      }
65
      }
52
      else
66
      else
53
      {
67
      {
Line 138... Line 152...
138
 
152
 
139
cara:
153
cara:
140
 
154
 
141
   output_low(MOT_L); // oba motory vpred
155
   output_low(MOT_L); // oba motory vpred
142
   output_low(MOT_R);
156
   output_low(MOT_R);
143
/*
-
 
144
set_pwm1_duty(0);    // vypni motory
-
 
145
set_pwm2_duty(0);
-
 
146
 
-
 
147
SetServo(CASAVR-CASMIN);   // doprostred
-
 
148
 
-
 
149
set_pwm1_duty(255);    // max. vpred
-
 
150
set_pwm2_duty(255);
-
 
151
output_low(MOT_L);
-
 
152
output_low(MOT_R);
-
 
153
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
-
 
154
while(get_timer1()<(odocounter+2)) // Ujed kousek
-
 
155
{
-
 
156
   set_adc_channel(LMAX);    // Levy UV sensor
-
 
157
   delay_us(40);
-
 
158
   if(read_adc()<THR) {cas=CASMIN; break;};  // Prejeli jsme caru vlevo
-
 
159
   set_adc_channel(RMAX);    // Pravy UV sensor
-
 
160
   delay_us(40);
-
 
161
   if(read_adc()<THR) {cas=CASMAX; break;};  // Prejeli jsme caru vpravo
-
 
162
};
-
 
163
*/
-