Révision 538
Ajouté par rococcallo il y a plus de 6 ans
branch/Coccallotto/Emb_App/programme_principal_etud.c | ||
---|---|---|
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
||
periph_nom("#roco*");
|
||
periph_nom("#roco*");
|
||
|
||
can_init();
|
||
clavier_init(1);
|
||
... | ... | |
arret();
|
||
|
||
valcapt();
|
||
|
||
fincourse();
|
||
|
||
vitesse2=ad00;
|
||
tourelle2=ad01;
|
||
tourelle2=ad00;
|
||
vitesse2=ad01;
|
||
|
||
if(modecourse==0 || stop==1){
|
||
vitesse=0;
|
||
... | ... | |
if(Bp_M==1){
|
||
vitesse=(ad01/10);
|
||
}
|
||
if (nombtour==4){ //quand on a fait 3 tour la voiture s'arrete
|
||
vitesse=0;
|
||
}
|
||
|
||
else{
|
||
switch(valeurpiste){
|
||
case 1: //sur la piste 1
|
||
vitesse=10;
|
||
if(couleurcapt==86){//si le num?ro est 3
|
||
vitesse=70;
|
||
vitesse=73;
|
||
kroues=1;
|
||
}
|
||
else{
|
||
vitesse=35;
|
||
vitesse=34;
|
||
kroues=1.4;
|
||
}
|
||
break;
|
||
... | ... | |
int i;
|
||
i=0;
|
||
distance=dismur;
|
||
LED_J=1;
|
||
|
||
}
|
||
else{
|
||
trajectoire=(kroues*( distance-dismur)); //asservisement pour les roues
|
||
|
||
LED_J=0;
|
||
}
|
||
}
|
||
void directionroues(void)
|
||
... | ... | |
nombtour=periph[ADDR('E')].val;
|
||
}
|
||
|
||
void fincourse(void){
|
||
switch(nombtour){
|
||
case 0:
|
||
if (couleurcapt==68){
|
||
if(numero==5){//lorsque l'on passe la ligne de fin, il incremente le conteur
|
||
nombtour=1;
|
||
}
|
||
}
|
||
break;
|
||
case 1:
|
||
if (couleurcapt==68){
|
||
if(numero==5){
|
||
if(passe==1){
|
||
nombtour=2;
|
||
}
|
||
}
|
||
if(numero==1){//comme ont est pas en temps r?el il faut trouver un moyen de compter les tour en 2 fois
|
||
passe=1;
|
||
}
|
||
}
|
||
break;
|
||
case 2:
|
||
if (couleurcapt==68){
|
||
if(numero==5){
|
||
if(passe==2){
|
||
nombtour=3;
|
||
}
|
||
}
|
||
if(numero==1){//comme ont est pas en temps r?el il faut trouver un moyen de compter les tour en 2 fois
|
||
passe=2;
|
||
}
|
||
}
|
||
break;
|
||
case 3:
|
||
if (couleurcapt==68){
|
||
if(numero==5){
|
||
if(passe==3){
|
||
nombtour=4;
|
||
}
|
||
}
|
||
if(numero==1){//comme ont est pas en temps r?el il faut trouver un moyen de compter les tour en 2 fois
|
||
passe=3;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
|
||
}
|
Formats disponibles : Unified diff
commit fin de semestre, modification de vitesse, test ect...