lBonjour a tous
Je rencontre un petit problème de programmation.
Je programme sous MPLABC18 un pic 18F448
J'utilise dans mon projet 5 capteurs.(CNY70)
Le but est d'allumer les leds quand mon composent passe devant les capteurs
J'aimerais par le biais du CAN réaliser ce programme
Si la tension analogique au borne de mon premier capteur est supérieur à ma tension de référence traduite par 25000 dans le programme alors la led1 s'allume au sinon elle s'éteind
Si la tension analogique au borne de mon deuxième capteur est supérieur à ma tension de référence traduite par 25000 dans le programme alors la led2 s'allume au sinon elle s'éteind
.
.
Si la tension analogique au borne de mon cinquième capteur est supérieur à ma tension de référence traduite par 25000 dans le programme alors la led5 s'allume au sinon elle s'éteind
Voici le programme :
void main(void)
{
TRISA=255;
TRISC=0;
ADCON1=0;
while(1)
{
ADCON0=1;
resultat1=mesVDD2();
if(resultat1>25000)
{
PORTCbits.RC0=1;
}
else
{
PORTCbits.RC0=1;
}
ADCON0=9;
resultat2=mesVDD2();
if(resultat2>25000)
{
PORTCbits.RC1=1;
}
else
{
PORTCbits.RC1=1;
}
ADCON0=17;
resultat3=mesVDD2();
if(resultat3>25000)
{
PORTCbits.RC2=1;
}
else
{
PORTCbits.RC2=1;
}
ADCON0=25;
resultat4=mesVDD2();
if(resultat4>25000)
{
PORTCbits.RC3=1;
}
else
{
PORTCbits.RC3=1;
}
ADCON0=33;
resultat5=mesVDD2();
if(resultat5>25000)
{
PORTCbits.RC4=1;
}
else
{
PORTCbits.RC4=1;
}
}
}
Le problème est le suivant : Quand mon composent passe devant un capteur les 5 Leds s'allument comme bon leur semble 2 en meme temps, 3 en meme temps...
Je pense qu'il y'à un problème au niveau de la selection des voix de conversion car quand j'essaie avec un seul capteur la led s'allume et s'éteind correctement
Merci de bien vouloir m'aider à résoudre ce problème
-----