Subversion Repositories svnkaklik

Rev

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

Rev 197 Rev 198
Line 1... Line 1...
1
// **** Objeti cihly vpravo **** RRRR
1
// **** Objeti cihly vpravo **** RRRR
2
 
2
 
3
int n;
-
 
4
 
-
 
5
SetServo(CASMIN);   // max. doleva                 L
3
SetServo(CASMIN);   // max. doleva                 L
6
set_pwm1_duty(0);   // vzad
4
set_pwm1_duty(0);   // vzad
7
set_pwm2_duty(10);
5
set_pwm2_duty(10);
8
output_low(MOT_L);
6
output_low(MOT_L);
9
output_high(MOT_R);
7
output_high(MOT_R);
10
n=0;
-
 
11
while(true)
-
 
12
{
-
 
13
  while(input(ODO));
8
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
14
  while(!input(ODO));
9
while(get_timer1()<odocounter+9); // Popojed definovanou vzdalenost
15
  n++;
-
 
16
  if(n==9) break;
-
 
17
}
-
 
18
set_pwm1_duty(0);    // reverz (zabrzdi)
10
set_pwm1_duty(0);    // reverz (zabrzdi)
19
set_pwm2_duty(255);
11
set_pwm2_duty(255);
20
output_low(MOT_L);
12
output_low(MOT_L);
21
output_low(MOT_R);
13
output_low(MOT_R);
22
delay_ms(215);
14
delay_ms(215);
Line 25... Line 17...
25
SetServo((CASAVR-CASMIN));   // rovne              S
17
SetServo((CASAVR-CASMIN));   // rovne              S
26
set_pwm1_duty(160);  // vpred
18
set_pwm1_duty(160);  // vpred
27
set_pwm2_duty(160);
19
set_pwm2_duty(160);
28
output_low(MOT_L);
20
output_low(MOT_L);
29
output_low(MOT_R);
21
output_low(MOT_R);
30
n=0;
-
 
31
while(true)
-
 
32
{
-
 
33
  while(input(ODO));
22
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
34
  while(!input(ODO));
23
while(get_timer1()<odocounter+10); // Popojed definovanou vzdalenost
35
  n++;
-
 
36
  if(n==10) break;
-
 
37
}
-
 
38
set_pwm1_duty(0);    // reverz (zabrzdi)
24
set_pwm1_duty(0);    // reverz (zabrzdi)
39
set_pwm2_duty(0);
25
set_pwm2_duty(0);
40
output_high(MOT_L);
26
output_high(MOT_L);
41
output_high(MOT_R);
27
output_high(MOT_R);
42
delay_ms(250);
28
delay_ms(250);
Line 45... Line 31...
45
SetServo(CASMIN);   // max. doleva                 L
31
SetServo(CASMIN);   // max. doleva                 L
46
set_pwm1_duty(0);  // vpred
32
set_pwm1_duty(0);  // vpred
47
set_pwm2_duty(220);
33
set_pwm2_duty(220);
48
output_low(MOT_L);
34
output_low(MOT_L);
49
output_low(MOT_R);
35
output_low(MOT_R);
50
n=0;
-
 
51
while(true)
-
 
52
{
-
 
53
  while(input(ODO));
36
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
54
  while(!input(ODO));
37
while(get_timer1()<odocounter+9); // Popojed definovanou vzdalenost
55
  n++;
-
 
56
  if(n==9) break;
-
 
57
}
-
 
58
set_pwm1_duty(0);    // reverz (zabrzdi)
38
set_pwm1_duty(0);    // reverz (zabrzdi)
59
set_pwm2_duty(0);
39
set_pwm2_duty(0);
60
output_low(MOT_L);
40
output_low(MOT_L);
61
output_high(MOT_R);
41
output_high(MOT_R);
62
delay_ms(250);
42
delay_ms(250);
Line 65... Line 45...
65
SetServo((CASAVR-CASMIN));   // rovne              S
45
SetServo((CASAVR-CASMIN));   // rovne              S
66
set_pwm1_duty(160);  // vpred
46
set_pwm1_duty(160);  // vpred
67
set_pwm2_duty(160);
47
set_pwm2_duty(160);
68
output_low(MOT_L);
48
output_low(MOT_L);
69
output_low(MOT_R);
49
output_low(MOT_R);
70
n=0;
-
 
