[RESOLU] Plage chauffage aquarium

Bonjour à tous,
j'avais commencé sur l'ancien forum une discussion sur le moyen pour créer une plage de chauffage.
Je m'explique.

Je veux allumer le chauffage de mon aquarium à 24°
chauffer jusqu'à 26°
éteindre le chauffage
attendre que la température soit redescendue à 24° pour rallumer.

Jean-François m'a proposé ça :

if (temperature<=24){
ChauffePin=HIGH;
}

if (temperature>=26){
chauffePin=LOW;
}

le problème est que le chauffage se met à LOW à 25° et donc n'atteint jamais les 26°

Des idées ??

Le code est juste, il s'allume à 24°C et s'éteint à 26°C.

Maintenant tu peux avoir des mesures de température bruitées et donc lire brièvement 26 ou plus et donc arrêter le chauffage trop tôt.

Il faudrait sortir les mesures sur la console pour le vérifier.
Ensuite tu peux faire un filtrage simple en faisant la moyenne sur les dix (ou plus) dernières mesures pour lisser les résultats.

c'est ce que j'ai fait.
j'ai fait un lissage sur un relevé de 30 mesures et et je n'ai pas de pic de température de relevé sur la console.

Dans setup() je doit mettre ma sortie chauffage en LOW ou HIGH ou aucun des deux ??

Dans setup() je doit mettre ma sortie chauffage en LOW ou HIGH ou aucun des deux ??

C'est indifférent.
Si tu initialise à HIGH et que la température est supérieure à 26°C au premier passage dans la boucle cela l'arrêtera
Si tu initialise à HIGH et que la température est inférieure à 24°C au premier passage dans la boucle cela confirmera l'état
Si tu initialise à LOW et que la température est supérieure à 26°C au premier passage dans la boucle cela confirmera l'état
Si tu initialise à LOW et que la température est inférieure à 24°C au premier passage dans la boucle cela allumera le chauffage

Si tu ne mets rien la sortie sera dans l'état fixé par défaut à l'initialisation de l'arduino. Mais c'est toujours bien de savoir dans quel état on démarre donc il vaut mieux mettre un état.

Tu contrôle ta température de quelle manière ?

masterbalby:
chauffer jusqu'à 26°

if (temperature>=26){

chauffePin=LOW;
}




le problème est que le chauffage se met à LOW à 25° et donc n'atteint jamais les 26°

Des idées ??

C'est surement normal. Selon ton code, tu coupe à 26° pile (>=). Donc quand on passe de 25.99° à 26°, ça coupe.

churchill

tu as raison.
je pense que le sujet est clos

Question substantielle : je pense que celle de Jean-François n'est pas anodine, suivant comment tu récupères ton résultat, ça peut avoir de grosse conséquence, notamment si tu récupérer en integer, donc arrondie. Ainsi à 25.51°C (si je me trompe pas dans les arrondis de l'arduino) pour lui ça équivaut à 26°C ...