1,6 → 1,6 |
//******** Robot Camerus pro IstRobot 2007 ************ |
//"$Id$" |
//***************************************************** |
//***************************************************** |
|
#include ".\camerus.h" |
|
20,7 → 20,7 |
#define MOT_L PIN_B5 // Smer otaceni leveho motoru; druhy pol je RC2 |
#define MOT_R PIN_B6 // Smer otaceni praveho motoru; druhy pol je RC1 |
#define MOT_1 PIN_C1 // PWM vystpy motoru |
#define MOT_2 PIN_C2 // |
#define MOT_2 PIN_C2 // |
#define DATA PIN_B2 // K modulu LEDbar data |
#define CP PIN_B1 // K modulu LEDbar hodiny |
#define ODO PIN_A4 // Ze snimace z odometrie z praveho kola |
52,23 → 52,23 |
|
set_pwm1_duty(0); // vypni PWM |
set_pwm2_duty(0); |
setup_ccp1(CCP_OFF); |
setup_ccp2(CCP_OFF); |
for (n=0;n<150;n++) |
setup_ccp1(CCP_OFF); |
setup_ccp2(CCP_OFF); |
for (n=0;n<255;n++) |
{ |
output_low(MOT_L); |
output_low(MOT_R); |
output_high(MOT_1); |
output_low(MOT_L); |
output_low(MOT_R); |
output_high(MOT_1); |
output_high(MOT_2); |
delay_us(800); |
output_high(MOT_L); |
output_high(MOT_R); |
output_low(MOT_1); |
output_low(MOT_2); |
delay_us(800); |
delay_us(800); |
output_high(MOT_L); |
output_high(MOT_R); |
output_low(MOT_1); |
output_low(MOT_2); |
delay_us(800); |
} |
output_low(MOT_L); // smer vpred |
output_low(MOT_R); |
output_low(MOT_R); |
setup_ccp1(CCP_PWM); // RC1 // PWM pro motory |
setup_ccp2(CCP_PWM); // RC2 |
} |
121,7 → 121,7 |
}; |
|
SetServo((CASAVR-CASMIN)); // rovne |
delay_ms(200); // Doba reverzace |
delay_ms(100); // Doba reverzace |
|
brzda(); |
|
132,7 → 132,9 |
int n; |
|
SetServo(CASMIN); // prudce doleva |
set_pwm1_duty(0); // vpred |
delay_ms(200); |
|
set_pwm1_duty(150); // vpred |
set_pwm2_duty(200); |
output_low(MOT_L); |
output_low(MOT_R); |
142,14 → 144,12 |
while(input(ODO)); |
while(!input(ODO)); |
n++; |
if(n==7) break; |
if(n==5) break; |
} |
set_pwm1_duty(0); // reverz (zabrzdi) |
set_pwm2_duty(0); |
output_low(MOT_L); |
output_high(MOT_L); |
output_high(MOT_R); |
delay_ms(200); |
brzda(); |
|
SetServo((CASAVR-CASMIN)); // rovne |
set_pwm1_duty(140); // vpred |
162,38 → 162,12 |
while(input(ODO)); |
while(!input(ODO)); |
n++; |
if(n==10) break; |
if(n==6) break; |
} |
|
set_pwm1_duty(0); // reverz (zabrzdi) |
set_pwm2_duty(0); |
output_high(MOT_L); |
output_high(MOT_R); |
delay_ms(200); |
brzda(); |
brzda(); |
|
SetServo(CASMIN); // max. doleva |
set_pwm1_duty(0); // vzad |
set_pwm2_duty(20); |
output_low(MOT_L); |
output_high(MOT_R); |
n=0; |
while(true) |
{ |
while(input(ODO)); |
while(!input(ODO)); |
n++; |
if(n==9) break; |
} |
set_pwm1_duty(0); // reverz (zabrzdi) |
set_pwm2_duty(255); |
output_low(MOT_L); |
output_low(MOT_R); |
delay_ms(200); |
|
brzda(); |
|
SetServo((CASAVR-CASMIN)); // rovne |
SetServo((CASAVR-CASMIN)+70); // doprava |
set_pwm1_duty(140); // vpred |
set_pwm2_duty(140); |
output_low(MOT_L); |
204,7 → 178,7 |
while(input(ODO)); |
while(!input(ODO)); |
n++; |
if(n==13) break; |
if(n==6) break; |
} |
|
set_pwm1_duty(0); // reverz (zabrzdi) |
211,9 → 185,10 |
set_pwm2_duty(0); |
output_high(MOT_L); |
output_high(MOT_R); |
delay_ms(200); |
brzda(); |
delay_ms(100); |
|
brzda(); |
|
SetServo(CASMIN); // max. doleva |
set_pwm1_duty(0); // vzad |
set_pwm2_duty(20); |
225,17 → 200,17 |
while(input(ODO)); |
while(!input(ODO)); |
n++; |
if(n==6) break; |
if(n==5) break; |
} |
set_pwm1_duty(0); // reverz (zabrzdi) |
set_pwm2_duty(255); |
output_low(MOT_L); |
output_low(MOT_R); |
delay_ms(200); |
delay_ms(100); |
|
brzda(); |
|
SetServo((CASAVR-CASMIN)); // rovne |
SetServo((CASAVR-CASMIN)+20); // mirne doprava |
set_pwm1_duty(190); // vpred |
set_pwm2_duty(190); |
output_low(MOT_L); |
246,7 → 221,7 |
while(input(ODO)); |
while(!input(ODO)); |
n++; |
if(n==9) break; |
if(n==14) break; |
} |
/* |
set_pwm1_duty(0); // reverz (zabrzdi) |
256,7 → 231,7 |
delay_ms(100); |
*/ |
brzda(); |
|
|
cas=CASMIN; // Cara je vlevo |
|
stav=cihla; |