Subversion Repositories svnkaklik

Rev

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

Rev 256 Rev 257
Line 35... Line 35...
35
         brzda();
35
         brzda();
36
         goto cihla; // Znovu zacni cihlu objizdet
36
         goto cihla; // Znovu zacni cihlu objizdet
37
      };
37
      };
38
 
38
 
39
      set_pwm1_duty(0);
39
      set_pwm1_duty(0);
40
      set_pwm2_duty(220);     // !!! mozna prilis maly vykon pro rozjezd pro zatuhlou prevodovku
40
      set_pwm2_duty(200);     // !!! mozna prilis maly vykon pro rozjezd pro zatuhlou prevodovku
41
      output_high(MOT_L);     // leve kolo reverz
41
      output_high(MOT_L);     // leve kolo reverz
42
      output_low(MOT_R);      // prave kolo vpred
42
      output_low(MOT_R);      // prave kolo vpred
43
      if(get_timer1()>(odocounter+5))  // konec zatacky?
43
      if(get_timer1()>(odocounter+5))  // konec zatacky?
44
      {
44
      {
45
         disp(0x66);
45
         disp(0x66);
Line 78... Line 78...
78
      }
78
      }
79
      else
79
      else
80
      {
80
      {
81
         if((vzdalenost!=0)||!input(PROXIMITY)||((delta_bearing>60)&&(delta_bearing<128))) // Udrzovani konstantni vzdalenosti od cihly
81
         if((vzdalenost!=0)||!input(PROXIMITY)||((delta_bearing>60)&&(delta_bearing<128))) // Udrzovani konstantni vzdalenosti od cihly
82
         {
82
         {
83
            if(cas>(CASMIN+20)) cas-=20;
83
            if(cas>(CASMIN+30)) cas-=30;
84
         }
84
         }
85
         else
85
         else
86
         {
86
         {
87
            if(cas<(CASMAX-20)) cas+=20;
87
            if(cas<(CASMAX-30)) cas+=30;
88
         };
88
         };
89
      };
89
      };
90
      // Elektronicky diferencial
90
      // Elektronicky diferencial
91
      if(cas<CASAVR) {r1=cas-CASMIN; r2=CASAVR-CASMIN;}; // Normovani vystupni hodnoty radkoveho snimace
91
      if(cas<CASAVR) {r1=cas-CASMIN; r2=CASAVR-CASMIN;}; // Normovani vystupni hodnoty radkoveho snimace
92
      if(cas==CASAVR) {r1=cas-CASMIN; r2=cas-CASMIN;};   // pro rizeni rychlosti motoru
92
      if(cas==CASAVR) {r1=cas-CASMIN; r2=cas-CASMIN;};   // pro rizeni rychlosti motoru
Line 145... Line 145...
145
      if(ridic==na_care) touch=0;
145
      if(ridic==na_care) touch=0;
146
      disp(visualisation);
146
      disp(visualisation);
147
   };
147
   };
148
   disp(0xC3);
148
   disp(0xC3);
149
 
149
 
150
   set_pwm1_duty(20);    //!!! pred zatuhlejma prevodovkama tam bylo 20 a 200
150
   set_pwm1_duty(0);    //!!! pred zatuhlejma prevodovkama tam bylo 20 a 200
151
   set_pwm2_duty(250);
151
   set_pwm2_duty(240);
152
   output_high(MOT_L);
152
   output_high(MOT_L);
153
   output_low(MOT_R);
153
   output_low(MOT_R);
154
   delay_us(40);
154
   delay_us(40);
155
   odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
155
   odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
156
   while (true)  // Znovu se musime dotknout cary
156
   while (true)  // Znovu se musime dotknout cary