probleme valeurs humidité + température

défaut humi + température programme final

a marqué ce sujet comme résolu.

Bonjour, j'ai un leger soucis concernant mes composants HCZ-J3 (A) et ma ln345, En effet je fait un systeme qui ouvre ou ferme un moteur selon la valeur de température enregistrée… pour chaque petit programe fait a part pour la températre ou l'humidité tout fonctionne mais j'ai décider de réunir mes 3 programmes en 1 (temp / humi et pilotage du moteur) mais quand j'ouvre ma fenetre pour voir les données récupérées j'ai ma valeur de température qui bug completement et mon humidité qui est constante voyez vous une erreur ? merci beaucoup !

(le moteur est un petit servo-moteur ceux fournis dans les starter kit arduino )

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <Servo.h>

Servo myservo;  

int posfermer = 0;    // variable du servo moteur

int posouvert = 110;

int putPin = A3; // humidity

int tempc = 0,tempf=0; // temperature variables

int samples[8]; // variables to make a better precision

int i;


int thermoPin = A5; // là où est branché le LM35

int tempC;  // température en degrés celcius

int tempK;  // conversion en Kelvin

int reading;  // lecture brute de l'entrée analogique (0 à 1024)



float humi = 0;

float prehum = 0;

float humconst = 0;

float truehum = 0;

float pretruehum = 0; 

long pretruehumconst = 0; 

long valb = 0;

void setup()

{

Serial.begin(9600); // start serial communication

myservo.attach(7);  

}


void loop()

{

{

  // mesure

  reading = analogRead(thermoPin);


  // conversion en celcius

  tempC = round(reading/2);


  // conversion en Kelvin

  tempK = tempC + 273;


}

if (tempC > 34)

{

    // in steps of 1 degree

    myservo.write(posouvert);              // ordonne au servo d'atteindre la position "pos"

    delay(15);                       // attendre 15 ms que le servo atteigne la position

}


else

{

    myservo.write(posfermer);              // ordonne au servo d'atteindre la position "pos"

    delay(15);                       // attendre 15 ms que le servo atteigne la position

}


for(i = 0;i<=7;i++)

{ 


valb = analogRead(putPin); // humidity calculation

prehum = (valb/5);

humconst = (0.16/0.0062);

humi = prehum - humconst;

pretruehumconst = 0.00216*tempc;

pretruehum = 1.0546-pretruehumconst;

truehum = humi/pretruehum ;

delay(500);

Serial.print ("Humidity: ");

Serial.print ((long)truehum);

Serial.println ("% ");

Serial.print(tempC); 

Serial.print("   Celsius           "); 

Serial.print(tempK); 

Serial.println("   Kelvin");


tempc = 0;

delay(500); // delay before loop

}

}
Ce sujet est verrouillé.