Subversion Repositories svnkaklik

Rev

Rev 204 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
193 kakl 1
// **** Objeti cihly vpravo **** RRRR
2
 
204 kakl 3
set_adc_channel(RMAX);
4
 
193 kakl 5
SetServo(CASMIN);   // max. doleva                 L
6
set_pwm1_duty(0);   // vzad
196 kakl 7
set_pwm2_duty(10);
193 kakl 8
output_low(MOT_L);
9
output_high(MOT_R);
198 kakl 10
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 11
while(get_timer1()<(odocounter+8)); // Popojed definovanou vzdalenost
193 kakl 12
set_pwm1_duty(0);    // reverz (zabrzdi)
13
set_pwm2_duty(255);
14
output_low(MOT_L);
15
output_low(MOT_R);
196 kakl 16
delay_ms(215);
193 kakl 17
brzda();
18
 
207 kakl 19
disp(1);
20
 
193 kakl 21
SetServo((CASAVR-CASMIN));   // rovne              S
196 kakl 22
set_pwm1_duty(160);  // vpred
23
set_pwm2_duty(160);
193 kakl 24
output_low(MOT_L);
25
output_low(MOT_R);
198 kakl 26
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 27
while(get_timer1()<(odocounter+5)); // Popojed definovanou vzdalenost
193 kakl 28
 
207 kakl 29
disp(2);
204 kakl 30
SetServoQ((CASAVR-CASMIN)-20);
198 kakl 31
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 32
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
33
set_pwm1_duty(120);
207 kakl 34
set_pwm2_duty(140);
193 kakl 35
 
207 kakl 36
disp(3);
204 kakl 37
SetServoQ((CASAVR-CASMIN)-30);
198 kakl 38
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 39
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
40
set_pwm1_duty(100);
193 kakl 41
 
207 kakl 42
disp(4);
204 kakl 43
SetServoQ((CASAVR-CASMIN)-60);
198 kakl 44
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 45
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
46
set_pwm1_duty(80);
200 kakl 47
 
207 kakl 48
disp(5);
204 kakl 49
SetServoQ((CASAVR-CASMIN)-40);
50
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
51
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
52
set_pwm1_duty(80);
193 kakl 53
 
207 kakl 54
disp(6);
204 kakl 55
SetServoQ((CASAVR-CASMIN)-70);
198 kakl 56
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 57
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
58
set_pwm1_duty(80);
59
 
207 kakl 60
disp(7);
204 kakl 61
SetServoQ((CASAVR-CASMIN)-60);
62
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
63
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
64
set_pwm1_duty(100);
65
 
207 kakl 66
disp(8);
204 kakl 67
SetServoQ((CASAVR-CASMIN)-30);
68
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
69
while(get_timer1()<(odocounter+4)); // Popojed definovanou vzdalenost
70
set_pwm1_duty(120);
71
 
207 kakl 72
disp(9);
204 kakl 73
SetServoQ((CASAVR-CASMIN));		// Rovne
74
set_pwm1_duty(80);  // vpred
75
set_pwm2_duty(80);
76
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
77
while(get_timer1()<(odocounter+10)) // Popojed definovanou vzdalenos
200 kakl 78
{
204 kakl 79
   if(read_adc()<128) break; // Neprejeli jsme caru?
80
};
193 kakl 81
set_pwm1_duty(0);    // reverz (zabrzdi)
82
set_pwm2_duty(0);
83
output_high(MOT_L);
84
output_high(MOT_R);
204 kakl 85
delay_ms(300);
193 kakl 86
brzda();
87
 
207 kakl 88
disp(10);
200 kakl 89
SetServo(CASMIN);   // max. doleva                 L
90
set_pwm1_duty(0);   // vzad
91
set_pwm2_duty(10);
196 kakl 92
output_low(MOT_L);
200 kakl 93
output_high(MOT_R);
94
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
95
while(get_timer1()<(odocounter+10)) // Popojed definovanou vzdalenost
96
{
204 kakl 97
   if(read_adc()<128) break; // Neprejeli jsme caru?
200 kakl 98
};
207 kakl 99
 
100
disp(11);
202 kakl 101
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
204 kakl 102
while(get_timer1()<(odocounter+3)); // Jeste trochu doprava, aby byla cara mezi krajnimi cidly
200 kakl 103
set_pwm1_duty(0);    // reverz (zabrzdi)
104
set_pwm2_duty(255);
105
output_low(MOT_L);
196 kakl 106
output_low(MOT_R);
200 kakl 107
delay_ms(200);
108
brzda();
196 kakl 109
 
207 kakl 110
disp(12);
200 kakl 111
SetServo((CASAVR-CASMIN));   // rovne              S
204 kakl 112
set_pwm1_duty(255);  // Rozjezd na plny vykon vpred
200 kakl 113
set_pwm2_duty(255);
114
output_low(MOT_L);
115
output_low(MOT_R);
204 kakl 116
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
117
while(get_timer1()<(odocounter+2)) // Uz jedeme? (prekonani sertvacne sily)
118
{
119
   set_adc_channel(LMAX);    // Levy UV sensor
120
   delay_us(40);
121
   if(read_adc()<128) {cas=CASMIN; break;};  // Prejeli jsme caru vlevo
122
   set_adc_channel(RMAX);    // Pravy UV sensor
123
   delay_us(40);
124
   if(read_adc()<128) {cas=CASMAX; break;};  // Prejeli jsme caru vpravo
125
   cas=CASAVR-CASMIN;    // Cara je rovne
126
};
200 kakl 127
 
207 kakl 128
disp(13);
129
//stav=cihla;    // Stav po objeti cihly, uz zadna cihla asi nebude
204 kakl 130
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
131
rr=60;   // Nerozumna rychlost pro rozjeti