j'ai refait le schema puis j'ai utiliser le MikroC pour le programme voila le programme que j'ai ecris :
unsigned int niv_bac1;
unsigned int niv_bac2;
void main() {
// Configuration des pins 2 et 3 en analogique
TRISA = 0xFF; // programmtion du PORTA en entrée
TRISB = 0; // programmtion du PORTB en sortie
TRISC = 0; // programmtion du PORTC en sortie
TRISD = 0; // programmtion du PORTD en sortie
option_reg.f7=0;
do {
adcon0=0x80;
niv_bac1= Adc_Read(0); // lecture du niveau de fluide du bac1
portB=niv_bac1>>2; //Afiichage en binaire du niveau de fluide
adcon0=0x88; //du bac1 sur le portB
niv_bac2= Adc_Read(1); // lecture du niveau de fluide du bac2
PORTC = niv_bac2>>2; //Afiichage en binaire du niveau de fluide
//du bac2 sur le portC
} while(1);
}
mais le probléme c'est que sur les barres a led sa maffiche en binaire , alors que je veut en graduation selon le potentiomètre
Les balises code, c'est aussi pour toi ...
C'est juste pour que ton code soit plus lisible.
Un seul ? suffisait pour savoir que tu n'avais pas compris.
Tu cliques sur répondre, dans les icônes disponibles, il y a les balises code pour mettre ton programme.
qui a des suggestion svp
c'est normal, tu convertis et tu envoies sur l'afficheur, c'est donc en binaire.
Si tu veux un affichage progressif, il faut convertir avant.
Tu as 10 pas d'affichage et 1023 pas de conversion.
puré sa veut pas marcher qui a un code adapté svp
const char levels[8] = {23, 52, 81, 110, 139, 168, 197, 226};
char ValToLevel(char val) {
char i = 0;
while (i < sizeof(levels)) {
if (val < levels[i])
return i;
i++;
}
return sizeof(levels);
}