Subversion Repositories svnkaklik

Rev

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

Rev 236 Rev 238
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
   stav=cihla; // Dalsi prekazku uz nezaznamenavej (je to s velkou pravdepodobnosti cil)
14
   touch=0;    // Indikator detekce cary pri objizdeni
15
   touch=0;    // Indikator detekce cary pri objizdeni
15
 
16
 
16
cihla:
17
cihla:
17
 
18
 
18
   rr=20;   //!!! Rozumna rychlost pro objizdeni cihly (bylo by lepsi rychlost zvysovat) a pri detekci pohybu zase snizit
19
   rr=RR_CIHLA;   //!!! Rozumna rychlost pro objizdeni cihly (bylo by lepsi rychlost zvysovat) a pri detekci pohybu zase snizit
19
   disp(0x99);
20
   disp(0x99);
20
   set_pwm1_duty(0);    // zabrzdi levym kolem, prave vpred
21
   set_pwm1_duty(0);    // zabrzdi levym kolem, prave vpred
21
   set_pwm2_duty(150);
22
   set_pwm2_duty(150);
22
   output_high(MOT_L);
23
   output_high(MOT_L);
23
   output_low(MOT_R);
24
   output_low(MOT_R);
24
   odocounter=get_timer1();
25
   odocounter=get_timer1();
25
   while(true) // Na zacatku se vyhni cihle, zatoc co muzes
26
   while(true) // Na zacatku se vyhni cihle, zatoc co muzes
26
   {
27
   {
27
      cas=CASMIN-5;       // jeste vic nez hodne do leva
28
      cas=CASMIN-5;       // jeste vic nez hodne do leva
28
 
29
 
-
 
30
      if(BUMPER) // Narazili jsme do cihly, musime couvnout!
-
 
31
      {
-
 
32
         bum();
-
 
33
         SaveLog(log-1);      // Zapis Black Boxu do EEPROM
-
 
34
         goto cihla; // Znovu zacni cihlu objizdet
-
 
35
      };
-
 
36
 
29
      set_pwm1_duty(0);
37
      set_pwm1_duty(0);
30
      set_pwm2_duty(200);
38
      set_pwm2_duty(200);
31
      output_high(MOT_L);     // leve kolo reverz
39
      output_high(MOT_L);     // leve kolo reverz
32
      output_low(MOT_R);      // prave kolo vpred
40
      output_low(MOT_R);      // prave kolo vpred
33
      if(get_timer1()>(odocounter+5))  // konec zatacky?
41
      if(get_timer1()>(odocounter+5))  // konec zatacky?
Line 46... Line 54...
46
   output_low(MOT_R);
54
   output_low(MOT_R);
47
   while(true)
55
   while(true)
48
   {
56
   {
49
      if(BUMPER) // Narazili jsme do cihly, musime couvnout!
57
      if(BUMPER) // Narazili jsme do cihly, musime couvnout!
50
      {
58
      {
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);
59
         bum();
56
         SetServo(CASAVR-CASMIN);
-
 
57
         SaveLog(log-1);      // Zapis Black Boxu do EEPROM
60
         SaveLog(log-1);      // Zapis Black Boxu do EEPROM
58
         goto cihla; // Znovu zacni cihlu objizdet
61
         goto cihla; // Znovu zacni cihlu objizdet
59
         // Pozor! Pamatuje se, jestli jsme uz neprejeli caru!
62
         // Pozor! Pamatuje se, jestli jsme uz neprejeli caru!
60
      };
63
      };
61
 
64