Révision 395
Ajouté par rococcallo il y a plus de 6 ans
branch/Coccallotto/Emb_App/programme_principal_etud.c | ||
---|---|---|
short distance;
|
||
short dismur;
|
||
short trajectoire;
|
||
short vitesse;
|
||
float vitesse;
|
||
short vitesse2;
|
||
short tourelle2;
|
||
short reception;
|
||
float kroues;
|
||
float ktourelle;
|
||
... | ... | |
char capteur;
|
||
short modecourse;
|
||
short stop;
|
||
|
||
short nombtour;
|
||
CanFrame comm;
|
||
CanFrame requete, reponse;
|
||
CanFrame req;
|
||
... | ... | |
void acqroues(void);
|
||
void directionroues(void);
|
||
void valcapt(void);
|
||
void arret(void);
|
||
void arret(void);
|
||
void fin(void);
|
||
void main()
|
||
{
|
||
dismur=700; //distance mesurer par le capteur que l'on garde en constante ici
|
||
... | ... | |
acqroues();
|
||
|
||
directionroues();
|
||
|
||
fin();
|
||
arret();
|
||
|
||
valcapt();
|
||
|
||
vitesse2=ad00;
|
||
tourelle2=ad01;
|
||
|
||
if(modecourse==0 || stop==1){
|
||
vitesse=0;
|
||
dly_tsk(50);
|
||
... | ... | |
}
|
||
else
|
||
{
|
||
|
||
LED_R=0;
|
||
|
||
|
||
if(Bp_M==1){
|
||
vitesse=(ad01/10);
|
||
}
|
||
else{
|
||
switch(valeurpiste){
|
||
case 1: //sur la piste 1
|
||
vitesse=10;
|
||
... | ... | |
}
|
||
break;
|
||
case 3: //sur la piste 3
|
||
vitesse=20;
|
||
vitesse=35;
|
||
switch (couleurcapt){//regarde la couleur du capteur
|
||
case 118:
|
||
if(numero==32){//si le num?ro est 32
|
||
... | ... | |
}
|
||
break;
|
||
case 4: //sur la piste 4
|
||
vitesse=20;
|
||
switch (couleurcapt){ //regarde la couleur du capteur
|
||
|
||
case 86:
|
||
if(numero==1){
|
||
vitesse=65;
|
||
... | ... | |
dismur=715;
|
||
}
|
||
if(numero==2){
|
||
vitesse=10;
|
||
vitesse=8;
|
||
kroues=2;
|
||
commande=700;
|
||
dismur=530;
|
||
dismur=530;
|
||
|
||
}
|
||
if(numero==3){
|
||
vitesse=30;
|
||
vitesse=40;
|
||
kroues=1.8;
|
||
dismur=700; //distance mesurer par le capteur que l'on garde en constante ici
|
||
dismur=700; // distance mesurer par le capteur que l'on garde en constante ici
|
||
commande=450;
|
||
}
|
||
if(numero==4){
|
||
... | ... | |
break;
|
||
case 66:
|
||
if(numero==3){
|
||
vitesse=10;
|
||
vitesse=12;
|
||
kroues=1.6;
|
||
}
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
dly_tsk(15);
|
||
}
|
||
... | ... | |
snd_dtq (CanTx,requete.msg);
|
||
//rcv_dtq (CanRx,&reponse.msg);
|
||
reception=periph[ADDR('R')].val;
|
||
alpha=(ktourelle*(commande-reception)); //asservissement de la commande tourelle
|
||
|
||
if(Bp_M==1){
|
||
alpha=(ktourelle*((2*(ad00-512))-reception)); // si bouton poussoir du milieu activer
|
||
}
|
||
else{
|
||
alpha=(ktourelle*(commande-reception)); //asservissement de la commande tourelle
|
||
}
|
||
comm.data.id='T'; //envoie de la donner du capteur tourelle
|
||
comm.data.rtr=0;
|
||
comm.data.val=alpha; //correcteur du capteur pour l'asserviseement (ici =45?)
|
||
... | ... | |
|
||
void arret(void){
|
||
stop=Bp_G;
|
||
}
|
||
|
||
void fin(void){
|
||
requete.data.id='E'; //demande de reception de la donner du capteur tourelle
|
||
requete.data.rtr=1;
|
||
snd_dtq (CanTx,requete.msg);
|
||
//rcv_dtq (CanRx,&reponse.msg);
|
||
nombtour=periph[ADDR('E')].val;
|
||
}
|
Formats disponibles : Unified diff
commit fin d'année