71
while(true)
-
 
72
{
-
 
73
  while(input(ODO));
50
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
74
  while(!input(ODO));
51
while(get_timer1()<odocounter+10); // Popojed definovanou vzdalenost
75
  n++;
-
 
76
  if(n==10) break;
-
 
77
}
-
 
78
set_pwm1_duty(0);    // reverz (zabrzdi)
52
set_pwm1_duty(0);    // reverz (zabrzdi)
79
set_pwm2_duty(0);
53
set_pwm2_duty(0);
80
output_high(MOT_L);
54
output_high(MOT_L);
81
output_high(MOT_R);
55
output_high(MOT_R);
82
delay_ms(250);
56
delay_ms(250);
Line 85... Line 59...
85
SetServo(CASMIN);   // max. doleva                 L
59
SetServo(CASMIN);   // max. doleva                 L
86
set_pwm1_duty(0);  // vpred
60
set_pwm1_duty(0);  // vpred
87
set_pwm2_duty(220);
61
set_pwm2_duty(220);
88
output_low(MOT_L);
62
output_low(MOT_L);
89
output_low(MOT_R);
63
output_low(MOT_R);
90
n=0;
-
 
91
while(true)
-
 
92
{
-
 
93
  while(input(ODO));
64
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
94
  while(!input(ODO));
65
while(get_timer1()<odocounter+7); // Popojed definovanou vzdalenost
95
  n++;
-
 
96
  if(n==7) break;
-
 
97
}
-
 
98
set_pwm1_duty(0);    // reverz (zabrzdi)
66
set_pwm1_duty(0);    // reverz (zabrzdi)
99
set_pwm2_duty(0);
67
set_pwm2_duty(0);
100
output_low(MOT_L);
68
output_low(MOT_L);
101
output_high(MOT_R);
69
output_high(MOT_R);
102
delay_ms(250);
70
delay_ms(250);
Line 105... Line 73...
105
SetServo((CASAVR-CASMIN));   // rovne              S
73
SetServo((CASAVR-CASMIN));   // rovne              S
106
set_pwm1_duty(160);  // vpred
74
set_pwm1_duty(160);  // vpred
107
set_pwm2_duty(160);
75
set_pwm2_duty(160);
108
output_low(MOT_L);
76
output_low(MOT_L);
109
output_low(MOT_R);
77
output_low(MOT_R);
110
n=0;
-
 
111
while(true)
-
 
112
{
-
 
113
  while(input(ODO));
78
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
114
  while(!input(ODO));
79
while(get_timer1()<odocounter+10); // Popojed definovanou vzdalenost
115
  n++;
-
 
116
  if(n==10) break;
-
 
117
}
-
 
118
set_pwm1_duty(0);    // reverz (zabrzdi)
80
set_pwm1_duty(0);    // reverz (zabrzdi)
119
set_pwm2_duty(0);
81
set_pwm2_duty(0);
120
output_high(MOT_L);
82
output_high(MOT_L);
121
output_high(MOT_R);
83
output_high(MOT_R);
122
delay_ms(250);
84
delay_ms(250);
Line 126... Line 88...
126
SetServo(CASMAX);   // max. doprava                R
88
SetServo(CASMAX);   // max. doprava                R
127
set_pwm1_duty(200);  // vpred
89
set_pwm1_duty(200);  // vpred
128
set_pwm2_duty(0);
90
set_pwm2_duty(0);
129
output_low(MOT_L);
91
output_low(MOT_L);
130
output_low(MOT_R);
92
output_low(MOT_R);
131
n=0;
-
 
132
while(true)
-
 
133
{
-
 
134
  while(input(ODO));
93
odocounter=get_timer1();    // Poznamenej aktualni stav odometrie
135
  while(!input(ODO));
94
while(get_timer1()<odocounter+2); // Popojed definovanou vzdalenost
136
  n++;
-
 
137
  if(n==2) break;
-
 
138
}
-
 
139
 
95
 
140
cas=CASMAX;    // Cara je vpravo
96
cas=CASMAX;    // Cara je vpravo
141
 
97
 
142
//!!!!!!!!!!!!!!!!!  stav=cihla;    // Stav po objeti cihly, uz zadna cihla nebude
98
//!!!!!!!!!!!!!!!!!  stav=cihla;    // Stav po objeti cihly, uz zadna cihla nebude