Probleme de variable dans mon code


#1

Bonjour,

J’avance dans mon programme de thermostat pour chaudière, j’ai une question de dev cette fois :slight_smile:

Voici mon code : https://gist.github.com/ha…/1f1c7859120a89050b81d55dbf6c62ca

J’ai ça pour comparer la temp exterieure a celle voulue :

if (temperature < temp_voulue) {

Mais il me met temp_voulue à 0 . Comment puis-je déclarer cette variable pour qu’elle soit créé dans la fonction BLYNK_WRITE(V10) , et récupérée dans la fonction loop ?

Merci !


#2

Je me répond à moi même ==> quand on déclare une variable, on met son type (int par ex).
Quand on appelle cette variable, on le met PAS ! sinon ça écrase la 1ère déclaration.
Donc on déclare la variable “globale” en la placant à l’exterieur des fonctions, et puis on peut l’appeler dans nos fonctions ==> par ex :

int32 temp_voulue = 18; //temperature de base 


BLYNK_WRITE(V10)
{
  temp_voulue = param.asInt(); // assigning incoming value from pin V10 to a variable

  // process received value
  Serial.println("temperature voulue : ");
  Serial.println(temp_voulue);
}


void loop()
{
Serial.print(temp_voulue);
}

De cette manière on déclare la varible une fois, et dans une boucle on peut remplacer son contenue, et dans une autre l’afficher.

Voila voila :slight_smile: