Le sketch que je vous donne est une mesure de température et d'humidité par un DHT22
Mon problème est le suivant :
lorsque ces lignes de code se trouvaient dans le Main, la compilation se faisait sans problèmes et tout fonctionnait normalement
Mais lorsque j'ai voulu faire de cette mesure une fonction mesure_temperature séparée, le compilateur m'affiche l'erreur suivante : 'dht' was not declared in this scope
Je n'arrive pas à savoir pourquoi cela fonctionne en tant que lignes de code dans le main mais pas lorsque j'en fait une fonction séparée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 int mesure_temperature(float Temp, float Humidity) { int z = 0; for (z = 1; z < 50; z++) { digitalWrite(pine_provider, LOW); // LED ROUGE eteinte float mesureH = dht.readHumidity(); // Lecture du taux d'humidité Serial.println(mesureH); float mesureT = dht.readTemperature(); // Lecture de la température en Celcius Serial.println(mesureT); if (isnan(mesureH) || isnan(mesureT)) // Stop le programme et renvoie un message d'erreur si le capteur ne renvoie aucune mesure { Serial.println("Echec de lecture !"); return; } moyenneT = moyenneT + mesureT; moyenneH = moyenneH + mesureH; } digitalWrite(pine_provider, HIGH); // LED ROUGE allumée Temp = moyenneT / 49; Humidity = moyenneH / 49; return (Temp, Humidity); } }
Partager