Bonjour,
je suis en projet depuis un petit mois, et il me reste quelques semaines avant de devoir rendre mon travail.
Ce travail consiste à réaliser un capteur de température avec un LM20, un LCD, un PIC et les composants nécessaires au bon fonctionnement du montage.
Je m'explique : J'ai mon capteur branché sur une patte de mon PIC, le LCD sur d'autres pattes et j'aimerais pouvoir lire la tension reçue (avec ma patte analogique du PIC), la transformer en degrés pour ensuite l'afficher sur mon LCD. Cependant j'ai un problème, lors de mon calcul, je reçois une valeur inimaginable .. Je viens donc ici pour rechercher de l'aide, et non la réponse directement donnée.
Avec ce Code :J'obtiens : une valeur variant entre 2Millions et 13.4Millions ... je doute que celles si soient justesCode:#include <18F2480.h> #device ADC=8 #fuses INTRC #use delay (clock=8000000) #include "LCD_DOG.c" int16 valeur; float32 final, finaltest; float inter1=1.8639, inter2=0.00000388, inter3, inter4; float test1=-11.69, test2=25, test3=1.8663; void init(); void lecture_entree(); void traitement(); void maj_sortie(); void main() { init(); while(1) { lecture_entree(); traitement(); maj_sortie(); delay_ms(500); output_toggle(PIN_B0); } } void init() { setup_adc_ports(AN0,VREF_VREF); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); lcd_init(); } void lecture_entree() { valeur=read_adc(ADC_START_AND_READ); } void traitement() { final=(valeur*0.0085545); //2.4847-0.3 = 2.1814 // 2.1814/255 =0.008554509803 finaltest= final+0.3; } void maj_sortie() { lcd_gotoxy(1, 1); printf(lcd_putc, "Temperature :"); lcd_gotoxy(1, 2); printf(lcd_putc, "%3.1w Celsius", finaltest); lcd_gotoxy(1, 3); printf(lcd_putc, "x Kelvin"); } //AN0 patte analogique du Capteur
Je vous transmet les schémas et datasheets ;
Datasheet capteur : ##### Lien vers la Datasheet incorrect
montage : Pièce jointe 338269
PS : Code C
PS2 : Le capteur étant U2 sur le schéma
Merci d'avance !
-----