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 } } |
+0
-0