Bonjour à tous,
je dois créer un programme en C pour un projet scolaire.Hors nous sommes completement autonome et le prof n'est pas d'un grand aide.
Je travaille sur une station météo et je m'occupe de la partie hygrométrie.J'ai dèja effectuer un tableaux pour calculer l'hygrometrie en % pour rapport a une tension avec le formule
Vout= 0.00003(sensor rh)²+0.0281(sensor rh)+0.820
j'ai alors des valeur en pourcentage que j'ai rentré dans un tableau sur le programme.
Je dois effectuer une conversion analogique numérique(8bits) d'une valeur que va relever le capteur d'hygrometrie.Sachant que les valeurs de tension que j'ai obtenue(par simulation, en simuler avec le calcule pour un sensor rh de 1 a 100), j'obtient donc Vout que je convertie en numerique.Pour une hygrometrie de 1% j'ai une valeur numérique de 43...etc.Je dois alors en sortie du convertisseur aller cherche la bonne valeur dans le tableau en fonction de la valeur relever par le capteur hygrometrique sachant que la valeur de base est de 43.Je vous presente le programme que j'ai deja commencé c'est q'un programme dérivée du grand programme qui a été deja réaliser tel que l'initialisation par exemple ( ADCON etc...)
merci de vos aidesCode:#include <pic.h> // Fonction int f_get_hygrometrie(void); // Table de conversion const unsigned char convert[] ={1,1,2,3,3,4,5,6,6,7,8,8,9,10,10,11,12,12,13,14,14,15,16,16,17,18,18,19,20,20,21,22,22,23,24,24,25,26,26,27 ,28,28,29,30,30,31,32,32,33,34,34,35,36,36,37,37,38,39,39,40,41,41,42,43,43,44,44,45,46,46,47,48,48,49,50,50,51,51,52,53,53,54,55,55,56,56, 57,58,58,59,59,60,61,61,62,63,63,64,64,65,66,66,67,67,68,69,69,70,70,71,72,72,73,73,74,75,75,76,76,77,78,78,79,79,80,81,81,82,82,83,84,84,85,85,86,87,87,88,88,89,89,90,91,91,92,92,93,94,94,95,95,96,96,97,98,98,99,99,100,100 }; // Variables unsigned int i_hygrometrie, i_hygrometrie_m1; unsigned char debut; unsigned char conv; unsigned char resu; int f_get_hygrometrie(void) { ADON = 1; GODONE = 1; while(GODONE); conv = ADRESH; ADON = 0; resu = conv + debut; debut = 43; return(convert[1]); }
-----