Problème dans une fonction
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:
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);
}
} |