Salve, mi servirebbe un aiuto in questo programma:
Sivuole linearizzare un sensore di temperatura, che fornisce un'uscita tra0 e 100 mV, mediante una spezzata. Sperimentalmente sono statitrovati
iseguenti punti di ginocchio della spezzata: (20 mV, 15 gradi),
(55mV, 27 gradi). Inoltre a 0 mV si fa corrispondere 0 gradi e a 100 mv
35gradi.
Realizzareun programma che permetta di introdurre da tastiera un valore
ditensione fornito dal sensore, calcoli e stampi il valore ditemperatura
espressoin gradi.
io ho fatto così:
Nei 3 casi ho calcolato le 3 diverse rette passanti per i due punti(che nel primo tratto sono (0,0) e (20,15), nel secondo (20,15) e (55,27) e nel terzo (55,27) e (100, 35), dove sulle ascisse vi è la tensione e sulle ordinate la temperatura.codice:#include <stdio.h> int main() { float tensione, temperatura; printf("Inserisci valore di tensione da 0 a 100 mV "); scanf("%f", &tensione); if (tensione <= 20){ temperatura=((15/20)*tensione); printf("Temperatura= %f", temperatura); } else if (20<tensione<=55){ temperatura= ((12/35)*tensione +(289/35)); printf("temperatura= %f", temperatura); } else if (55<tensione<=100){ temperatura=((8/45)*tensione + (775/45)); printf("temperatura= %f", temperatura); } return 0; }
Però non funge. qualcuno sa dirmi dove sbaglio? Grazie mille.

Rispondi quotando
